DCOM Exec
Try Hard Security Group
MMC20.Application
Für weitere Informationen zu dieser Technik überprüfen Sie den Originalbeitrag von https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/
Das Distributed Component Object Model (DCOM) bietet interessante Möglichkeiten für netzwerkbasierte Interaktionen mit Objekten. Microsoft bietet umfassende Dokumentationen sowohl für DCOM als auch für das Component Object Model (COM), die hier für DCOM und hier für COM abrufbar sind. Eine Liste von DCOM-Anwendungen kann mit dem PowerShell-Befehl abgerufen werden:
Der COM-Objekt MMC Application Class (MMC20.Application) ermöglicht das Skripting von MMC-Snap-In-Operationen. Dieses Objekt enthält insbesondere eine ExecuteShellCommand
-Methode unter Document.ActiveView
. Weitere Informationen zu dieser Methode finden Sie hier. Überprüfen Sie dies, indem Sie Folgendes ausführen:
Diese Funktion erleichtert die Ausführung von Befehlen über ein Netzwerk durch eine DCOM-Anwendung. Um remote als Administrator mit DCOM zu interagieren, kann PowerShell wie folgt verwendet werden:
Dieser Befehl verbindet sich mit der DCOM-Anwendung und gibt eine Instanz des COM-Objekts zurück. Die ExecuteShellCommand-Methode kann dann aufgerufen werden, um einen Prozess auf dem Remote-Host auszuführen. Der Prozess umfasst die folgenden Schritte:
Überprüfen von Methoden:
Erhalten Sie RCE:
ShellWindows & ShellBrowserWindow
Für weitere Informationen zu dieser Technik lesen Sie den Originalbeitrag https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Das Objekt MMC20.Application wurde identifiziert, um explizite "LaunchPermissions" zu fehlen, was zu Berechtigungen führt, die Administratoren Zugriff gewähren. Für weitere Details kann ein Thread hier erkundet werden, und die Verwendung von @tiraniddo’s OleView .NET zur Filterung von Objekten ohne explizite Startberechtigung wird empfohlen.
Zwei spezifische Objekte, ShellBrowserWindow
und ShellWindows
, wurden aufgrund ihres Fehlens expliziter Startberechtigungen hervorgehoben. Das Fehlen eines LaunchPermission
-Registrierungseintrags unter HKCR:\AppID\{guid}
bedeutet keine expliziten Berechtigungen.
ShellWindows
Für ShellWindows
, das keine ProgID hat, erleichtern die .NET-Methoden Type.GetTypeFromCLSID
und Activator.CreateInstance
die Objektinstanziierung unter Verwendung seiner AppID. Dieser Prozess nutzt OleView .NET, um die CLSID für ShellWindows
abzurufen. Sobald instanziiert, ist eine Interaktion über die Methode WindowsShell.Item
möglich, was zu Methodenaufrufen wie Document.Application.ShellExecute
führt.
Beispiel-PowerShell-Befehle wurden bereitgestellt, um das Objekt zu instanziieren und Befehle remote auszuführen:
Laterale Bewegung mit Excel DCOM-Objekten
Die laterale Bewegung kann durch die Ausnutzung von DCOM Excel-Objekten erreicht werden. Für detaillierte Informationen empfiehlt es sich, die Diskussion über die Nutzung von Excel DDE für laterale Bewegung über DCOM im Cybereason-Blog zu lesen.
Das Empire-Projekt bietet ein PowerShell-Skript, das die Verwendung von Excel zur Ausführung von Remotecode (RCE) durch Manipulation von DCOM-Objekten demonstriert. Im Folgenden sind Auszüge aus dem Skript auf Empires GitHub-Repository zu sehen, die verschiedene Methoden zur Ausnutzung von Excel für RCE zeigen:
Automatisierungstools für laterale Bewegung
Zwei Tools werden hervorgehoben, um diese Techniken zu automatisieren:
Invoke-DCOM.ps1: Ein PowerShell-Skript, das vom Empire-Projekt bereitgestellt wird und die Ausführung verschiedener Methoden zur Codeausführung auf entfernten Maschinen vereinfacht. Dieses Skript ist im Empire GitHub-Repository verfügbar.
SharpLateral: Ein Tool, das für die Remote-Codeausführung entwickelt wurde und mit dem Befehl verwendet werden kann:
Automatische Tools
Das Powershell-Skript Invoke-DCOM.ps1 ermöglicht es, alle auskommentierten Methoden zum Ausführen von Code auf anderen Maschinen einfach aufzurufen.
Sie könnten auch SharpLateral verwenden:
Referenzen
Try Hard Security Group
Last updated