Attacco della maschera — Operazione completa
Documento di riferimento del progetto Time2Crack
Recipienti: sviluppatori, ricercatori di sicurezza, utenti avanzati
Contenuto
addMaskAttacks()1. Panoramica
Maschera di attacco consiste di test password che seguono un forma posizionata precisa invece di tutte le combinazioni possibili.
Esempio: invece di testare tutti gli spazi 8 caratteri su 95 simboli (95^8), l'attaccante mira a un motivo probabile come:
- 1 capitale,
O la maschera Hashcat ?u?l?l?l?l?l?d?d.
L'idea centrale: le password umane non sono casuali, spesso strutturate (Thomas42♪ Marine2024♪ Bonjour!1La maschera sfrutta proprio questa regolarità.
2. Sfondo storico e accademico
2.1 Origini
La logica delle maschere è vecchia: dai primi strumenti di cracking, gli operatori hanno osservato che le politiche password producono formati ripetitivi.
L'industrializzazione è dotata di:
2.2 Validazione empirica
La letteratura offensiva / difensiva converge: una frazione molto grande di password reali seguono modelli semplici (parola + cifre, capitale iniziale + parola + anno, ecc).
Wheeler (USENIX 2016), e le opere probabilistiche (Markov/PCFG/OMEN), mostrano che la struttura è decisiva come la lunghezza lorda.
3. Fondazioni concettuali: Perché le maschere funzionano
3.1 Gli esseri umani generano strutture, non per caso
La maggior parte degli utenti costruisce segreti di memoria:
Questa strategia è prevedibile e altamente comprimibile in maschere.
3.2 Le politiche di complessità migliorano la prevedibilità
Una regola del tipo "1 capitale, 1 cifra, 1 simbolo" non impone casualità; spesso spinge verso modelli stabili:
Mot123!Prénom2024Ville75#La maschera è lo strumento ideale per sfogliare questi diagrammi a un costo molto basso.
3.3 Riduzione dello spazio chiave efficace
Per una password di lunghezza 8 :
95^8) 6.63e15 candidati,?u?l?l?l?l?d?d = 26 26.4 10^2 = 1.19e9 candidati.La riduzione è più di un milione di volte, mentre copre un modello umano comune.
4. Architettura di un attacco di maschera moderna
Tipo di tubo:
1) Profilage de la cible / du corpus
-> structures fréquentes (L8D2, L6D4, U1L5D2, etc.)
2) Generazione di maschere candidate
-> ordinato per probabilità
3) esecuzione GPU (Hashcat -a 3)
- > test paralleli ad alta velocità
4) Regolazione adattativa
-> teniamo le maschere alte, spargiamo i deboli
Il successo dipende meno dalla quantità lorda di maschere che dalla loro priorità.
5. Sintassi della maschera (Hashcat/JtR)
5.1 Classi di base
?l : minuscolo (a-z)?u : capitali (A-Z)?d : numero (0-9)?s : simbolo stampabile?a : alfabeto misto standard (spesso ?l?u?d?s)5.2 Esempi
?u?l?l?l?l?d?d - > Thomas42?l?l?l?l?l?l?d?d?d?d - > summer2024?u?l?l?l?l?l?l?s?d - > Marine!75.3. Maschere personalizzate
Hashcat consente set di caratteri personalizzati (-1♪ -2, ecc.), per esempio:
-1 ?l?uéèàç per lingue latine,-2 0123456789!@# per suffissi probabili,?1?1?1?1?2?2.6. Riduzione dello spazio chiave: principio matematico
O una maschera di lunghezza n con cardinalità posizionali c1, c2, ..., cn.
Lo spazio chiave mascherato è:
Kmaschera = D(i)
Tempo (modello di budget):
T = Kmask / rate
In un modello ingenuo e smascherato:
Kpieno =
Il guadagno della maschera è:
Gain = Kfull / K_mask
Più forte è il vincolo posizionale (ad esempio, cifre alla fine, capitale nella testa), maggiore è il guadagno.
7. Attuazione in Time2Crack: addMaskAttacks()
Time2Crack implementa la logica della maschera in app.js :
addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)cat: "mask"aMask / nota nMaskPositional♪ nKBDetected♪ nSeqDetected♪ nDateDetected7.1. Calcolo dello spazio chiave mascherato
Il codice conta gli eventi effettivi di ogni tipo di carattere nella password:
Poi costruito:
maskKS = 26^U 26. 10^D 33 (approssimazione tramite costanti interne)
Questo modello un attaccante che conosce la struttura per tipo, non solo la lunghezza totale.
7.2 Casi speciali
weak : stima tramite weakGuessTime(a.rate) (intervallo minimo dipendente dal flusso),dt (data rilevata): riduzione tramite detectDateAndReduce()♪Il tempo è quindi stimato da budgetTime(effectiveMaskGuesses, a.rate) (con fattore di grado di maschera e elaborazione Unicode/date).
8. Rilevazione della data e riduzione strutturale
Time2Crack include un'elaborazione specifica della data (hasDate♪ detectDateAndReduce)
1600-2099♪DD/MM/YYYY, varianti di separatore),10^dateChars) da un set plausibile (~200 années o ~36500 dates).Conseguenza: una password di tipo Mot2024! Questo è coerente con la pratica offensiva.
9. Taratura ad alta fedeltà
Quando la modalità di alta fedeltà è attiva, la categoria maschera riceve un moltiplicatore aggiuntivo in applyHighFidelityCalibration() :
Intuizione: Questi segnali aumentano la probabilità di una prima classifica nella linea di maschere testate.
10. Benchmarks e ordini di grandezza
Ordini di magnitudo (profilo 12x RTX 4090):
AlgoritmoTasso di flusso approssimativoTempo per 1st 9 candidati --------- MD5~2.03 TH/s- 10.000. SHA-1~610 GH/s~0.0016 s SHA-256~ 272 GH/s~0.0037 NT1~3.46 TH/s~0.0003 bcrypt (costo 10)~69 kH/s~4.0 h Argon2id~ 800 H/s~ 14,5 giorniLettura:
11. Esempi concreti di cracking maschera
11 Thomas42
?u?l?l?l?l?l?d?d26 26^4 10. (ordine di grandezza ~1e9)11 summer2024
?l?l?l?l?l?l?d?d?d?d10^4).11 Marine!7
?u?l?l?l?l?l?s?d12. Confronto con Crude Force, Hybrid e PCFG
AttaccoPunto fortePunto basso --------- Forza lordaCopertura completacosto esponenziale MascheraEfficienza eccellente sulle strutture umaneSensibile per cattiva scelta della maschera Ibrido/ruoleMolto buono su parole + mutazioniDipende da una parola di base PCFCattura la grammatica globalePiù costoso per allenare/operareIn pratica, gli operatori spesso combinano maschera + regole + probabilità.
13. Limitazioni di attacco di maschera
?a Ripeto sulla lunghezza lunga ritorna vicino alla forza bruta.14. Efficace difesa
14.1 lato utente
Mot+année♪ Prénom+chiffres♪ Majuscule+mot+symbole.14.2. Lato di sistema
14.3 Politica
15. Riferimenti biblici
Fonti accademiche
Wheeler, D.L. (2016). zxcvbn: stima della forza della password a basso costo. 25 ° Simposio di sicurezza USENIX. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Tracciamento di password utilizzando Grammatica Probabilistica Senza Contesto. Simposio IEEE sulla sicurezza e sulla privacy. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). OMEN: Password più veloce indovinando utilizzando un Enumeratore di Markov ordinato. ESSoS. Ur, B., Kelley, P. G., Komanduri, S., et al. (2012). Come si misura la tua password? UTILIZZAZIONEFonti industriali e tecniche
Hashcat Wiki. Attacco della maschera (-a 3). https://hashcat.net/wiki/ Hashcat (benchmarks). https://hashcat.net/hashcat/ Hive Systems (Tabella password). https://www.hivesystems.io/password-tableFonti web citate nell'applicazione Time2Crack
USE sicurezza nazionale 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheelerDocumento generato per Time2Crack Project — Versione 1.0 — 2026-04-01 Codice sorgente:
app.js (funzioni addMaskAttacks♪ detectDateAndReduce♪ hasDate♪ budgetTime♪ applyHighFidelityCalibration*