DIES IST JETZT VERALTET ZUGUNSTEN VON SHARPHOUND. MIT DIESER METHODE GESAMMELTE DATEN FUNKTIONIEREN NICHT MIT BLOODHOUND 4.1+
SharpHound - C#-Neuschreibung des BloodHound-Ingestors
SharpHound herunterladen
Der neueste Build von SharpHound befindet sich immer im BloodHound-Repository hier
Kompilieranweisungen
SharpHound wurde mit C# 9.0-Features geschrieben. Um dieses Projekt einfach zu kompilieren, verwenden Sie Visual Studio 2019.
Wenn Sie auf früheren Versionen von Visual Studio kompilieren möchten, können Sie das NuGet-Paket Microsoft.Net.Compilers installieren.
Das Erstellen des Projekts generiert eine ausführbare Datei sowie ein PowerShell-Skript, das die ausführbare Datei kapselt. Alle Abhängigkeiten sind in der Binärdatei enthalten.
Voraussetzungen
SharpHound ist für .Net 4.5 ausgelegt. SharpHound muss im Kontext eines Domänenbenutzers ausgeführt werden, entweder direkt über eine Anmeldung oder über eine andere Methode wie RUNAS.
Verwendung
Aufzählungsoptionen
- CollectionMethod - Die zu verwendende Sammlungsmethode. Dieser Parameter akzeptiert eine durch Kommas getrennte Liste von Werten. Mögliche Werte sind (Standard: Default):
- Default - Führt Sammlung von Gruppenmitgliedschaften, Domänenvertrauensstellungen, lokalen Gruppen, Sitzungen, ACLs, Objekteigenschaften und SPN-Zielen durch
- Group - Führt Sammlung von Gruppenmitgliedschaften durch
- LocalAdmin - Führt Sammlung lokaler Administratoren durch
- RDP - Führt Sammlung von Remotedesktopbenutzern durch
- DCOM - Führt Sammlung von Distributed COM-Benutzern durch
- PSRemote - Führt Sammlung von Remoteverwaltungsbenutzern durch
- GPOLocalGroup - Führt Sammlung lokaler Administratoren mithilfe von Gruppenrichtlinienobjekten durch
- Session - Führt Sitzungssammlung durch
- ComputerOnly - Führt Sammlung lokaler Administratoren, RDP, DCOM und Sitzungen durch
- LoggedOn - Führt privilegierte Sitzungssammlung durch (erfordert Administratorrechte auf Zielsystemen)
- Trusts - Führt Enumeration von Domänenvertrauensstellungen durch
- ACL - Führt Sammlung von ACLs durch
- Container - Führt Sammlung von Containern durch
- DcOnly - Führt Sammlung nur mit LDAP durch. Beinhaltet Group, Trusts, ACL, ObjectProps, Container und GPOLocalGroup.
- ObjectProps - Führt Sammlung von Objekteigenschaften wie LastLogon oder PwdLastSet durch
- All - Führt alle Sammelmethoden außer GPOLocalGroup durch
- Domain - Durchsucht eine bestimmte Domäne. Verwendet Ihre aktuelle Domäne, falls null (Standard: null)
- Stealth - Führt verdeckte Sammelmethoden durch. Alle Stealth-Optionen sind single-threaded.
- ExcludeDomainControllers - Schließt Domänencontroller von der Enumeration aus (vermeidet Microsoft ATA-Flags :) )
- ComputerFile - Gibt eine Datei an, aus der Computernamen/IPs geladen werden
- LdapFilter - LDAP-Filter, der an die Suche angehängt wird
- OverrideUserName - Überschreibt den Benutzernamen für die Sitzungsenumeration (fortgeschritten)
- RealDNSName - Überschreibt den DNS-Namen für API-Aufrufe
- - Sammelt alle String-LDAP-Eigenschaften anstelle einer Teilmenge
Schleifenoptionen
- Loop - Computersammlungen wiederholen
- LoopDuration - Wie lange die Schleife laufen soll
- LoopInterval - Wartezeit zwischen den Schleifendurchläufen
Verbindungsoptionen
- DomainController - Gibt an, mit welchem Domänencontroller eine Verbindung hergestellt werden soll (Standard: null)
- LdapPort - Gibt den Port an, auf dem LDAP läuft (Standard: 0)
- SecureLdap - Stellt über sicheres LDAP anstelle von normalem LDAP eine Verbindung zu AD her. Verbindet standardmäßig zu Port 636.
- LdapUsername - Benutzername für die LDAP-Verbindung. Erfordert auch den Parameter LDAPPassword (Standard: null)
- LdapPassword - Passwort für den Benutzer für die LDAP-Verbindung. Erfordert auch den Parameter LDAPUser (Standard: null)
- DisableKerberosSigning - Deaktiviert LDAP-Verschlüsselung. Nicht empfohlen.
Leistungsoptionen
- PortScanTimeout - Gibt das Timeout für Ping-Anfragen in Millisekunden an (Standard: 2000)
- SkipPortScan - Weist SharpHound an, Ping-Anfragen zu überspringen, um zu prüfen, ob Systeme aktiv sind
- Throttle - Fügt nach jeder Anfrage an einen Computer eine Verzögerung hinzu. Wert in Millisekunden (Standard: 0)
- Jitter - Fügt dem Throttle einen prozentualen Jitter hinzu. (Standard: 0)
Ausgabeoptionen
- OutputDirectory - Ordner zum Speichern von JSON-Dateien (Standard: .)
- OutputPrefix - Präfix, das Ihren JSON-Dateien hinzugefügt wird (Standard: "")
- NoZip - JSON-Dateien nicht in die Zip-Datei komprimieren. Lässt JSON-Dateien auf der Festplatte. (Standard: false)
- EncryptZip - Fügt der Zip-Datei ein zufällig generiertes Passwort hinzu.
- ZipFileName - Gibt den Namen der Zip-Datei an
- RandomizeFilenames - Zufällige Ausgabedateinamen
- PrettyJson - Gibt JSON mit Einrückungen über mehrere Zeilen aus, um die Lesbarkeit zu verbessern. Nachteil ist eine erhöhte Dateigröße.
- DumpComputerStatus - Gibt Fehlercodes von Verbindungen zu Computern aus
Cache-Optionen
- CacheFileName - Dateiname für den SharpHound-Cache. (Standard: .bin)
- NoSaveCache - Speichert die Cache-Datei nicht auf der Festplatte. Ohne dieses Flag wird .bin auf die Festplatte geschrieben.
- InvalidateCache - Macht die Cache-Datei ungültig und erstellt einen neuen Cache
Verschiedene Optionen
- StatusInterval - Intervall zur Anzeige des Fortschritts während der Enumeration in Millisekunden (Standard: 30000)