
SMBeagle - Strumento di audit delle condivisioni file.
____ __ _____ _ __
/ __ \__ ______ / /__/ ___/___ _______ _______(_) /___ __
/ /_/ / / / / __ \/ //_/\__ \/ _ \/ ___/ / / / ___/ / __/ / / /
/ ____/ /_/ / / / / ,< ___/ / __/ /__/ /_/ / / / / /_/ /_/ /
/_/ \__,_/_/ /_/_/|_|/____/\___/\___/\__,_/_/ /_/\__/\__, /
PRESENTS /____/
SMBeagle è uno strumento di audit delle condivisioni file (SMB) multipiattaforma che scova tutti i file che riesce a vedere nella rete e riporta se il file può essere letto e/o scritto. Tutti questi risultati vengono inviati in streaming a un file CSV o a un host elasticsearch, o a entrambi!? 🚀
Quando eseguito su Windows, senza fornire credenziali, SMBeagle utilizza le API win32 per la massima velocità e autenticazione integrata.
Quando eseguito su Linux o quando vengono fornite credenziali, utilizziamo la scansione file multipiattaforma tramite SMBLibrary
SMBeagle fino alla v3 era firmato digitalmente, ma la v4 aggiunge funzionalità più offensive. In particolare, ora cercherà e recupererà i file dall'aspetto interessante. Ottimo per i penetration test, ma non qualcosa che vogliamo firmare digitalmente!
Se desideri la versione originale, senza le funzionalità di acquisizione file, usa la v3 che è firmata digitalmente.
Ha 2 fantastici casi d'uso:
Aziende di tutte le dimensioni hanno spesso condivisioni file con permessi terribili.
Le grandi aziende hanno condivisioni estese sui file server e non è raro trovare dati sensibili con permessi mal configurati.
Le piccole aziende hanno spesso un piccolo NAS nell'angolo dell'ufficio senza alcuna restrizione!
SMBeagle esplora queste condivisioni e elenca tutti i file che può leggere e scrivere. Se può leggerli, anche il ransomware può farlo.
SMBeagle può fornire ai penetration tester le vie meno ovvie per escalare i privilegi e muoversi lateralmente.
Inviando direttamente l'output in elasticsearch, i tester possono trovare rapidamente script leggibili ed eseguibili scrivibili.
Trovare attacchi watering hole e password non protette non è mai stato così facile! 🐱👤
Per renderlo ancora più facile, abbiamo aggiunto il flag -g che ora recupera i file se sembrano interessanti!
Cosa sembra interessante? Bene, per impostazione predefinita cerchiamo script e nomi di file con parole come password.
... Puoi fornire le tue espressioni regolari con il flag --file-pattern.
Consulta Readme di Kibana per istruzioni dettagliate sull'installazione e l'utilizzo delle dashboard Kibana che forniscono visualizzazioni di gestione e rendono più facile il pivot dei dati.
docker pull punksecurity/smbeagleL'unico parametro obbligatorio è impostare un output, che deve essere l'indirizzo IP di un host elasticsearch o un file CSV.
Un buon punto di partenza è abilitare la modalità veloce e produrre output in CSV, ma questo CSV potrebbe diventare enorme a seconda di quanti file trova.
./SMBeagle.exe -c out.csv -f
La scansione di host e reti pubbliche scoperte è disabilitata per impostazione predefinita poiché SMBeagle scopre le reti da netstat che include tutte le connessioni correnti, come sessioni del browser web, ecc.
Per scansionare una rete pubblica, dichiarala manualmente con qualcosa come -n 1.0.0.1/32 o -n 1.0.0.0/24
Punk Security fornisce un'immagine docker Linux di SMBeagle.
Per ottenere i risultati, dovrai montare una cartella nel contenitore e dire a SMBeagle di salvare l'output in quella cartella montata (o usare elasticsearch).
Un buon esempio iniziale è:
docker run -v "$(pwd)/output:/tmp/output" punksecurity/smbeagle -c /tmp/output/results.csv -n 10.10.10.0/24
Nota che il rilevamento di rete è disabilitato quando si esegue in docker, quindi assicurati di passare gli intervalli che desideri scansionare con l'opzione -n, o gli host con l'opzione -h.
USAGE:
Output to a CSV file:
SMBeagle -c out.csv
Output to elasticsearch (Preferito):
SMBeagle -e 127.0.0.1
Output to elasticsearch and CSV:
SMBeagle -c out.csv -e 127.0.0.1
Disable network discovery and provide manual networks:
SMBeagle -D -e 127.0.0.1 -n 192.168.12.0./23 192.168.15.0/24
Do not enumerate ACLs (PIÙ VELOCE):
SMBeagle -A -e 127.0.0.1
-c, --csv-file (Gruppo: output) Invia i risultati in un file
CSV fornendo il percorso del file
-e, --elasticsearch-host (Gruppo: output) Invia i risultati a
elasticsearch fornendo il nome host
elasticsearch (porta predefinita 9200, ma può essere
sovrascritta)
-a, --aggression (Predefinito: 6) Varia la velocità di scansione in un intervallo
tra 1 e 10. 10 è il massimo [Nessun decimale]
--elasticsearch-port (Predefinito: 9200) Definisce la porta personalizzata
elasticsearch se necessario
-f, --fast Enumera solo i permessi di un file per
directory
-l, --scan-local-shares Scansiona le condivisioni locali su questa macchina
-D, --disable-network-discovery Disabilita il rilevamento di rete
-n, --network Aggiungi manualmente una rete da scansionare (multiple
accettate)
-N, --exclude-network Escludi una rete dalla scansione (multiple
accettate)
-h, --host Aggiungi manualmente un host da scansionare
-H, --exclude-host Escludi un host dalla scansione
-q, --quiet Disabilita output non necessari
-S, --exclude-share Non scansionare condivisioni con questo nome (multiple
accettate)
-s, --share Scansiona solo condivisioni con questo nome (multiple
accettate)
--file-pattern Recupera solo file che corrispondono a questi pattern
di espressioni regolari
-g, --grab-files Recupera file e li salva localmente
--loot (Predefinito: loot) Percorso per salvare i file catturati
-E, --exclude-hidden-shares Escludi condivisioni che terminano con $
-v, --verbose Fornisce più output
-m, --max-network-cidr-size (Predefinito: 20) Dimensione massima della rete da scansionare
per gli host SMB
-A, --dont-enumerate-acls (Predefinito: false) Salta l'enumerazione delle ACL
dei file
-d, --domain (Predefinito: ) Dominio per la connessione SMB
-u, --username Nome utente per la connessione SMB - obbligatorio
su Linux
-p, --password Password per la connessione SMB - obbligatoria
su Linux
--help Mostra questa schermata di aiuto.
--version Mostra le informazioni sulla versione.
SMBeagle esegue molto lavoro, suddiviso in moduli poco accoppiati che si passano il testimone l'uno all'altro. Ciò mantiene il progetto semplice e ci permette di estendere facilmente ogni modulo.
In sintesi, fa:
