Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
pyCobaltHound — pyCobaltHound ist eine Aggressor-Skripterweiterung für Cobalt Strike, die eine tiefe Integration zwischen Cobalt Strike und Bloodhound bieten soll. | Kitploit
Tools/GitHubGitHub/nvisosecurity/pycobalthound
Penetrationstest-FrameworksPrivilege EscalationAufklärungExploit-FrameworksLaterale BewegungInformationsbeschaffungPost-ExploitationRed Teaming
GitHubnvisosecurity/pycobalthound

pyCobaltHound

pyCobaltHound ist eine Aggressor-Skripterweiterung für Cobalt Strike, die eine tiefe Integration zwischen Cobalt Strike und Bloodhound bieten soll.

1351916vor 4 JahrenVon Kitploit geprüft
Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Kurzzusammenfassung

pyCobaltHound ist eine Aggressor-Skript-Erweiterung für Cobalt Strike, die eine tiefe Integration zwischen Cobalt Strike und Bloodhound ermöglicht.

pyCobaltHound unterstützt Red-Team-Operatoren, indem es:

  • Automatisch die BloodHound-Datenbank abfragt, um Eskalationspfade zu entdecken, die durch neu gesammelte Anmeldedaten eröffnet wurden.
  • Kompromittierte Benutzer und Computer automatisch als „besessen“ (owned) markiert.
  • Operatoren ermöglicht, schnell und einfach das Eskalationspotenzial von Beacon-Sitzungen und Benutzern zu untersuchen.

Um dies zu erreichen, verwendet pyCobaltHound einen Satz eingebauter Abfragen. Operatoren können auch eigene Abfragen hinzufügen/entfernen, um die Überwachungsfähigkeiten von pyCobaltHound anzupassen. Dies gibt ihnen die Flexibilität, pyCobaltHound während Einsätzen spontan an engagement-spezifische Ziele (Benutzer, Hosts usw.) anzupassen.

Installation und Verwendung

Um pyCobaltHound zu installieren, klonen Sie dieses Repository. Vergessen Sie nicht, das enthaltene Submodul ebenfalls zu klonen!

Sie können den folgenden Befehl verwenden:

  • git clone https://github.com/NVISOsecurity/pyCobaltHound.git --recurse-submodules

Abhängigkeiten

Stellen Sie sicher, dass die folgenden Abhängigkeiten korrekt installiert sind:

PyCobalt

PyCobalt ist eine Python-API für Cobalt Strike. Sie stellt viele Aggressor-Funktionen zur Verfügung, die direkt aus Python verwendet werden können.

Einrichtung

Stellen Sie sicher, dass Python3+ installiert ist. Obwohl PyCobalt möglicherweise auch unter macOS und Windows funktioniert, haben wir es nur unter Linux getestet.

Es gibt zwei Möglichkeiten, die PyCobalt Python-Bibliothek zu verwenden:

  1. Direkt aus dem Repository mit PYTHONPATH ausführen. pyCobaltHound verfolgt diesen Ansatz, indem es den Suchpfad innerhalb des Python-Programms mit der Variablen sys.path setzt.
  2. Die PyCobalt Python-Bibliothek installieren. Führen Sie dazu python3 setup.py install aus. Sie müssen pycobalthound.py anpassen, um sicherzustellen, dass die installierte Bibliothek anstelle derjenigen im enthaltenen Repository verwendet wird.
Bemerkungen
  • Beachten Sie, dass nicht garantiert werden kann, dass das PyCobalt-Projekt in Zukunft gewartet wird. Tatsächlich war das letzte Update des Projekts die Integration der Änderungen aus Cobalt Strike 4.2. Da pyCobaltHound jedoch nur grundlegende Aggressor-Funktionen zur Schnittstelle mit Cobalt Strike und dessen Operator nutzt, ist dies für pyCobaltHound kein großes Problem.
  • Das in diesem Projekt verwendete PyCobalt-Submodul ist ein von uns erstellter Fork. Wir kontrollieren das PyCobalt-Repository jedoch nicht.
Tipps und Tricks
  • PyCobalt enthält einige Skript-Konsolen-Befehle zur Verwaltung der laufenden Python-Skripte. Wenn Sie Ihr Aggressor-Skript neu laden, sollten Sie die Python-Skripte zuerst explizit stoppen. Andernfalls laufen sie endlos weiter und tun nichts. Während der Entwicklung von pyCobaltHound haben wir festgestellt, dass dies auch zu undefiniertem Verhalten führen kann.

    Das Neuladen von pyCobaltHound kann wie folgt erfolgen:

    aggressor> python-stop-all`
    [pycobalt] Asking script to stop: /root/pycobalthound/pycobalthound.py
    [pycobalt] Script process exited: /root/pycobalthound/pycobalthound.py
    
    aggressor> reload example.cna`
    [pycobalt] Executing script /root/pycobalthound/pycobalthound.py
    
  • Damit PyCobalt richtig funktioniert, können Sie PyCobalt nur in einem Aggressor-Skript aufrufen. Beachten Sie dies, wenn Sie pyCobaltHound zusammen mit anderen Aggressor-Skripten verwenden möchten, die ebenfalls PyCobalt nutzen. Unser Ansatz besteht darin, ein Aggressor-Skript mit Aufrufen von python() und include() für jedes PyCobalt-basierte Tool zu haben.

notify2 (Optional)

notify2 ist – oder war – ein Paket zur Anzeige von Desktop-Benachrichtigungen unter Linux. Wie wir später sehen werden, unterstützt pyCobaltHound verschiedene Möglichkeiten, den Operator zu benachrichtigen. notify2 wird unter Linux verwendet, um Benachrichtigungen an den Benachrichtigungs-Daemon über D-Bus zu senden.

Um dies zu aktivieren, muss notify2 mit folgendem Befehl installiert werden:

pip install notify2

Verwendung in Cobalt Strike

Die Verwendung von pyCobaltHound in Cobalt Strike ist so einfach wie das Importieren des pycobalthound.cna Aggressor-Skripts in Ihren Client. Sobald dies geschehen ist, sollte ein pyCobaltHound-Menü in Ihrer Cobalt Strike-Menüleiste erscheinen.

Verwendung

Überwachung des Anmeldeinformationsspeichers

Das ursprüngliche Ziel von pyCobaltHound war es, Cobalt Strikes Anmeldeinformations-Cache (Ansicht > Anmeldeinformationen) auf neue Einträge zu überwachen. Dies geschieht durch Reaktion auf das on_credentials-Ereignis, das Cobalt Strike auslöst, wenn Änderungen am Anmeldeinformationsspeicher vorgenommen werden.

Wenn dieses Ereignis ausgelöst wird, führt pyCobaltHound Folgendes aus:

  1. Analysieren und Validieren der von Cobalt Strike empfangenen Daten.
  2. Überprüfen, ob diese Entitäten bereits durch Überprüfung seines Caches untersucht wurden.
  3. Hinzufügen der Entitäten zu einem Cache für zukünftige Durchläufe.
  4. Überprüfen, ob die Entitäten in der BloodHound-Datenbank existieren.
  5. Markieren der Entitäten als „besessen“.
  6. Abfragen der BloodHound-Datenbank für jede neue Entität mit sowohl integrierten als auch benutzerdefinierten Abfragen.
  7. Analysieren der zurückgegebenen Ergebnisse, Benachrichtigen des Operators über alle interessanten Funde und Schreiben in einen einfachen HTML-Bericht.

Da all dies asynchron zum Haupt-Cobalt Strike-Client stattfindet, sollte dieser Prozess Ihre Benutzeroberfläche nicht blockieren, sodass Sie weiterarbeiten können, während pyCobaltHound im Hintergrund ermittelt.

pyCobaltHound verwendet separate Caches pro Teamserver, um Probleme bei der Verwendung mehrerer Teamserver zu vermeiden.

Entfernen von Entitäten aus dem Cache

Manchmal gibt es Situationen, in denen Sie bestimmte Benutzer (oder den gesamten Anmeldeinformationsspeicher) erneut untersuchen möchten. Dies kann der Fall sein, wenn Sie neue Daten in die BloodHound-Datenbank hochgeladen haben.

Da pyCobaltHound bereits alle Entitäten in Ihrem Anmeldeinformationsspeicher untersucht (und daher zwischengespeichert) haben sollte, wird es diese ohne Operator-Eingriff nicht gegen diese neuen Daten auswerten.

Den Betreibern stehen zwei Methoden zur Verfügung, um zu steuern, welche Entitäten zwischengespeichert werden.

Entfernen bestimmter Entitäten

In Fällen, in Sie eine bestimmte Entität (oder mehrere) aus dem Cache entfernen möchten, können Sie dies im Anmeldeinformations-Viewer tun (Ansicht > Anmeldeinformationen). Wählen Sie einfach Ihre Ziel(e) aus und klicken Sie auf die Option Aus Cache entfernen im pyCobaltHound-Menüeintrag.

Entfernen des gesamten Caches

In Fällen, in denen Sie alle Entitäten aus dem Cache entfernen möchten, können Sie dies im Hauptmenü von pyCobaltHound tun (Cobalt Strike > pyCobaltHound > Cache löschen). Dies ist besonders hilfreich, wenn Sie Ihren gesamten Anmeldeinformationsspeicher neu bewerten möchten.

Tool herunterladen