Vai al contenuto

Prossima Edizione del Bootcamp
4 maggio 2026

Attacco Brute Force

Un metodo di attacco per tentativi ed errori che prova sistematicamente ogni possibile combinazione di password, chiavi di crittografia o altre credenziali fino a trovare quella corretta, basandosi sulla potenza computazionale piuttosto che sullo sfruttamento di vulnerabilita.

Autore
Unihackers Team
Tempo di lettura
4 min di lettura
Ultimo aggiornamento

Perche e Importante

Gli attacchi brute force rappresentano l'approccio piu fondamentale per violare l'autenticazione: provare ogni possibilita fino a trovare quella corretta. Sebbene concettualmente semplici, questi attacchi rimangono efficaci contro password deboli, rate limiting inadeguato e sistemi privi di meccanismi di protezione appropriati.

La matematica del brute force crea una corsa tra la potenza computazionale dell'attaccante e la complessita della password del difensore. Un PIN a 4 cifre ha solo 10.000 combinazioni, banali per i computer moderni. Una password di 8 caratteri minuscoli ha circa 200 miliardi di combinazioni, ancora violabile con hardware dedicato. Password forti con caratteri misti e lunghezza sufficiente rendono il brute force impraticabile.

Il riutilizzo delle password amplifica i rischi del brute force. Le credenziali esposte in una violazione diventano input per attacchi di credential stuffing contro altri servizi. La prevalenza di password deboli e riutilizzate garantisce che il brute force rimanga un vettore di attacco praticabile.

Per i professionisti della sicurezza, comprendere le meccaniche del brute force informa le decisioni sulle policy delle password, la progettazione dei sistemi di autenticazione e le strategie di rilevamento degli incidenti.

Come Funzionano gli Attacchi Brute Force

Approccio di Base

Testare sistematicamente ogni possibile combinazione:

brute-force-logic.txt
Text

Obiettivo: Password di 4 caratteri minuscoli
Tentativi:
aaaa → errata
aaab → errata
aaac → errata
...
(continua attraverso tutte le 456.976 combinazioni)
...
pass → corretta!

Tempo e Complessita

password-complexity.txt
Text

Calcoli dello Spazio delle Password:

PIN a 4 cifre:
10^4 = 10.000 combinazioni
A 1000 tentativi/secondo: 10 secondi massimo

8 caratteri minuscoli:
26^8 = 208 miliardi di combinazioni
A 1000 tentativi/secondo: 6.600 anni
A 1 miliardo di tentativi/secondo: 3,5 minuti (attacco offline)

8 caratteri misti (maiuscole, minuscole, numeri, simboli):
95^8 = 6,6 quadrilioni di combinazioni
A 1 miliardo di tentativi/secondo: 209 anni

12 caratteri misti:
95^12 = 540 sestilioni di combinazioni
A 1 miliardo di tentativi/secondo: 17 milioni di anni

Tipi di Attacchi Brute Force

Brute Force Puro

Testa ogni possibile combinazione sistematicamente. Garantisce il successo finale ma spesso impraticabile per password forti.

Attacco a Dizionario

Utilizza liste di password comuni, parole e frasi invece di combinazioni casuali. Molto piu efficiente contro password scelte dall'uomo.

common-passwords.txt
Text

Top 10 Password Piu Comuni:
1. 123456
2. password
3. 12345678
4. qwerty
5. 123456789
6. 12345
7. 1234
8. 111111
9. 1234567
10. dragon

Attacco Ibrido

Combina parole del dizionario con modifiche comuni:

  • Aggiunta di numeri: password1, password123
  • Sostituzione leetspeak: p@ssw0rd
  • Aggiunta di caratteri speciali: password!
  • Pattern di capitalizzazione: Password, PASSWORD

Attacco Rainbow Table

Tabelle pre-calcolate che mappano gli hash alle password originali. Scambiano spazio di archiviazione per tempo di calcolo. Sconfitti dal salting delle password.

Credential Stuffing

Utilizza credenziali trapelate da altre violazioni per testare nuovi obiettivi. Sfrutta il riutilizzo delle password tra servizi.

credential-stuffing.py
Python

# Concetto di credential stuffing (solo test autorizzato)
# Testa credenziali trapelate contro servizio target

leaked_credentials = load_from_breach_database()

for username, password in leaked_credentials:
  if try_login(target_service, username, password):
      print(f"Valido: {username}")

Brute Force Inverso

Invece di provare molte password contro un account, prova una password comune contro molti account. Elude i blocchi per singolo account.

Strumenti e Tecniche

Strumenti per Attacchi Online

hydra-example.sh
Bash

# Hydra - Cracking password online (solo test autorizzato)

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

# Web form brute force
hydra -l admin -P passwords.txt target http-post-form \
"/login:user=^USER^&pass=^PASS^:Credenziali non valide"

Strumenti per Attacchi Offline

hashcat-example.sh
Bash

# Hashcat - Cracking hash accelerato da GPU

# Attacco dizionario su hash MD5
hashcat -m 0 hashes.txt /usr/share/wordlists/rockyou.txt

# Brute force con maschera (8 caratteri, minuscole + cifre)
hashcat -m 0 hashes.txt -a 3 ?l?l?l?l?l?d?d?d

# Attacco basato su regole (dizionario + modifiche)
hashcat -m 0 hashes.txt wordlist.txt -r rules/best64.rule

Hardware per Attacchi

Il cracking moderno delle password sfrutta:

  • GPU di fascia alta (migliaia di dollari)
  • Array FPGA (hardware specializzato)
  • Cloud computing (cluster GPU pay-per-use)
  • ASIC (circuiti integrati specifici per applicazione)

Strategie di Difesa

Policy Password Forti

password-requirements.txt
Text

Raccomandazioni NIST 800-63B:

FARE:
- Minimo 8 caratteri (piu lunghe incoraggiate)
- Permettere fino a 64+ caratteri
- Accettare tutti i caratteri stampabili
- Verificare contro database di violazioni
- Permettere incolla nei campi password

NON FARE:
- Richiedere regole di complessita (maiuscole, minuscole, simboli)
- Forzare cambi periodici di password
- Usare suggerimenti per password
- Imporre regole di composizione arbitrarie

Rate Limiting e Blocchi

  • Implementare ritardi progressivi dopo tentativi falliti
  • Blocco account dopo soglia (con reset automatico)
  • CAPTCHA dopo attivita sospetta
  • Throttling basato su IP

Autenticazione Multi-Fattore

L'MFA rende insufficienti le password rubate:

  • Qualcosa che sai (password)
  • Qualcosa che hai (telefono, chiave di sicurezza)
  • Qualcosa che sei (biometrico)

Archiviazione Sicura delle Password

secure-hashing.py
Python

import bcrypt

# SICURO - Utilizzo di bcrypt con salt
password = b"user_password"

# Hash con generazione automatica del salt
hashed = bcrypt.hashpw(password, bcrypt.gensalt(rounds=12))

# Verifica
if bcrypt.checkpw(password, hashed):
  print("Password corretta")
  • Usare algoritmi di hashing lenti (bcrypt, Argon2, scrypt)
  • Generare salt unico per password
  • Mai usare MD5 o SHA1 per le password
  • Archiviare hash, mai testo in chiaro

Rilevamento e Monitoraggio

  • Registrare i fallimenti di autenticazione
  • Allertare su pattern insoliti
  • Monitorare indicatori di credential stuffing
  • Bloccare range IP noti come malevoli

Connessione alla Carriera

La sicurezza delle password interseca sistemi di autenticazione, gestione delle identita e operazioni di sicurezza. I professionisti che comprendono sia le tecniche di attacco che i controlli difensivi sono preziosi per progettare sistemi sicuri e testare quelli esistenti.

Ruoli Sicurezza Autenticazione (Mercato US)

RoleEntry LevelMid LevelSenior
Specialista IAM70.000 USD95.000 USD125.000 USD
Penetration Tester80.000 USD110.000 USD145.000 USD
Security Engineer85.000 USD115.000 USD155.000 USD

Source: CyberSeek

Nel Bootcamp

Come Insegniamo Attacco Brute Force

Nel nostro Programma di Cybersecurity, non imparerai solo la teoria su Attacco Brute Force. Praticherai con strumenti reali in laboratori pratici, guidato da professionisti del settore che usano questi concetti quotidianamente.

Trattato in:

Modulo 10: Penetration Testing e Hacking Etico

Argomenti correlati che padroneggerai:MetasploitNmapBurp SuiteEscalation dei Privilegi
Scopri Come Lo Insegniamo

360+ ore di formazione guidata da esperti. 94% tasso di occupazione