DIES IST JETZT ZUGUNSTEN VON SHARPHOUND3 VERALTET. MIT DIESER METHODE GESAMMELTE DATEN FUNKTIONIEREN NICHT MIT BLOODHOUND 3.0
SharpHound - C#-Neufassung des BloodHound-Ingestors
SharpHound herunterladen
Der neueste Build von SharpHound befindet sich immer im BloodHound-Repository hier
Kompilieranleitung
Sharphound nutzt C#-7.0-Features. Um dieses Projekt einfach zu kompilieren, verwenden Sie Visual Studio 2017.
Wenn Sie mit früheren Versionen von Visual Studio kompilieren möchten, können Sie das NuGet-Paket Microsoft.Net.Compilers installieren.
Das Erstellen des Projekts erzeugt eine ausführbare Datei sowie ein PowerShell-Skript, das die ausführbare Datei kapselt. Alle Abhängigkeiten sind in der Binärdatei enthalten.
Anforderungen
Sharphound ist für .Net 3.5 entwickelt. Sharphound muss im Kontext eines Domänenbenutzers ausgeführt werden, entweder direkt über eine Anmeldung oder über eine andere Methode wie RUNAS.
Verwendung
Enumerationsoptionen
- CollectionMethod - Die zu verwendende Sammelmethode. Dieser Parameter akzeptiert eine durch Kommas getrennte Liste von Werten. Mögliche Werte (Standard: Default):
- Default - Führt die Sammlung von Gruppenmitgliedschaften, Domänenvertrauensstellungen, lokalen Administratoren und Sitzungen durch
- Group - Führt die Sammlung von Gruppenmitgliedschaften durch
- LocalAdmin - Führt die Sammlung lokaler Administratoren durch
- RDP - Führt die Sammlung von Remotedesktop-Benutzern durch
- DCOM - Führt die Sammlung von Distributed-COM-Benutzern durch
- GPOLocalGroup - Führt die Sammlung lokaler Administratoren mithilfe von Gruppenrichtlinienobjekten durch
- Session - Führt die Sitzungssammlung durch
- ComputerOnly - Führt die Sammlung von lokalen Administratoren, RDP-Benutzern, DCOM-Benutzern und Sitzungen durch
- LoggedOn - Führt die Sammlung privilegierter Sitzungen durch (erfordert Administratorrechte auf den Zielsystemen)
- Trusts - Führt die Enumeration von Domänenvertrauensstellungen durch
- ACL - Führt die Sammlung von ACLs durch
- Container - Führt die Sammlung von Containern durch
- DcOnly - Führt die Sammlung nur über LDAP durch. Umfasst Group, Trusts, ACL, ObjectProps, Container und GPOLocalGroup.
- All - Führt alle Sammlungsmethoden außer GPOLocalGroup und LoggedOn durch
- SearchForest - Durchsucht alle Domänen der Gesamtstruktur (Forest) anstelle nur Ihrer aktuellen Domäne
- Domain - Durchsucht eine bestimmte Domäne. Verwendet Ihre aktuelle Domäne, wenn null (Standard: null)
- Stealth - Führt Stealth-Sammlungsmethoden durch. Alle Stealth-Optionen sind single-threaded.
- SkipGCDeconfliction - Überspringt die Konfliktauflösung des globalen Katalogs während der Sitzungsenumeration. Dies kann die Enumeration beschleunigen, führt jedoch möglicherweise zu Ungenauigkeiten in den Daten.
- ExcludeDc - Schließt Domänencontroller von der Enumeration aus (vermeidet Microsoft-ATA-Flags :) )
- ComputerFile - Gibt eine Datei an, aus der Computernamen/IPs geladen werden
- OU - Gibt an, welche OU enummeriert werden soll
Verbindungsoptionen
- DomainController - Gibt an, mit welchem Domänencontroller eine Verbindung hergestellt werden soll (Standard: null)
- LdapPort - Gibt an, auf welchem Port LDAP läuft (Standard: 0)
- SecureLdap - Stellt mithilfe von Secure LDAP anstelle von regulärem LDAP eine Verbindung zu AD her. Verbindet standardmäßig mit Port 636.
- IgnoreLdapCert - Ignoriert das LDAP-SSL-Zertifikat. Verwenden Sie dies beispielsweise, wenn ein selbstsigniertes Zertifikat vorliegt.
- LDAPUser - Benutzername für die LDAP-Verbindung. Erfordert ebenfalls den Parameter LDAPPassword (Standard: null)
- LDAPPass - Passwort für den Benutzer, mit dem die LDAP-Verbindung hergestellt wird. Erfordert ebenfalls den Parameter LDAPUser (Standard: null)
- DisableKerbSigning - Deaktiviert die LDAP-Verschlüsselung. Nicht empfohlen.
Leistungsoptionen
- Threads - Gibt die Anzahl der zu verwendenden Threads an (Standard: 10)
- PingTimeout - Gibt das Zeitlimit für Ping-Anfragen in Millisekunden an (Standard: 250)
- SkipPing - Weist Sharphound an, Ping-Anfragen zu überspringen, um zu prüfen, ob Systeme verfügbar sind
- LoopDelay - Die Anzahl der Sekunden zwischen Sitzungsschleifen (Standard: 300)
- MaxLoopTime - Die Zeitspanne, über die die Sitzungsschleife fortgesetzt wird. Format ist 0d0h0m0s. Bei null wird zwei Stunden lang geloopt. (Standard: 2h)
- Throttle - Fügt nach jeder Anfrage an einen Computer eine Verzögerung hinzu. Der Wert ist in Millisekunden angegeben (Standard: 0)
- Jitter - Fügt dem Throttle einen prozentualen Jitter hinzu. (Standard: 0)
Ausgabeoptionen
- JSONFolder - Ordner, in dem JSON-Dateien gespeichert werden (Standard: .)
- JSONPrefix - Präfix, das Ihren JSON-Dateien hinzugefügt wird (Standard: "")
- NoZip - Komprimiert JSON-Dateien nicht in die ZIP-Datei. 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
- RandomFilenames - Zufällige Ausgabedateinamen erzeugen
- PrettyJson - Gibt JSON mit Einrückung über mehrere Zeilen aus, um die Lesbarkeit zu verbessern. Nachteil ist eine größere Dateigröße.
Cache-Optionen
- CacheFile - Dateiname für den Sharphound-Cache. (Standard: .bin)
- NoSaveCache - Speichert die Cache-Datei nicht auf der Festplatte. Ohne dieses Flag wird .bin auf der Festplatte abgelegt
- Invalidate - Macht die Cache-Datei ungültig und erstellt einen neuen Cache
Sonstige Optionen
- StatusInterval - Intervall zum Anzeigen des Fortschritts während der Enumeration in Millisekunden (Standard: 30000)
- Verbose - Aktiviert die ausführliche Ausgabe