
CVE-2017-7269の教育用エクスプロイト再現。IIS 6.0 WebDAVのバッファオーバーフローで、セットアップガイド、脆弱性分析、Windows Server 2003 R2でのMetasploit悪用試行を含みます。
名前 : Killian Munt-Buron と Naji Ullah Abbasi
CVE-2017-7269 は、Microsoft Windows Server 2003 R2 におけるバッファオーバーフローの脆弱性です。
この脆弱性は、WebDAV 内の ScStoragePathFromUrl 関数に存在します。
この脆弱性により、長いヘッダーを介して任意のコードを実行できる可能性があります。
ヘッダーは if: <http:// で始まります。
ISO ファイルを使用します (ダウンロードリンク : https://archive.org/details/en_windows_server_2003_standard)
コントロール パネル => プログラムの追加と削除 = > Windows コンポーネントの追加と削除
アプリケーション サーバーを選択し、[詳細] をクリックします。
インターネット インフォメーション サービス (IIS) を選択します。
[共通ファイル] と [World Wide Web サービス] が選択されていることを確認します。
IIS がインストールされていることを確認するには、イーサネット エクスプローラーでこの URL を開きます: http://localhost/
指示どおりに進めた場合は、次の画面が表示されます:

インターネット インフォメーション サービス マネージャーに移動します => デバイス名をクリックします => Web サービス拡張に移動します => WebDAV を右クリックして [許可] を選択します

攻撃者マシンとして、Ubuntu VM があります:

そして、被害者として、Windows VM があります:

攻撃者マシンから、Nmap を使用して被害者を確認できます:

脆弱性を再現しようとしましたが、問題が発生しました。
被害者マシンに /webdav ディレクトリを作成します。

そして、読み取り、書き込み、ディレクトリ参照のフォルダー権限を追加します:

WebDAV クライアントである cadaver を使用すると、通信が機能していることを確認できます:


まず、サーバーが PROFIND リクエストに応答するかどうかを確認するスクリプトを使用します:
import socket
host = "192.168.79.153"
port = 80
request = (
"PROPFIND /webdav/ HTTP/1.1\r\n"
"Host: {host}\r\n"
"Content-Length: 0\r\n"
"Content-Type: text/xml\r\n"
"Depth: 0\r\n"
"Translate: f\r\n"
"\r\n"
).format(host=host)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.send(request.encode())
response = s.recv(4096)
s.close()
print(response.decode())
次の結果が得られます:
killian@vmlinux:~$ python3 mis3.py
HTTP/1.1 207 Multi-Status
Date: Sun, 18 Jan 2026 19:22:56 GMT
Server: Microsoft-IIS/6.0
Content-Type: text/xml
Transfer-Encoding: chunked
その後、Metasploit を使用してバッファオーバーフローを生成します:

しかし、Internet Information Services (IIS) で問題が発生しました。
ログには次のように記録されています: