
DCOM と DLL ハイジャッキングを使用した横移動
私たちは最近、DLL ハイジャックの影響を受ける以下の DCOM クラスを発見しました。攻撃者が関連するパスに書き込める場合、COM オブジェクトをインスタンス化することで横移動が可能になります。一部のクラスには、ここに記載されていない追加の DLL ハイジャックの機会もあります。
| クラス | DLL パス | プロセス | アーキテクチャ |
|---|---|---|---|
| WordPad Document | C:\Program Files\Windows NT\Accessories\XmlLite.dll | wordpad.exe | x64 |
| CLSID_ContactReadingPane | C:\Program Files\Common Files\System\UxTheme.dll | prevhost.exe | x64 |
| User OOBE Create Elevated Object Server | C:\Windows\System32\oobe\USERENV.dll | dllhost.exe | x64 |
| MSDAINITIALIZE* | C:\Program Files\Common Files\System\Ole DB\bcrypt.dll | dllhost.exe | x64 |
| ShapeCollector Class | C:\Program Files\Common Files\Microsoft Shared\ink\DUI70.dll | ShapeCollector.exe | x64 |
| Microsoft WBEM Unsecured Apartment | C:\Windows\System32\wbem\wbemcomn.dll | unsecapp.exe | x64 |
| Microsoft WBEM Active Scripting Event Consumer Provider | C:\Windows\System32\wbem\wbemcomn.dll | scrcons.exe | x64 |
| Voice Toast Callback* | C:\Windows\System32\WinBioPlugIns\MFPlat.dll | svchost.exe | x64 |
| Add to Windows Media Player list | C:\Program Files (x86)\Windows Media Player\ATL.dll | setup_wm.exe | x86 |
| Windows Media Player Burn Audio CD Handler | C:\Program Files (x86)\Windows Media Player\PROPSYS.dll | wmplayer.exe | x86 |
* Windows 11 および Windows Server 2022 のみ
このリポジトリには、DLL をコピーして COM オブジェクトをインスタンス化するための Cobalt Strike BOF と Impacket スクリプト が含まれています。エクスポート定義 と 基本的な DLL テンプレート も含まれています。
テスト用の簡単な DLL テンプレートが含まれています。必要なエクスポートフォワードはバージョンによって若干変化し、ハイジャックが壊れることがあります。対象 DLL のエクスポート定義を生成するためのユーティリティスクリプト が含まれています。Windows Server 2022/11 および 10 用の定義ファイルは exports ディレクトリにあります。Makefile の最初の行を編集して、エクスポートディレクトリ名を指定できます。特定のバージョンの Windows の DLL を探している場合は、Winbindex が優れたリソースです。
どちらの実装でも、次の短縮クラス名のいずれかを指定する必要があります:
upload-dll <class name> <target IP or hostname> [DLL path]
create-object <class name> <target IP or hostname>
dcomhijack.py -object <class name> [[domain/]username[:password]@]<targetName or address>
BOF と Impacket スクリプトは、以下の Windows バージョン/アーキテクチャに対してテストされています: