DCOM Exec
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
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 eine interessante Möglichkeit für netzwerkbasierte Interaktionen mit Objekten. Microsoft stellt umfassende Dokumentationen sowohl für DCOM als auch für das Component Object Model (COM) zur Verfügung, die hier für DCOM und hier für COM zugänglich sind. Eine Liste von DCOM-Anwendungen kann mit dem PowerShell-Befehl abgerufen werden:
Das COM-Objekt, MMC Application Class (MMC20.Application), ermöglicht das Scripting von MMC-Snap-In-Operationen. Bemerkenswerterweise enthält dieses Objekt eine ExecuteShellCommand
-Methode unter Document.ActiveView
. Weitere Informationen zu dieser Methode finden Sie hier. Überprüfen Sie es in der Ausführung:
Diese Funktion erleichtert die Ausführung von Befehlen über ein Netzwerk durch eine DCOM-Anwendung. Um remote mit DCOM als Administrator 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:
Check methods:
Erhalte RCE:
Für weitere Informationen zu dieser Technik siehe den ursprünglichen Beitrag https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/
Das MMC20.Application-Objekt wurde als mangelhaft in Bezug auf explizite "LaunchPermissions" identifiziert, was zu Berechtigungen führt, die Administratoren den Zugriff erlauben. Für weitere Details kann ein Thread hier erkundet werden, und die Verwendung von @tiraniddo’s OleView .NET zum Filtern von Objekten ohne explizite Launch Permission wird empfohlen.
Zwei spezifische Objekte, ShellBrowserWindow
und ShellWindows
, wurden aufgrund ihres Fehlens an expliziten Launch Permissions hervorgehoben. Das Fehlen eines LaunchPermission
-Registryeintrags unter HKCR:\AppID\{guid}
bedeutet, dass keine expliziten Berechtigungen vorhanden sind.
Für ShellWindows
, das keinen ProgID hat, ermöglichen 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. Nach der Instanziierung ist die 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 kann durch das Ausnutzen von DCOM Excel-Objekten erreicht werden. Für detaillierte Informationen ist es ratsam, die Diskussion über die Nutzung von Excel DDE für laterale Bewegung über DCOM auf Cybereason's Blog zu lesen.
Das Empire-Projekt bietet ein PowerShell-Skript, das die Nutzung von Excel für Remote Code Execution (RCE) durch Manipulation von DCOM-Objekten demonstriert. Nachfolgend sind Ausschnitte aus dem Skript verfügbar auf Empire's GitHub-Repository, die verschiedene Methoden zur Ausnutzung von Excel für RCE zeigen:
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 zum Ausführen von Code auf Remote-Maschinen vereinfacht. Dieses Skript ist im Empire GitHub-Repository verfügbar.
SharpLateral: Ein Tool, das zum Ausführen von Code aus der Ferne entwickelt wurde und mit dem Befehl verwendet werden kann:
Das Powershell-Skript Invoke-DCOM.ps1 ermöglicht es, alle kommentierten Methoden zum Ausführen von Code auf anderen Maschinen einfach aufzurufen.
Sie könnten auch SharpLateral verwenden:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)