
Movimento Laterale tramite DCOM e DLL Hijacking
Abbiamo recentemente scoperto le seguenti classi DCOM soggette a DLL hijacking. Se un attaccante può scrivere nel percorso associato, può spostarsi lateralmente istanziando l'oggetto COM. Alcune classi hanno ulteriori opportunità di DLL hijacking non elencate qui.
| Classe | Percorso DLL | Processo | Architettura |
|---|---|---|---|
| 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 |
* Solo Windows 11 e Windows Server 2022
Questo repository include un Cobalt Strike BOF e uno script Impacket per copiare la DLL e istanziare l'oggetto COM. Sono incluse anche le definizioni di export e un template DLL di base.
Un semplice template DLL è incluso per i test. I forward di export richiesti cambiano leggermente tra le versioni, rompendo a volte l'hijack. È incluso uno script di utilità per generare le definizioni di export per una DLL target. I file di definizione per Windows Server 2022/11 e 10 sono forniti nella directory exports. Puoi modificare la prima riga del Makefile per specificare il nome della directory di export. Se stai cercando una DLL di una versione specifica di Windows, Winbindex è un'ottima risorsa.
Entrambe le implementazioni richiedono di specificare uno dei seguenti nomi di classe abbreviati:
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>
Il BOF e lo script Impacket sono stati testati sulle seguenti versioni/architetture di Windows: