Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
icebreaker — Ottiene credenziali in chiaro di Active Directory se ti trovi sulla rete interna ma al di fuori dell'ambiente AD. | Kitploit
Strumenti/GitHubGitHub/danmcinerney/icebreaker
Password CrackingRicognizioneAnalisi delle VulnerabilitàPost-ExploitPenetration TestingRed Teaming
GitHubdanmcinerney/icebreaker

icebreaker

Ottiene credenziali in chiaro di Active Directory se ti trovi sulla rete interna ma al di fuori dell'ambiente AD.

Vedi Repository
1.2k1597 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

icebreaker

Rompete il ghiaccio con quel simpatico ambiente Active Directory laggiù. Quando siete freddi e soli a fissare una festa di Active Directory senza possedere neppure una singola credenziale AD per unirvi al divertimento, questo strumento fa per voi.

Automatizza sequenzialmente 5 attacchi interni di rete contro Active Directory per fornirvi credenziali in chiaro. Usate l'opzione --auto per acquisire automaticamente privilegi di amministratore di dominio dopo aver ottenuto un punto d'appoggio.

Dettagli riassuntivi

I seguenti attacchi vengono eseguiti sequenzialmente fino al quarto e quinto attacco, che vengono eseguiti in parallelo e indefinitamente.

  • Reverse bruteforce
    • Acquisisce automaticamente un elenco di nomi utente e testa ciascuno con due delle password AD più comuni (più di due tentativi potrebbero attivare le politiche di blocco dell'account)
  • Caricamento su condivisioni di rete
    • Cattura le password degli utenti con caricamenti di file malevoli su condivisioni di rete disponibili
  • Avvelenamento dei protocolli di rete broadcast
    • Utilizza protocolli di rete comuni per ingannare i computer degli utenti e inviarvi le password
  • Man-in-the-middle Connessioni SMB
    • Esegue comandi da remoto su computer AD per raccogliere password
  • Avvelenamento DNS IPv6
    • Sfrutta il DNS per ingannare i computer AD e inviarvi le password dei loro utenti

Dettagli tecnici

Tutti gli hash NetNTLMv2 catturati nelle tecniche sottostanti vengono automaticamente craccati con JohnTheRipper e una lista di password specifica per AD di lunghezza 1 milione.

  • Reverse bruteforce
    • Usa rpcclient per trovare host che accettano sessioni SMB nulle
    • Usa ridenum per trovare nomi utente validi tramite RID cycling su host SMB nulli
    • Può usare theHarvester per raccogliere ulteriori potenziali nomi utente da un dominio internet specificato
    • Esegue un reverse bruteforce di 2 password sui nomi utente trovati, oppure è possibile specificare una lista di password da usare
    • Password predefinite testate: P@ssw0rd e <stagione_corrente><anno>, ad es., Spring2018
  • Caricamento SCF
    • Usa Nmap per trovare condivisioni di rete anonimamente scrivibili tramite lo script NSE smb-enum-shares
    • Scrive un file SCF sulla condivisione con un percorso dell'icona del file che punta alla vostra macchina
    • Quando un utente AD apre la condivisione in Esplora file, il suo hash NetNTLMv2 viene inviato a voi
  • Avvelenamento LLMNR/NBTNS/mDNS
    • Usa Responder.py per avvelenare i protocolli di rete broadcast/multicast di livello 2 (LLMNR, NBT-NS, mDNS) e catturare hash NetNTLMv2
  • Relay SMB
    • Usa ntlmrelayx.py e Responder.py per fare relay degli hash SMB
    • Usa Nmap per identificare target vulnerabili al relay tramite lo script NSE smb-security-mode
    • I target vulnerabili avranno SMBv1 abilitato e la firma SMB disabilitata
    • Un relay riuscito di un hash comporterà la cattura dell'hash NetNTLMv2 di un utente, che verrà automaticamente craccato
    • Se un hash utente viene inoltrato a una macchina e quell'utente è un amministratore locale, verrà eseguito un comando e verranno eseguite le seguenti operazioni da remoto:
      • Aggiungere un utente amministrativo - icebreaker:P@ssword123456
      • Eseguire una versione offuscata e bypassante AMSI di Mimikatz
      • L'output di Mimikatz viene analizzato per hash NTLM e password in chiaro
      • Eseguire una versione offuscata e bypassante AMSI di Invoke-PowerDump per gli hash SAM
      • L'output viene analizzato per hash NTLM
  • Avvelenamento DNS IPv6
    • Usa mitm6 e ntlmrelayx.py per avvelenare il DNS IPv6 al fine di catturare hash utente NetNTLMv2
    • Crea un server WPAD falso con autenticazione
    • Il DNS IPv6 è abilitato per impostazione predefinita negli ambienti Active Directory
    • Nota: questo può causare problemi di connettività di rete agli utenti

Come funziona

Eseguirà i 5 attacchi di rete sopra menzionati in ordine. Il reverse bruteforce e il caricamento di file SCF di solito sono piuttosto rapidi, poi si ferma sull'attacco 3, Responder.py, per 10 minuti per impostazione predefinita. Trascorso quel tempo, o il tempo specificato dall'utente, si passerà agli ultimi due attacchi, che vengono eseguiti in parallelo e indefinitamente.

Se vengono scoperti host che consentono sessioni SMB nulle, icebreaker userà ridenum per eseguire il RID cycling per nomi utente validi. Se utilizzate l'opzione "-d <somedomain.com>", theHarvester estrarrà eventuali indirizzi email dal sito specificato. Tutti i nomi utente email compatibili con AD verranno aggiunti all'elenco dei nomi utente per il reverse bruteforce. Icebreaker utilizza la libreria asyncio per eseguire il reverse bruteforce usando lo strumento Linux rpcclient con 10 worker asincroni.

L'attacco di caricamento SCF sfrutta i file Shell Command File (SCF) contro condivisioni di rete anonimamente scrivibili. Gli SCF sono file che possono eseguire azioni di base come mostrare il desktop o aprire una finestra di Esplora file. Hanno la curiosa proprietà di permettere di impostare l'icona del file su un percorso di rete. Se impostate questo percorso di rete sulla vostra macchina, gli utenti che aprono la condivisione file in Esplora file invieranno automaticamente il loro hash di password NetNTLMv2 a voi. Icebreaker usa lo script Nmap smb-enum-shares per trovare condivisioni anonimamente scrivibili, quindi genera e carica automaticamente l'SCF payloadato.

L'attacco 3 usa Responder.py per avvelenare i protocolli multicast/broadcast LLMNR, NBT-NS e mDNS. Quando gli utenti navigano verso un percorso di rete inesistente, Responder dirà loro che la vostra macchina attaccante è il percorso corretto. L'hash della password NetNTLMv2 dell'utente è ora vostro. Responder catturerà gli hash inviati tramite l'attacco SCF, ma l'attacco successivo è generalmente più utile per catturare gli hash SCF perché ha il potenziale di utilizzare l'hash per l'esecuzione di comandi.

Il relay SMB è un vecchio attacco di rete in cui gli aggressori si posizionano tra il client SMB e il server SMB. Ciò consente agli aggressori di catturare e inoltrare hash NetNTLMv2 a host che hanno SMBv1 abilitato e la firma SMB disabilitata. ntlmrelayx.py della libreria Impacket viene utilizzato per il relay mentre Responder.py viene utilizzato per il man-in-the-middle delle connessioni SMB. Se l'utente client SMB ha diritti amministrativi su qualsiasi host della rete che ha la firma SMB disabilitata, ntlmrelayx.py eseguirà comandi su quell'host.

Una volta che ntlmrelayx inoltra un hash catturato, eseguirà un comando powershell codificato in base64 che prima aggiunge un utente amministrativo (icebreaker:P@ssword123456) poi esegue una versione offuscata e bypassante AMSI di Mimikatz, seguita da una versione offuscata e bypassante AMSI di Invoke-PowerDump. L'output di Invoke-Mimikatz e Invoke-PowerDump viene analizzato per password in chiaro o hash NTLM e viene consegnato all'utente nell'output standard e anche nel file found-passwords.txt. Gli hash NTLM, a differenza degli hash NetNTLMv2, possono essere usati proprio come una password in chiaro per l'autenticazione ad altri host AD. L'unica avvertenza è che da quando è stata applicata la patch KB2871997 di Microsoft, solo l'account amministratore locale builtin RID 500 può essere utilizzato negli attacchi pass-the-hash.

L'attacco finale usa lo strumento mitm6 per eseguire un attacco man-in-the-middle DNS IPv6 contro l'intera rete. Questo costringe gli host della rete a utilizzare la macchina dell'attaccante come server DNS. Una volta impostato come server DNS, l'attaccante serve file di configurazione proxy WPAD malevoli alle vittime e raccoglie i loro hash NetNTLMv2. Questi hash vengono inoltrati usando ntlmrelayx.py per ulteriori possibilità di esecuzione di codice da remoto. Una cosa da notare è che questo attacco è incline a causare problemi sulla rete. Spesso causa errori di certificato sui computer client nel browser. Probabilmente rallenterà anche la rete. La bellezza di questo attacco, tuttavia, è che gli ambienti Windows AD sono vulnerabili per impostazione predefinita.

Se icebreaker viene eseguito con il flag --auto [tmux/xterm], al raggiungimento dell'attacco 4 icebreaker eseguirà Empire e DeathStar in una sessione tmux o finestre xterm. Con questa opzione, invece di eseguire mimikatz sull'host remoto a cui abbiamo inoltrato l'hash, icebreaker aggiungerà un utente amministrativo e poi eseguirà il codice di lancio powershell di Empire per ottenere un agente sulla macchina remota. DeathStar userà questo agente per automatizzare il processo di ottenimento dell'amministratore di dominio. Empire e DeathStar non si chiuderanno quando uscite da icebreaker.

Il cracking delle password viene eseguito con JohnTheRipper e una wordlist personalizzata. L'origine di questa lista è da merged.txt che è ogni password dal repository GitHub SecLists combinata. La wordlist è stata potata e non include password con: tutto minuscolo, tutto maiuscolo, tutti simboli, meno di 7 caratteri, più di 32 caratteri. Queste regole sono conformi ai requisiti predefiniti delle password di Active Directory e hanno portato l'elenco da 20 milioni a poco più di 1 milione, il che rende il cracking delle password estremamente veloce.

Installazione

Come root:

root@kitploit:~
./setup.sh
pipenv install --three
pipenv shell

Potreste ricevere un errore dopo aver eseguito pipenv install. Aggiornate a una versione di pipenv superiore alla 11.9.0 se è il caso. Potete fare git clone di pipenv da github e semplicemente apt-get remove python-pipenv && python setup.py install dalla cartella.

Utilizzo Docker

Ancora alcuni bug da risolvere con l'immagine docker, quindi è probabile che dia errore, ma è quasi pronta. Dal repository Git:

root@kitploit:~
docker build --rm -t danmcinerney/icebreaker .
docker run danmcinery/icebreaker

Oppure aggiungete i comandi che normalmente aggiungereste a icebreaker (non dimenticate di mappare i volumi):

root@kitploit:~
docker run -v $(pwd)/logs:/icebreaker/logs -v $(pwd)/hashes:/icebreaker/hashes -v $(pwd)/icebreaker-scan.xml:/icebreaker/icebreaker-scan.xml -v $(pwd)/submodules:/icebreaker/submodules -e PYTHONUNBUFFERED=0 danmcinerney/icebreaker -x icebreaker-scan.xml

**Nota: Dovrete mappare le porte per i listener con il flag -p <host>:<container> di docker.

Utilizzo

Eseguire come root. Leggere da un elenco separato da nuove righe di indirizzi IP (singoli IP o intervalli CIDR) e invece di far aggiungere un utente ed eseguire mimikatz sulla vittima dopo il relay dell'hash, far eseguire un comando personalizzato sulla macchina vittima. In questo esempio gli stiamo dando un comando simile a quello che Empire potrebbe darci per un one-liner powershell launcher.

./icebreaker -l targets.txt -c "powershell -nop -w hidden -exec bypass -enc WwFk..."

Leggere da un hostlist, dire a Responder di usare l'interfaccia eth0 invece dell'interfaccia gateway predefinita, far eseguire Responder per 30 minuti invece dei soliti 10 minuti, ed eseguire i comandi post-relay predefiniti di ntlmrelayx per scaricare il SAM dal server vittima.

./icebreaker -l targets.txt -i eth0 -t 30 -c default

Usare un file XML di output di Nmap, saltare tutti e cinque gli attacchi più non craccare automaticamente gli hash, e usare una lista di password personalizzata per l'attacco reverse bruteforce (notate che poiché questo esempio salta l'attacco 1 tramite '-s rid', la lista di password specificata non verrà nemmeno utilizzata; questo è solo un esempio)

./icebreaker.py -x nmapscan.xml -s rid,scf,llmnr,relay,dns,crack -p /home/user/password-list.txt

Uso "fire-and-forget": inserire il file dei target, estrarre i nomi utente email da companydomain.com da aggiungere all'attacco reverse bruteforce, saltare l'avvelenamento DNS IPv6 di mitm6, ed eseguire Empire e DeathStar in finestre tmux o xterm una volta iniziato l'attacco 4 per ottenere l'amministratore di dominio automaticamente. L'obiettivo di questo utilizzo è lanciare il comando il lunedì alle 9:00 e poi fare una breve pausa ininterrotta fino al venerdì alle 16:30, momento in cui torniamo a una shell di amministratore di dominio che ci aspetta. Saltiamo l'attacco 5 (mitm6) perché a volte può causare problemi di rete e non vogliamo clienti arrabbiati che interrompono la nostra pausa tanto sudata.

./icebreaker.py -l targets.txt -d companydomain.com -s dns --auto [tmux/xterm]

Scarica lo strumento