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
Tools/GitHubGitHub/rnb-team/loghound
AufklärungForensikInformationsbeschaffungPost-ExploitationDigitale ForensikPenetrationstestsAuthentifizierungRed TeamingLog-Analyse
GitHubrnb-team/loghound

LogHound

Post-Exploitation EVTX-Analyzer für BloodHound-Mapping

1116vor 4 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

LogHound

587193175-819ba1ad-8551-4b58-bb54-56ce1f410187

Post-Exploitation EVTX-Analyzer für BloodHound-Mapping

LogHound sammelt und analysiert Windows-Sicherheitsereignisprotokolle (.evtx), um Authentifizierungsereignisse, Sitzungsdaten und Anmeldemetadaten zu extrahieren – für die Aufnahme in BloodHound und für tiefere gegnerische Telemetrie.

Begründung und Übersicht

LogHound wurde entwickelt, um ein spezifisches Problem für Red Teams und Netzwerk-Penetrationstester zu lösen: wie man effizient Ziele lateraler Bewegung verfolgt, aktive Benutzersitzungen entschlüsselt und eindeutigen Maschinenbesitz feststellt, ohne die operative Sicherheit (OpSec) zu gefährden.

Ereignisprotokolldateien (Security.evtx) auf Active Directory-Domänencontrollern können mehrere Gigabyte groß sein. Herkömmliche Lademethoden verbrauchen oft den gesamten Systemspeicher oder stürzen ab und hinterlassen laute Artefakte. LogHound begegnet diesem Problem durch ein chunkbasiertes Streaming-Paradigma auf Basis des robusten Impacket-Frameworks.

Es kartiert Netzwerkstrukturen, ermittelt, wer eine Maschine tatsächlich „besitzt" (basierend auf der Anmeldehäufigkeit), berechnet präzise Arbeitszeiten, um außerdienstliche Aktivitäten (Night Owl) zu identifizieren, und speist diese Informationen nahtlos in BloodHound CE (v5+) ein.

Installationsschritte

LogHound benötigt Python 3 und Impacket. Es wird dringend empfohlen, eine virtuelle Umgebung zu verwenden.

root@kitploit:~
# 1. Clone the repository
git clone https://github.com/LogHound/LogHound.git
cd LogHound

# 2. (Optional but Recommended) Create a Python virtual environment
python3 -m venv venv
source venv/bin/activate

# 3. Install the required dependencies
pip install -r requirements.txt

Beschreibung der CLI-Parameter

Die CLI von LogHound interagiert identisch zu den standardmäßigen Impacket-Modulen (wie secretsdump.py) und erfordert, dass Sie einen expliziten Betriebsmodus angeben (--local oder --remote).

root@kitploit:~
python loghound.py [[domain/]username[:password]@]<targetName or address> [options]

Betriebsmodi (Obligatorisch)

  • --local EVTX_FILE: Analysiert eine .evtx-Datei, die sich bereits auf Ihrem lokalen Rechner befindet.
  • --remote: Lädt Security.evtx vom entfernten Zielsystem herunter, wobei die angegebenen Anmeldeinformationen verwendet werden.

Authentifizierung und Verbindungen

  • -hashes LMHASH:NTHASH: NTLM-Hashes für Pass-The-Hash-Authentifizierung verwenden.
  • -k: Kerberos-Authentifizierung verwenden. Bezieht Anmeldeinformationen aus einer .ccache-Datei, die durch die Umgebungsvariable KRB5CCNAME angegeben wird.
  • -aesKey hex_key: Einen bestimmten AES-Schlüssel (128 oder 256 Bit) für Kerberos verwenden.
  • -no-pass: Nicht interaktiv nach einem Passwort fragen.
  • -keytab KEYTAB_FILE: Eine Kerberos-Keytab-Datei zur Authentifizierung verwenden.
  • -dc-ip IP: Explizite IP-Adresse des Domänencontrollers.
  • -target-ip IP: Explizite IP-Adresse des Zielsystems (umgeht Fehler bei der NetBIOS-Namensauflösung).

Ausgabeformatierung

  • -format {json,csv,md,all}: Bestimmt das textbasierte Ausgabeformat. Hinweis: Ein interaktiver HTML-Bericht und die BloodHound-JSON-Dateien werden immer generiert. Standard ist json.
  • -outputfile BASENAME: Namenspräfix für die generierten Ausgabeberichte in den Unterverzeichnissen.

Leistung

  • -threads N: Anzahl der parallelen Parser-Threads (Standard: 4).
  • -chunk-size N: Anzahl der Protokolleinträge pro Parsing-Chunk. Niedrigere Werte reduzieren den RAM-Overhead; höhere Werte analysieren etwas schneller (Standard: 1000).

Beispiele

  • BloodHound-Kanten.
Screenshot 2026-04-08 195058
  • HTML-Bericht.
Screenshot 2026-04-08 193914

Architektur und Datenfluss

LogHound verwendet eine stark entkoppelte, speichereffiziente Analyse-Pipeline:

  1. Erfassung (core/collector.py): Stellt eine SMB-Verbindung zum Ziel her und exportiert dann das Sicherheitsereignisprotokoll über WMI mittels wevtutil epl Security in eine temporäre Datei auf dem Ziel. Die exportierte Datei wird dann über SMB in loot/YYYY-MM-DD_<target>_Security.evtx heruntergeladen, um Überschreibungen zu vermeiden.
  2. Parsen (core/parser.py): Ein threadbasierter Chunk-Parser streamt über das rohe .evtx-Binärformat und gibt kontinuierlich geparste Ereignisse in einen temporären JSON-Line-Puffer (jsonl/loghound_dump.jsonl) aus. Bei Unterbrechung kann er an genauen Prüfpunkten fortgesetzt werden.
  3. Analyse (core/analyzer.py): Iteriert zeilenweise über den .jsonl-Stream, um einen niedrigen RAM-Fußabdruck zu erhalten. Es berechnet Zwischenzustands-Wörterbücher (Sitzungsverfolgung, Besitzbewertung, Logikverfolgung).
  4. Export (core/exporter.py & core/exporter_bloodhound.py): Schreibt den Analyse-RAM-Zustand dynamisch in die endgültigen Ausgabeformate und .

Für tiefgehende Architekturlogiken und zuvor behandelte Aufnahmefehler lesen Sie bitte die interne Dokumentation unter ARCHITECTURE.md.

Beschreibung von Knoten, Attributen und Metriken

LogHound filtert nativ nach sechs expliziten Windows-Sicherheitsereignis-IDs: 4624, 4634, 4648, 4768, 4769, 4776.

Mit diesen Ereignissen erweitert LogHound BloodHound CE, indem die folgenden benutzerdefinierten Attribute direkt an generierte Benutzer-Knoten über den Properties-Block gebunden werden:

BloodHound CE Merging-Architektur

  • ObjectIdentifier SIDs: LogHound stellt sicher, dass ObjectIdentifier-Zuordnungen perfekt mit vorhandenen SharpHound-Imports übereinstimmen. AD-Domänenbenutzer erhalten ihre native Windows-SID (S-1-5-21-...). Um ein Zerstören von BloodHound-Knoten zu verhindern, behalten lokale Maschinenkonten genau den Fallback-Standard USER@HOSTNAME bei.
  • Computer Sessions: Die generierte computers.json verwendet die exakte native SessionAPIResult-Datenstruktur, um echte „HasSession"-Kanten zwischen Maschinen und Benutzern zu zeichnen.

Benutzerdefinierte LogHound-Benutzermetriken

Die Analyse-Engine berechnet die betrieblichen Arbeitszeiten auf der Grundlage verfolgter Anmelde-/Abmeldeereignisse und lässt Anomalien (wie Sitzungen, die sich über mehrere Tage erstrecken) außer Acht.

Metriken zur Maschinenbesitzer

Die Analyse bestimmt den expliziten Besitzer einer Workstation oder IP-Adresse, indem sie die häufigsten interaktiven Anmeldungen zählt. Dies bindet einen primären Owner an den Ursprungsknoten sowie ein Array sekundärer Other Users.

Haftungsausschluss

Diese Software wird ausschließlich zu Bildungszwecken, für autorisierte Penetrationstests und forensische Untersuchungen bereitgestellt. Verwenden Sie sie nicht gegen Netzwerke, für die Sie keine ausdrückliche Betriebserlaubnis haben.

Lizenz

Dieses Projekt ist unter der Apache License 2.0 lizenziert – siehe LICENSE-Datei.

Danksagungen

  • Erstellt von https://github.com/Nelkmen
  • Inspiriert von https://github.com/specterops/bloodhound, https://github.com/fortra/impacket
Tool herunterladen
html/
json/
EigenschaftsnameTypMetrikbeschreibung
loghound_avg_start_timeStringBerechnet die durchschnittliche erste Anmeldung (00:00 HH:MM) über alle beobachteten gültigen Tage des Benutzers.
loghound_avg_end_timeStringBerechnet die durchschnittliche letzte Aktivität (Abmeldung oder letzter Zugriff) pro Tag.
loghound_active_daysIntegerGesamtzahl der validierten Tage (mit mindestens einer ordnungsgemäßen Sitzung), die zur Berechnung der Durchschnittszeit-Arrays verwendet wurden.
loghound_outside_hoursBooleanWahr/Falsch. Identifiziert spezifisch einen Night Owl. Wertet als True aus, wenn das berechnete aktive Start-Ende-Fenster des Benutzers den Nachtbereich von 22:00 bis 06:00 überschneidet.
Avg Hours per DayFloatWird intern als exakte Zeitdifferenz zwischen der average start time und der average end time des Benutzers berechnet. (Wird in Text-/HTML-Berichten angezeigt).