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
acCOMplice — Werkzeuge zur Erkennung und Ausnutzung von COM-Hijacks | Kitploit
Tools/GitHubGitHub/nccgroup/accomplice
PersistenzmechanismenPost-ExploitationRed TeamingPayload-Entwicklung
GitHubnccgroup/accomplice

acCOMplice

Werkzeuge zur Erkennung und Ausnutzung von COM-Hijacks

Repository anzeigen
33951vor 6 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

acCOMplice

Ihr Komplize für COM-Hijacking

Author: David Tulis (@kafkaesqu3)

Übersicht

Dieses Repository enthält Codebeispiele und Proofs-of-Concept zur Erkundung von COM-Hijacking. COM-Hijacking ist eine Windows-Post-Exploitation-Technik, die für Persistenz oder zur Umgehung von Verteidigungsmaßnahmen (Defense Evasion) eingesetzt werden kann.

Weitere Informationen zur COM-Schnittstelle, zum Auffinden von Hijacks und zu Techniken für den Missbrauch eines Hijacks finden Sie im Vortrag auf der Derbycon 9, COM Hijacking Techniques.

  • Folien: https://www.slideshare.net/DavidTulis1/com-hijacking-techniques-derbycon-2019
  • Vortrag: https://www.youtube.com/watch?v=pH14BvUiTLY

Projekt

  • COMHijackToolkit: Powershell-Skript mit Hilfsskripten für den Umgang mit COM-Hijacks. Kurze Highlights:
    • Extract-HijackableKeysFromProcmonCSV: parst einen Procmon-CSV-Export nach hijackbaren Objekten
    • Hijack-CLSID: Hijackt eine CLSID mit einer angegebenen DLL
    • Hijack-MultipleKeys: Hijackt mehrere CLSDs gleichzeitig mit einer angegebenen DLL. Dies ist nützlich, um CLSIDs zu finden, die häufig aktiviert werden
  • InjectionTemplates: 3 Vorlagen, die in der Derbycon-Präsentation demonstriert wurden
    • Erstellt einen neuen Prozess mit CreateProcess
    • Injiziert in einen bestehenden Prozess mit CreateRemoteThread
    • Misst die Lebensdauer von Threads im aktuellen Prozess mit CreateThread
  • COMinject: Proof of Concept, der zeigt, wie COM-Hijacks für Prozessinjektionen/-migrationen genutzt werden können
  • masterkeys.csv: Einige Schlüssel zum Herumspielen
  • procmon-filters: Filter für Procmon zur Unterstützung bei der Identifizierung und Ausnutzung von Hijacks

Beispiele

COMHijackToolkit

Powershell-Skript mit Hilfsskripten für den Umgang mit COM-Hijacks. Highlights:

Zeigt alle CLSIDs von COM-Objekten und den Speicherort der Implementierung auf der Festplatte an

root@kitploit:~
$keys = Get-CLSIDRegistryKeys -RegHive HKCR
$results = $keys | % {$guid = Extract-GUIDFromText $_; Map-GUIDToDLL -guid $guid 2> $null }

Führt eine Bestandsaufnahme der CLSIDs auf einem System durch

root@kitploit:~
$HKCR_keys = Get-CLSIDRegistryKeys -RegHive HKCR
$HKCR_keys | where-object {$_ -like "*inprocserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*inprocserver32"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver"} | Measure-Object
$HKCR_keys | where-object {$_ -like "*localserver32"} | Measure-Object

$HKLM_keys = Get-CLSIDRegistryKeys -RegHive HKLM
$HKLM_keys | Measure-Object
$HKCU_keys = Get-CLSIDRegistryKeys -RegHive HKCU
$HKCU_keys | Measure-Object
root@kitploit:~
explorer:{69486DD6-C19F-42e8-B508-A53F9F8E67B8}
explorer:{9E175B6D-F52A-11D8-B9A5-505054503030}
explorer:{30CC9D06-7E62-4966-9777-BC3442E788BD}
explorer:{3eef301f-b596-4c0b-bd92-013beafce793}
explorer:{682159d9-c321-47ca-b3f1-30e36b2ec8b9}
explorer:{6B3B8D23-FA8D-40B9-8DBD-B950333E2C52}
explorer:{9aa46009-3ce0-458a-a354-715610a075e6}
explorer:{9BA05972-F6A8-11CF-A442-00A0C90A8F39}
explorer:{AC36A05C-FB95-4C7A-868C-A43CC8D2D926}
explorer:{B52D54BB-4818-4EB9-AA80-F9EACD371DF8}
explorer:{c2f03a33-21f5-47fa-b4bb-156362a2f239}

Findet CLSIDs, die auf eine DLL verweisen, die auf dem System nicht vorhanden ist:

root@kitploit:~
Find-MissingLibraries

InjectionTemplates

3 Proof-of-Concept-Vorlagen für den Missbrauch von COM-Hijacks, wie in der Derbycon-9-Präsentation demonstriert:

  • HijackDLL-Process: Erstellt einen neuen Prozess, wenn die DLL geladen wird
  • HijackDLL-CreateRemoteThread: Führt die Thread-Injektionstechnik mithilfe des CreateRemoteThread-API-Aufrufs aus, wenn die DLL geladen wird
  • HijackDLL-Threads: Nützlich zum Messen der Lebensdauer von Threads, die nach einem Hijack in der DLL gestartet werden

COMinject

Proof of Concept, der zeigt, wie COM-Hijacking für Prozessinjektionen genutzt werden kann:

  • COMInjectDotNet: Proof-of-Concept-Client, der eine DLL über einen COM-Hijack in einen unterstützten Prozess injiziert
  • COMInjectTarget: Die Ziellibrary, die in einen Prozess injiziert werden soll

Der erste Schritt besteht darin, den Hijack durchzuführen:

root@kitploit:~
COMInjectDotNet.exe chrome.exe C:\COM\COMInjectTarget.dll

Der Hijack wird nicht sofort ausgelöst und erfordert möglicherweise, dass die Anwendung gestartet wird (falls sie nicht bereits läuft), oder einige grundlegende Aktionen in der Anwendung. Es gibt vermutlich einige bessere CLSIDs, die häufiger ausgelöst werden, aber diese sind gut genug.

Die COMInjectTarget.dll protokolliert ihren Fortschritt in einer Protokolldatei unter C:\COM. Dies scheint stabiler zu sein, als etwa AllocConsole aus einem anderen Prozess heraus zu verwenden und lediglich auf der Konsole auszugeben.

Das Folgende zeigt die injizierte DLL, die innerhalb des Hauptprozesses chrome.exe läuft:

root@kitploit:~
[*] chrome pid=9104 ppid=4900 (count 0)
[*] chrome pid=9104 ppid=4900 (count 1)
[*] chrome pid=9104 ppid=4900 (count 2)
[*] chrome pid=9104 ppid=4900 (count 3)
[*] chrome pid=9104 ppid=4900 (count 4)
[*] chrome pid=9104 ppid=4900 (count 5)

Die derzeit unterstützten Prozesse sind:

  • explorer (Standard)
  • chrome
  • excel
  • word
  • outlook

Referenzen und Danksagungen

Um mehr über COM und COM-Hijacks zu erfahren:

  • Leo Loobeek (@leoloobeek):
    • COMProxy, aus dem ich stark Code übernommen habe
    • Proxying COM For Stable Hijacks
  • Matt Nelson (@enigma0x3):
    • Userland Persistence with Scheduled Tasks and COM Handler Hijacking
  • Die @bohops-Serie über COM-Hijacks:
    • Abusing the COM Registry Structure: CLSID, LocalServer32, & InprocServer32
    • Abusing the COM Registry Structure (Part 2): Hijacking & Loading Techniques
  • James Forshaw (@tiraniddo):
    • Having Fun with COM
    • COM in 60 seconds
    • OleViewDotNet
  • Casey Smith (@subtee) + @enimga0x3:
    • Windows Operating System Archaeology (Folien, Code)
Tool herunterladen