Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
DCOMrade — PowerShell-Skript zum Aufzählen angreifbarer DCOM-Anwendungen | Kitploit
Tools/GitHubGitHub/sud0woodo/dcomrade
SchwachstellenanalyseLaterale BewegungPost-ExploitationPenetrationstestsRed Teaming
GitHubsud0woodo/dcomrade

DCOMrade

PowerShell-Skript zum Aufzählen angreifbarer DCOM-Anwendungen

Repository anzeigen
264414vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

DCOMrade

DCOMrade ist ein Powershell-Skript, das in der Lage ist, die möglicherweise anfälligen DCOM-Anwendungen aufzulisten, die laterale Bewegungen, Codeausführung, Datenexfiltration usw. ermöglichen könnten. Das Skript ist für Powershell 2.0 entwickelt, funktioniert aber auch mit allen höheren Versionen. Das Skript unterstützt derzeit die folgenden Windows-Betriebssysteme (sowohl x86 als auch x64):

  • Microsoft Windows 7
  • Microsoft Windows 10
  • Microsoft Windows Server 2012 / 2012 R2
  • Microsoft Windows Server 2016

Hintergrund

Ich absolviere derzeit ein Praktikum bei HackDefense und erforsche bestehende DCOM-Lateral-Movement-Techniken. Ich versuche, einen Weg zu finden, die Aufzählung dieser (und möglicherweise neuer Techniken) zu automatisieren. Die Forschung führte zur Erstellung dieses Skripts und des dazugehörigen Forschungspapiers, das unten verlinkt ist.

Funktionsweise

Das Skript basiert auf der Forschung von Matt Nelson (@enigma0x3), insbesondere auf dem round 2 Blogbeitrag, der sich mit dem Auffinden von DCOM-Anwendungen befasst, die für Pentester und Red Teams nützlich sein könnten.

Zunächst wird eine Remote-Verbindung zum Zielsystem hergestellt, die im gesamten Skript für eine Vielzahl von Operationen verwendet wird. Auf dem Zielsystem wird ein Powershell-Befehl ausgeführt, der alle DCOM-Anwendungen und ihre AppID's abruft. Die AppID's werden verwendet, um die Windows-Registry zu durchlaufen und nach AppID's zu suchen, die in ihrem Eintrag keinen LaunchPermission-Unterschlüssel gesetzt haben. Diese AppID's werden gespeichert und verwendet, um die zugehörigen CLSID's abzurufen.

Das Skript verwendet eine spezifische Blacklist für jedes Betriebssystem, weshalb es verschiedene Optionen für das Zielbetriebssystem gibt. Die Blacklist überspringt CLSID-Einträge, die das Skript aufgrund von DCOM-Anwendungen, die nicht aktiviert werden können, zum Absturz bringen könnten. Dies reduziert die Belastung des Zielsystems und die Zeit, die das Skript zur Fertigstellung benötigt.

Tool herunterladen

Mit der CLSID kann die zugehörige DCOM-Anwendung aktiviert werden. Die 'Shortcut'-CLSID wird verwendet, um die Anzahl der zugehörigen MemberTypes zu zählen. Dies dient zur Überprüfung der Standardanzahl von MemberTypes. Diese Zahl wird verwendet, um nach CLSID's zu suchen, die eine andere Anzahl enthalten. Das Skript macht dies mit der CLSID der 'Shortcut'-Verknüpfung (HKEY_CLASSES_ROOT\CLSID\{00021401-0000-0000-C000-000000000046}), da dies eine gemeinsam genutzte CLSID über alle Microsoft Windows-Betriebssysteme hinweg ist. Die CLSID's mit einer abweichenden Anzahl von MemberTypes könnten eine Method oder Property enthalten, die (miss)braucht werden kann, und werden zu einem Array hinzugefügt.

Die CLSID's im Array werden auf Zeichenfolgen in den MemberTypes überprüft, die auf eine Möglichkeit zur (Miss)brauch hinweisen könnten. Diese Liste von Zeichenfolgen befindet sich in der Datei VulnerableSubset. Bitte beachten Sie, dass diese Liste keineswegs eine vollständige Liste ist, um jede einzelne anfällige DCOM-Anwendung zu finden. Da die Liste jedoch ein dynamischer Teil des Prozesses ist, sollte sie dem Benutzer des Skripts eine Möglichkeit bieten, nach bestimmten Zeichenfolgen zu suchen, die auf eine Funktionalität einer DCOM-Anwendung hinweisen, die für seinen Zweck nützlich sein könnte.

Die Ergebnisse des Skripts werden in einem HTML-Bericht ausgegeben und sollten zur Überwachung eines Systems als vorbeugende Maßnahme verwendbar sein. Für die offensive Seite habe ich ein Empire-Modul erstellt, das zum Zeitpunkt der Erstellung dieses Textes auf die Genehmigung wartet, in den Master-Zweig aufgenommen zu werden. Wenn Sie dies selbst zu Empire hinzufügen möchten, können Sie das Modul hier hinzufügen.

Eine vollständige technische Erklärung der Idee, des Skripts und möglicher Erkennungsmethoden finden Sie in dem zugehörigen Forschungspapier.

Voraussetzungen

Das Skript hat, wenn es nicht als Empire-Modul verwendet wird, einige Einschränkungen, da die Arbeitsweise des Skripts und die Verbindung zum Zielgerät unterschiedlich sind.

  • Damit dieses Skript funktioniert, müssen die Windows-Remoteverwaltungsdienste in der Windows-Firewall erlaubt sein (5985);
  • Wenn das Netzwerkprofil des Zielsystems auf Public gesetzt ist, muss der folgende Befehl ausgeführt werden, um die Verwendung der Windows-Remoteverwaltungsdienste auf dem Zielsystem zu erlauben: Enable-PSRemoting -SkipNetworkProfilecheck -Force
  • Dieses Skript funktioniert nur, wenn man die Anmeldeinformationen eines lokalen Administrators auf dem Zielsystem besitzt. Ohne diese Anmeldeinformationen kann man keine Remotesitzung mit dem Zielgerät starten oder DCOM-Anwendungen aktivieren.

Beispielverwendung

In einer Microsoft Windows-Domäne:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System] -Domain [Domain name]

Außerhalb einer Microsoft Windows-Domäne:

root@kitploit:~
.\DCOMrade.ps1 -ComputerName [Computername / IP] -User [Local Administrator] -OS [Operating System]

Einschränkungen

  • Derzeit versucht das Skript, instanziierte / aktivierte DCOM-Anwendungen freizugeben, aber einige Aktivierungen starten neue Prozesse (wie Internet Explorer). Der Prozess könnte gestoppt werden, aber das würde bedeuten, dass wenn ein Benutzer auf dem Zielsystem diese bestimmte Anwendung verwendet, dieser Prozess für ihn ebenfalls gestoppt würde;
  • Ein weiterer Punkt, der wahrscheinlich auf meine mangelnden Programmierfähigkeiten zurückzuführen ist, ist, dass das Skript eine erhebliche Belastung des Zielsystems verursachen kann, wenn das Zielsystem nicht über viele Ressourcen verfügt. Seien Sie rücksichtsvoll, wenn Sie dies in einer Produktionsumgebung oder auf Servern verwenden;
  • Das Skript benötigt möglicherweise einige Zeit, um vollständig ausgeführt zu werden. Dies hängt von der Anzahl der DCOM-Anwendungen und der Größe der Datei mit der anfälligen Teilmenge ab.

Danksagungen

Dieses Skript wurde von einem DCOM-Lateral-Movement-Workshop inspiriert, der von Eva Tanaskoska gegeben wurde. Ohne diesen Workshop wäre die gesamte Idee, dies auf automatisierte Weise zu enumerieren, nie entstanden.

Dank der Forschung von Matt Nelson (auch bekannt als @enigma0x3) konnte ich genügend Informationen finden, um eine Form der Automatisierung zu entwickeln.

Philip Tsukermans Artikel, der die meisten verfügbaren DCOM-Techniken für laterale Bewegungen zusammenfasst und darauf eingeht, wie diese funktionieren.