
Mouvement latéral à l'aide de DCOM et du détournement de DLL
Nous avons récemment découvert les classes DCOM suivantes qui sont sujettes au détournement de DLL. Si un attaquant peut écrire dans le chemin associé, il peut se déplacer latéralement en instanciant l'objet COM. Certaines classes offrent des opportunités supplémentaires de détournement de DLL non listées ici.
| Classe | Chemin DLL | Processus | Architecture |
|---|
| 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 et Windows Server 2022 uniquement
Ce dépôt inclut un BOF Cobalt Strike et un script Impacket pour copier la DLL et instancier l'objet COM. Des définitions d'exportation et un modèle DLL de base sont également inclus.
Un modèle DLL simple est inclus pour les tests. Les redirections d'export requises changent légèrement selon les versions, cassant parfois le détournement. Un script utilitaire a été inclus pour générer les définitions d'exportation d'une DLL cible. Les fichiers de définition pour Windows Server 2022/11 et 10 sont fournis dans le répertoire exports. Vous pouvez modifier la première ligne du Makefile pour spécifier le nom du répertoire d'exportation. Si vous recherchez une DLL d'une version spécifique de Windows, Winbindex est une excellente ressource.
Les deux implémentations nécessitent de spécifier l'un des noms de classes abrégés suivants :
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>
Le BOF et le script Impacket ont été testés sur les versions/architectures Windows suivantes :