DCOM Exec
Last updated
Last updated
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Vir meer inligting oor hierdie tegniek, kyk die oorspronklike pos van https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
Distributed Component Object Model (DCOM) objekke bied 'n interessante vermoë vir netwerk-gebaseerde interaksies met objekke. Microsoft bied omvattende dokumentasie vir beide DCOM en Component Object Model (COM), beskikbaar hier vir DCOM en hier vir COM. 'n Lys van DCOM toepassings kan verkry word met die PowerShell opdrag:
Die COM-objek, MMC Application Class (MMC20.Application), stel die skripting van MMC-snap-in operasies in staat. Opmerklik is dat hierdie objek 'n ExecuteShellCommand
metode onder Document.ActiveView
bevat. Meer inligting oor hierdie metode kan hier gevind word. Kontroleer dit wat dit uitvoer:
Hierdie funksie fasiliteer die uitvoering van opdragte oor 'n netwerk deur 'n DCOM-toepassing. Om met DCOM op afstand as 'n admin te kommunikeer, kan PowerShell soos volg gebruik word:
Hierdie opdrag maak verbinding met die DCOM-toepassing en keer 'n instansie van die COM-objek terug. Die ExecuteShellCommand-metode kan dan aangeroep word om 'n proses op die afstandsbediener uit te voer. Die proses behels die volgende stappe:
Kontroleer metodes:
Kry RCE:
Vir meer inligting oor hierdie tegniek, kyk na die oorspronklike pos https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Die MMC20.Application objek is geïdentifiseer as dat dit nie eksplisiete "LaunchPermissions" het nie, wat standaard na toestemmings wat Administrators toegang gee, terugval. Vir verdere besonderhede kan 'n draad ondersoek word hier, en die gebruik van @tiraniddo’s OleView .NET vir die filtrering van objekte sonder eksplisiete Launch Permission word aanbeveel.
Twee spesifieke objekte, ShellBrowserWindow
en ShellWindows
, is beklemtoon weens hul gebrek aan eksplisiete Launch Permissions. Die afwesigheid van 'n LaunchPermission
registrasie-invoer onder HKCR:\AppID\{guid}
dui op geen eksplisiete toestemmings nie.
Vir ShellWindows
, wat 'n ProgID ontbreek, fasiliteer die .NET metodes Type.GetTypeFromCLSID
en Activator.CreateInstance
objekinstansie met behulp van sy AppID. Hierdie proses benut OleView .NET om die CLSID vir ShellWindows
te verkry. Sodra dit geïnstantieer is, is interaksie moontlik deur die WindowsShell.Item
metode, wat lei tot metode-aanroep soos Document.Application.ShellExecute
.
Voorbeeld PowerShell-opdragte is verskaf om die objek te instansieer en opdragte op afstand uit te voer:
Laterale beweging kan bereik word deur DCOM Excel-objekte te benut. Vir gedetailleerde inligting is dit raadsaam om die bespreking oor die benutting van Excel DDE vir laterale beweging via DCOM op Cybereason se blog te lees.
Die Empire-projek bied 'n PowerShell-skrip, wat die gebruik van Excel vir afstandkode-uitvoering (RCE) demonstreer deur DCOM-objekte te manipuleer. Hieronder is snitte van die skrip beskikbaar op Empire se GitHub-bewaarplek, wat verskillende metodes toon om Excel vir RCE te misbruik:
Twee toestelle word beklemtoon vir die outomatisering van hierdie tegnieke:
Invoke-DCOM.ps1: 'n PowerShell-skrip wat deur die Empire-projek verskaf word en die oproep van verskillende metodes vir die uitvoering van kode op afstandmasjiene vereenvoudig. Hierdie skrip is beskikbaar by die Empire GitHub-bewaarplek.
SharpLateral: 'n Toestel ontwerp om kode op afstand uit te voer, wat gebruik kan word met die opdrag:
Die Powershell-skrip Invoke-DCOM.ps1 maak dit maklik om al die kommentaar maniere aan te roep om kode op ander masjiene uit te voer.
Jy kan ook SharpLateral gebruik:
Leer & oefen AWS Hacking:HackTricks Opleiding AWS Red Team Expert (ARTE) Leer & oefen GCP Hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)