QUESTO È ORMAI DEPRECATO IN FAVORE DI SHARPHOUND. I DATI RACCOLTI USANDO QUESTO METODO NON FUNZIONERANNO CON BLOODHOUND 4.1+
SharpHound - Riscrittura in C# del BloodHound Ingestor
Ottieni SharpHound
L'ultima build di SharpHound si trova sempre nel repository BloodHound qui
Istruzioni di Compilazione
SharpHound è scritto usando le funzionalità di C# 9.0. Per compilare facilmente questo progetto, usa Visual Studio 2019.
Se desideri compilare su versioni precedenti di Visual Studio, puoi installare il pacchetto nuget Microsoft.Net.Compilers.
La compilazione del progetto genererà un eseguibile così come uno script PowerShell che incapsula l'eseguibile. Tutte le dipendenze sono integrate nel binario.
Requisiti
SharpHound è progettato per .Net 4.5. SharpHound deve essere eseguito nel contesto di un utente di dominio, direttamente tramite login o tramite altro metodo come RUNAS.
Utilizzo
Opzioni di Enumerazione
- CollectionMethod - Il metodo di raccolta. Questo parametro accetta un elenco separato da virgole. Ha i seguenti valori potenziali (Default: Default):
- Default - Esegue la raccolta delle appartenenze ai gruppi, la raccolta delle relazioni di trust del dominio, la raccolta dei gruppi locali, la raccolta delle sessioni, la raccolta delle ACL, la raccolta delle proprietà degli oggetti e la raccolta dei target SPN
- Group - Esegue la raccolta delle appartenenze ai gruppi
- LocalAdmin - Esegue la raccolta degli amministratori locali
- RDP - Esegue la raccolta degli utenti di Desktop remoto
- DCOM - Esegue la raccolta degli utenti DCOM distribuiti
- PSRemote - Esegue la raccolta degli utenti di Gestione remota
- GPOLocalGroup - Esegue la raccolta degli amministratori locali utilizzando oggetti Criteri di Group Policy
- Session - Esegue la raccolta delle sessioni
- ComputerOnly - Esegue la raccolta di amministratori locali, RDP, DCOM e sessioni
- LoggedOn - Esegue la raccolta di sessioni privilegiate (richiede diritti di amministratore sui sistemi target)
- Trusts - Esegue l'enumerazione delle relazioni di trust del dominio
- ACL - Esegue la raccolta delle ACL
- Container - Esegue la raccolta dei Contenitori
- DcOnly - Esegue la raccolta utilizzando solo LDAP. Include Group, Trusts, ACL, ObjectProps, Container e GPOLocalGroup.
- ObjectProps - Esegue la raccolta delle proprietà degli oggetti per proprietà come LastLogon o PwdLastSet
- All - Esegue tutti i metodi di raccolta tranne GPOLocalGroup
- Domain - Cerca un dominio specifico. Usa il dominio corrente se nullo (Default: null)
- Stealth - Esegue metodi di raccolta stealth. Tutte le opzioni stealth sono a thread singolo.
- ExcludeDomainControllers - Esclude i controller di dominio dall'enumerazione (evita i flag Microsoft ATA :) )
- ComputerFile - Specifica un file da cui caricare nomi/IP di computer
- LdapFilter - Filtro LDAP da aggiungere alla ricerca
- OverrideUserName - Sovrascrive il nome utente per l'enumerazione delle sessioni (avanzato)
- RealDNSName - Sovrascrive il nome DNS per le chiamate API
Opzioni di Ciclo
- Loop - Cicla le raccolte di computer
- LoopDuration - Per quanto tempo ciclare
- LoopInterval - Durata dell'attesa tra un ciclo e l'altro
Opzioni di Connessione
- DomainController - Specifica quale controller di dominio connettere (Default: null)
- LdapPort - Specifica su quale porta è in esecuzione LDAP (Default: 0)
- SecureLdap - Connetti ad AD utilizzando LDAP sicuro invece del normale LDAP. Si connetterà sulla porta 636 per impostazione predefinita.
- LdapUsername - Nome utente per connettersi a LDAP. Richiede anche il parametro LDAPPassword (Default: null)
- LdapPassword - Password per l'utente per connettersi a LDAP. Richiede anche il parametro LDAPUser (Default: null)
- DisableKerberosSigning - Disabilita la crittografia LDAP. Non raccomandato.
Opzioni di Prestazioni
- PortScanTimeout - Specifica il timeout per le richieste ping in millisecondi (Default: 2000)
- SkipPortScan - Indica a Sharphound di saltare le richieste ping per verificare se i sistemi sono attivi
- Throttle - Aggiunge un ritardo dopo ogni richiesta a un computer. Il valore è in millisecondi (Default: 0)
- Jitter - Aggiunge una percentuale di jitter al throttle. (Default: 0)
Opzioni di Output
- OutputDirectory - Cartella in cui salvare i file JSON (Default: .)
- OutputPrefix - Prefisso da aggiungere ai tuoi file JSON (Default: "")
- NoZip - Non comprimere i file JSON nell'archivio zip. Lascia i file JSON su disco. (Default: false)
- EncryptZip - Aggiunge una password generata casualmente al file zip.
- ZipFileName - Specifica il nome del file zip
- RandomizeFilenames - Randomizza i nomi dei file di output
- PrettyJson - Output JSON con indentazione su più righe per migliorare la leggibilità. Il compromesso è l'aumento della dimensione del file.
- DumpComputerStatus - Scarica i codici di errore dalla connessione ai computer
Opzioni di Cache
- CacheFileName - Nome del file per la cache di Sharphound. (Default:
<B64 Machine Sid>.bin)
- NoSaveCache - Non salvare il file cache su disco. Senza questo flag,
<B64 Machine Sid>.bin verrà scritto su disco
- InvalidateCache - Invalida il file cache e costruisci una nuova cache
Opzioni Varie
- StatusInterval - Intervallo per visualizzare l'avanzamento durante l'enumerazione in millisecondi (Default: 30000)