
D(COM) V(ulnerability) S(canner) AKA tückisches Schweizer Taschenmesser - Lateral Movement mit DCOM-Objekten
Haben Sie sich jemals gefragt, wie Sie sich lateral durch interne Netzwerke bewegen können? Oder mit entfernten Maschinen interagieren können, ohne EDRs zu alarmieren?
Nehmen wir an, wir haben gültige Anmeldedaten oder eine aktive Sitzung mit Zugriff auf eine entfernte Maschine, aber wir haben keine Möglichkeit, einen Prozess remote mit einer bekannten, erwarteten oder stark überwachten Methode auszuführen (z. B. WMI, Task Scheduler, WinRM, PowerShell Remoting).
Das DVS-Framework kommt in diesen Szenarien zur Rettung.
Das DVS-Framework ist ein Schweizer Taschenmesser, mit dem Sie anfällige Funktionen von entfernten DCOM-Objekten enumerieren, starten und sogar Angriffe mit ihnen starten können.
Das Framework wird mit einer "Red Team"-Denkweise entwickelt und verwendet Stealth-Methoden, um entfernte Maschinen zu kompromittieren.
Das DVS-Framework enthält verschiedene Möglichkeiten, die Härtung von DCOM remote zu umgehen, indem der DCOM-Zugriff remote wiederhergestellt und dem angreifenden Benutzer automatisch die erforderlichen Berechtigungen erteilt werden.
Das Framework kann auch Änderungen an der entfernten Maschine auf ihren ursprünglichen Zustand vor dem Angriff zurücksetzen und diese Änderungen vor Verteidigern verbergen.
Unsere Haupterkenntnis ist, dass das Tool auch Befehle mit nicht anfälligen DCOM-Objekten über eine aqsome-Technik ausführen kann (Lesen Sie unten über Invoke-RegisterRemoteSchema).
Kompatibel mit PowerShell 2.0 und höher
YouTube-Video PoC: DVS
Dieses Tool dient nur zu Test- und Bildungszwecken. Jede andere Nutzung dieses Codes ist nicht gestattet. Verwendung auf eigene Gefahr.
Der Autor übernimmt KEINE Verantwortung für Missbrauch dieses Tools.
Durch die Nutzung akzeptieren Sie, dass jeglicher Schaden, der durch die Verwendung dieses Tools entsteht, Ihre Verantwortung ist.
Remote-Registry-Zugriff (MS-RRP)
AutoGrant-Modus markiert ist, Schreibberechtigungen prüfen, andernfalls Leseberechtigungen prüfenStandard Registry Provider (Wenn Remote-Registry verweigert)
StdRegProv zugänglich istAutoGrant-Modus markiert ist, Schreibberechtigungen prüfen, andernfalls Leseberechtigungen prüfenDas DVS-Tool prüft zunächst, ob die principal-identity über die folgenden Schritte Zugriff auf die entfernte Maschine hat:
Basisaktionen
SkipRegAuth nicht markiert ist)
AutoGrant markiert), andernfalls Fehleradsi/WindowsIdentity-Feature), berechtigt sind, mit dem DCOM zu interagieren (über entfernte Registry-Abfragen)AutoGrant markiert), andernfalls FehlerHKLM- oder HKCU-Hives)Invoke-DCOMObjectScan
Get-ExecutionCommand
Invoke-ExecutionCommand
Invoke-RegisterRemoteSchema
git clone https://github.com/ScorpionesLabs/DVS
powershell -ep bypass
PS> Import-Module .\DVS.psm1
PS> Get-Help Invoke-DCOMObjectScan -Detailed # Get details of the Invoke-DCOMObjectScan command
PS> Get-Help Get-ExecutionCommand -Detailed # Get details of the Get-ExecutionCommand command
PS> Get-Help Invoke-ExecutionCommand -Detailed # Get details of the Invoke-ExecutionCommand command
PS> Get-Help Invoke-RegisterRemoteSchema -Detailed # Get details of the Invoke-RegisterRemoteSchema command
Die Funktion Invoke-DCOMObjectScan ermöglicht es Ihnen, DCOM-Objekte zu scannen und anfällige Funktionen über eine Liste von Mustern oder genauen Funktionsnamen zu finden, die Sie in eine Datei aufgenommen haben.
Beispiele:
Enumeriert und scannt das MMC20.Application (ProgID)-Objekt von der Angreifermaschine zum DC01-Host, ohne die Registry abzufragen.
Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipRegAuth -Username "lab\administrator" -Password "Aa123456!" -Verbose
Hinweis: Das Tool analysiert keine ACL-Berechtigungen. Wenn das Tool erfolgreich ist, löst es alle Informationen über das Objekt auf, mit Ausnahme der in der Registry genannten Details (wie Objektname, ausführbare Datei usw.).