Medusa: High-Speed Login Brute-Force Tool per Servizi di Rete

Medusa è un tool parallelo per brute-force di autenticazioni su SSH, FTP, SMB, HTTP e altri servizi. Veloce, modulare e ideale per password auditing autorizzato.
- Pubblicato il 2026-02-17
- Tempo di lettura: 5 min
Medusa è un bruteforcer veloce e modulare progettato per attacchi su larga scala. A differenza di Hydra, Medusa eccelle nella stabilità durante attacchi prolungati e nella gestione di grandi liste di target. In questa guida impari a configurare attacchi paralleli contro SSH, FTP, SMB e servizi web, sfruttando al massimo le capacità di threading del tool.
Perché Scegliere Medusa #
Quando hai centinaia di host da testare o wordlist massicce, Medusa offre vantaggi concreti rispetto ad altri bruteforcer. La sua architettura modulare permette di aggiungere supporto per nuovi protocolli senza modificare il core, mentre il sistema di threading è ottimizzato per mantenere connessioni stabili anche sotto carico pesante.
Medusa gestisce nativamente il testing parallelo su multipli host, cosa che con Hydra richiede scripting esterno. Se il tuo scenario prevede spray attack su un’intera subnet o test prolungati che durano ore, Medusa è spesso la scelta migliore.
Installazione e Setup #
Su Kali Linux Medusa è già presente. Verifica l’installazione e assicurati di avere l’ultima versione:
medusa -V
sudo apt update && sudo apt install medusa -yPer Debian e Ubuntu il pacchetto è disponibile nei repository standard. Se preferisci compilare da source per avere tutti i moduli disponibili:
git clone https://github.com/jmk-foofus/medusa.git
cd medusa
./configure
make && sudo make installLa compilazione da source è consigliata se ti servono moduli specifici come Oracle o PostgreSQL che potrebbero non essere inclusi nel pacchetto precompilato.
Sintassi e Parametri Principali #
La struttura base di un comando Medusa segue sempre lo stesso pattern: specifichi target, credenziali e modulo da utilizzare.
medusa -h target -u user -P wordlist.txt -M moduloI parametri che userai più frequentemente sono questi:
| Parametro | Funzione |
|---|---|
-h | Host singolo |
-H | File con lista host |
-u | Username singolo |
-U | File con lista username |
-p | Password singola |
-P | File con lista password |
-M | Modulo (ssh, ftp, http, smb…) |
-t | Thread per host |
-T | Thread totali |
-f | Stop al primo successo per host |
-F | Stop al primo successo globale |
-n | Porta non standard |
-O | File output risultati |
Attacchi SSH #
SSH è probabilmente il target più comune per bruteforce. Medusa gestisce sia autenticazione password che keyboard-interactive senza configurazione aggiuntiva.
Per un attacco base contro un singolo host:
medusa -h 192.168.1.100 -u root -P /usr/share/wordlists/rockyou.txt -M sshQuando hai multiple credenziali da testare, puoi specificare sia lista utenti che password. Medusa testerà tutte le combinazioni:
medusa -h 192.168.1.100 -U users.txt -P passwords.txt -M ssh -t 4Il parametro -t 4 limita a 4 thread per host, fondamentale per evitare di triggerare protezioni fail2ban o simili.
L’output di un attacco riuscito mostra chiaramente le credenziali trovate:
ACCOUNT FOUND: [ssh] Host: 192.168.1.100 User: admin Password: admin123 [SUCCESS]Attacchi su Multipli Host #
La vera forza di Medusa emerge negli attacchi distribuiti su molti target. Invece di scriptare cicli bash, puoi passare direttamente un file con la lista:
medusa -H targets.txt -u administrator -P passwords.txt -M ssh -T 32Con -T 32 specifichi il numero totale di thread, che Medusa distribuirà intelligentemente tra tutti gli host. Questo approccio è molto più efficiente di lanciare istanze separate.
Per un password spray efficace dove testi poche password su molti utenti (minimizzando il rischio di lockout), la sintassi diventa:
medusa -H targets.txt -U users.txt -p "Summer2024!" -M sshAttacchi FTP #
Il modulo FTP funziona in modo analogo a SSH. Medusa supporta sia FTP standard che FTPS:
medusa -h 192.168.1.100 -u admin -P passwords.txt -M ftpPer testare accesso anonimo, usa semplicemente:
medusa -h 192.168.1.100 -u anonymous -p anonymous -M ftpAttacchi SMB #
SMB è fondamentale per ambienti Windows. Medusa supporta autenticazione NTLM e può testare credenziali di dominio:
medusa -h 192.168.1.100 -u administrator -P passwords.txt -M smbntPer specificare un dominio Windows:
medusa -h 192.168.1.100 -u admin -P passwords.txt -M smbnt -m DOMAIN:CORPDopo aver trovato credenziali valide, puoi procedere con lateral movement usando CrackMapExec o PsExec.
Attacchi HTTP #
Medusa supporta sia HTTP Basic Authentication che form-based login, anche se per quest’ultimo la configurazione richiede più attenzione.
Per Basic Auth:
medusa -h 192.168.1.100 -u admin -P passwords.txt -M http -m DIR:/adminIl parametro -m DIR:/admin specifica il path protetto da autenticazione.
Per form HTTP POST la configurazione è più complessa e in questi casi spesso conviene usare Hydra o Patator che hanno sintassi più intuitive per i form web.
Attacchi Database #
Medusa include moduli per i database più comuni. Per MySQL:
medusa -h 192.168.1.100 -u root -P passwords.txt -M mysqlPer PostgreSQL:
medusa -h 192.168.1.100 -u postgres -P passwords.txt -M postgresPer Microsoft SQL Server:
medusa -h 192.168.1.100 -u sa -P passwords.txt -M mssqlRicorda che molti database hanno protezioni contro bruteforce o rate limiting. Usa thread bassi (-t 2) per evitare blocchi.
Ottimizzazione Performance #
La gestione dei thread è cruciale per bilanciare velocità e affidabilità. Troppi thread causano timeout e connessioni rifiutate, troppo pochi rallentano l’attacco inutilmente.
Come regola generale:
- SSH: 4-8 thread per host (fail2ban è comune)
- FTP: 8-16 thread
- HTTP: 16-32 thread
- SMB: 4-8 thread (Windows può bloccare)
- Database: 2-4 thread
Per attacchi multi-host, il parametro -T controlla i thread totali. Con 100 host e -T 50, Medusa distribuirà circa 0.5 thread per host, garantendo stabilità.
Gestione Output #
Per analizzare i risultati di attacchi lunghi, salva sempre l’output su file:
medusa -h 192.168.1.100 -U users.txt -P passwords.txt -M ssh -O results.txtIl file conterrà solo gli account trovati, facilmente parsabile per automazione successiva.
Per verbose output durante l’esecuzione, aggiungi -v (livelli da 1 a 6):
medusa -h 192.168.1.100 -u admin -P passwords.txt -M ssh -v 4Scenario Pratico: Subnet Assessment #
Immagina di dover testare credenziali default su un’intera subnet durante un penetration test. Ecco un workflow completo:
Prima identifica tutti gli host con SSH attivo usando nmap:
nmap -p 22 --open 192.168.1.0/24 -oG - | grep "22/open" | cut -d " " -f 2 > ssh_hosts.txtPoi esegui password spray con credenziali comuni:
medusa -H ssh_hosts.txt -U common_users.txt -p "Password1" -M ssh -T 20 -O found_creds.txtIl file common_users.txt dovrebbe contenere utenti tipici come root, admin, administrator, user, guest.
Confronto con Altri Tool #
| Caratteristica | Medusa | Hydra | Patator |
|---|---|---|---|
| Stabilità attacchi lunghi | Ottima | Buona | Buona |
| Multi-host nativo | Sì | No | Parziale |
| Velocità raw | Media | Alta | Media |
| Protocolli supportati | 20+ | 50+ | 15+ |
| Facilità HTTP form | Bassa | Media | Alta |
| Gestione CSRF | No | No | Sì |
Usa Medusa quando: hai molti host, attacchi lunghi, necessiti stabilità. Usa Hydra per attacchi singoli e veloci. Usa Patator per form complessi con token dinamici.
Troubleshooting #
Connessioni timeout frequenti: riduci thread con -t 2 e aumenta il timeout di connessione.
“Too many connections”: il target ha rate limiting. Riduci drasticamente i thread o aggiungi delay.
Modulo non trovato: verifica i moduli disponibili con medusa -d. Potresti dover ricompilare con dipendenze aggiuntive.
Falsi negativi: alcuni servizi hanno messaggi di errore non standard. Usa -v 6 per vedere le response complete e verificare che Medusa interpreti correttamente successo/fallimento.
FAQ #
Medusa è meglio di Hydra?
Dipende dallo scenario. Medusa eccelle in attacchi distribuiti e prolungati, Hydra è più veloce per target singoli e supporta più protocolli.
Come evito account lockout?
Password spray (una password per molti utenti) invece di bruteforce tradizionale. Usa delay tra tentativi e thread bassi.
Posso usare combo file user:pass?
Medusa non supporta combo file nativamente. Usa Hydra con -C oppure genera liste separate da un combo file.
È legale usare Medusa?
Solo su sistemi con autorizzazione scritta. Per penetration test professionali, contatta hackita.it/servizi.
Vuoi supportare HackIta? Visita hackita.it/supporto per donazioni. Per penetration test professionali e formazione 1:1, scopri hackita.it/servizi.
Risorse: Medusa GitHub | Foofus Medusa







