Ataque de máscaras - Operación integral
Documento de referencia del proyecto Time2Crack
Recipientes: desarrolladores, investigadores de seguridad, usuarios avanzados
Índice
addMaskAttacks()1. Sinopsis
El ataque de máscara consiste en probar contraseñas que siguen un forma de posición precisa en lugar de todas las combinaciones posibles.
Ejemplo: en lugar de probar todos los 8 caracteres del espacio de 95 símbolos (95^8), el atacante apunta un motivo probable como:
- 1 capital,
O la máscara Hashcat ?u?l?l?l?l?l?d?d.
La idea central: las contraseñas humanas no son aleatorias.Thomas42, Marine2024, Bonjour!1La máscara explota precisamente esta regularidad.
2. Antecedentes históricos y académicos
2.1 Origen
La lógica de las máscaras es vieja: desde las primeras herramientas de grieta, los operadores observaron que las políticas de contraseña producen formatos repetitivos.
La industrialización viene con:
2.2 Validación empírica
La literatura ofensiva/defensiva converge: una fracción muy grande de contraseñas reales siguen patrones simples (palabra + dígitos, inicial de capital + palabra + año, etc.).
Wheeler (USENIX 2016), y las obras probabilísticas (Markov/PCFG/OMEN), muestran que la estructura es tan decisiva como la longitud bruta.
3. Fundaciones conceptuales: Por qué las máscaras trabajan
3.1 Los humanos generan estructuras, no por casualidad
La mayoría de los usuarios construyen secretos de memoria:
Esta estrategia es previsible y altamente compresible en máscaras.
3.2 Las políticas de complejidad aumentan la previsibilidad
Una regla del tipo "1 capital, 1 dígito, 1 símbolo" no impone aleatoriedad; a menudo empuja hacia patrones estables:
Mot123!Prénom2024Ville75#La máscara es la herramienta ideal para navegar por estos diagramas a un costo muy bajo.
3.3 Reducción del espacio clave eficaz
Para una contraseña de longitud 8 :
95^8) 6.63e15 candidatos,?u?l?l?l?l?d?d = 26 26^4 10^2 = 1.19e9 candidatos.La reducción es varios millones de veces, mientras que cubre un patrón humano común.
4. Arquitectura de un ataque moderno de máscaras
Tipo de tubería:
1) Profilage de la cible / du corpus
-> structures fréquentes (L8D2, L6D4, U1L5D2, etc.)
2) Generación de máscaras candidatas
- Fue ordenado por probabilidad
3) Ejecución de GPU (Hashcat -a 3)
- Pruebas paralelas de alta velocidad
4) Ajuste adaptativo
- Mantenemos las máscaras altas, difundimos a los débiles
El éxito depende menos de la cantidad bruta de máscaras que de su priorización.
5. Mask Syntax (Hashcat/JtR)
5.1 Clases básicas
?l : diminutoa-z)?u : capitales (A-Z)?d : número (0-9)?s : símbolo imprimible?a : alfabeto mixto estándar (a menudo ?l?u?d?s)5.2 Ejemplos
?u?l?l?l?l?d?d - No. Thomas42?l?l?l?l?l?l?d?d?d?d - No. summer2024?u?l?l?l?l?l?l?s?d - No. Marine!75.3. Máscaras personalizadas
Hashcat permite conjuntos de caracteres personalizados (-1, -2, etc.), por ejemplo:
-1 ?l?uéèàç para los idiomas latinos,-2 0123456789!@# para sufijos probables,?1?1?1?1?2?2.6. Reducción del espacio clave: principio matemático
O una máscara de longitud n con cardenalidades posicionales c1, c2, ..., cn.
El espacio clave enmascarado es:
Kmáscara = i)
Tiempo (modelo presupuestario):
T = Kmask / rate
En un modelo ingenuo y desenmascarado:
Kfull = cs^n
La ganancia de máscara es:
Gain = Kfull / K_mask
Cuanto más fuertes sean las limitaciones posicionales (por ejemplo, dígitos al final, capital en la cabeza), mayor será la ganancia.
7. Aplicación en Time2Crack: addMaskAttacks()
Time2Crack implementa la lógica máscara en app.js :
addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)cat: "mask"aMask / nota nMaskPositional, nKBDetected, nSeqDetected, nDateDetected7.1. Cálculo del espacio clave enmascarado
El código cuenta las ocurrencias reales de cada tipo de caracteres en la contraseña:
Entonces construido:
maskKS = 26^U 26 10^D 33^S (aproximación mediante constantes internas)
Esto modela un atacante que conoce la estructura por tipo, no sólo la longitud total.
7.2 Casos especiales
weak : estimación vía weakGuessTime(a.rate) (mínimo rango dependiente del flujo)dt (fecha detectada): reducción mediante detectDateAndReduce(),El tiempo se calcula entonces budgetTime(effectiveMaskGuesses, a.rate) (con factor de rango de máscara y procesamiento Unicode/date).
8. Detección de fechas y reducción estructural
Time2Crack incluye un procesamiento específico de fecha (hasDate, detectDateAndReduce)
1600-2099,DD/MM/YYYY, variantes del separador),10^dateChars) por un conjunto plausible (~200 années o ~36500 dates).Consequence: una contraseña tipo Mot2024! Esto es coherente con la práctica ofensiva.
9. Calibración de alta fidelidad
Cuando el modo de fidelidad alta es activo, la categoría de máscara recibe un multiplicador adicional en applyHighFidelityCalibration() :
Intuición: Estas señales aumentan la probabilidad de un ranking temprano en la línea de máscaras probadas.
10. Criterios y órdenes de magnitud
Órdenes de magnitud (profile 12x RTX 4090):
AlgoritmTasa de flujo aproximadaHora de 1er 9 candidatos -...-...-... MD5~2.03 TH/s~0.0005 s SHA-1~610 GH/s~0.0016 s SHA-256~272 GH/s~0.0037 s NTLM~3.46 TH/s~0.0003 s bcrypt (cost 10)~69 kH/s~4.0 h Argon2id~800 H/s~14.5 díasLeyendo:
11. Ejemplos concretos de enmascaramiento
11.1 Thomas42
?u?l?l?l?l?l?d?d26 26^4 10^2 (orden de magnitud ~1e9)11.2 summer2024
?l?l?l?l?l?l?d?d?d?d10^4).11.3 Marine!7
?u?l?l?l?l?l?s?d12. Comparación con la fuerza bruta, híbrido y PCFG
AtaquePunto fuertePunto bajo -...-...-... Fuerza brutaCobertura ampliacosto exponencial MáscaraExcelente eficiencia en las estructuras humanasSensible a mala elección de máscara Híbridas/reglasMuy bueno en palabras + mutacionesDepende de una palabra básica PCFGCaptura de gramática globalMás costoso para entrenar/operarEn la práctica, los operadores a menudo combinan máscara + reglas + probabilística.
13. Limitaciones del ataque de máscaras
?a Repetida a largo plazo regresa cerca de la fuerza bruta.14. Defensas eficaces
14.1
Mot+année, Prénom+chiffres, Majuscule+mot+symbole.14.2. Colateral del sistema
14.3 Política
15. Referencias bibliográficas
Fuentes académicas
Wheeler, D.L. (2016). zxcvbn: Estimación de la fuerza de contraseña de bajo costo. 25o Simposio de Seguridad USENIX. Weir, M., Aggarwal, S., de Medeiros, B., " Glodek, B. (2009). Rastreo de contraseña usando gramáticas libres de contextos probabilísticos. Simposio IEEE sobre Seguridad y Privacidad. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). OMEN: Contraseña más rápida Adivina usando un Enumerador de Markov ordenado. ESSoS. Ur, B., Kelley, P. G., Komanduri, S., et al. (2012). ¿Cómo se asegura su contraseña? Seguridad USENIX.Fuentes industriales y técnicas
Hashcat Wiki. Ataque de máscaras (-a 3). https://hashcat.net/wiki/ Hashcat (benchmarks). https://hashcat.net/hashcat/ Hive Systems (Password Table). https://www.hivesystems.io/password-tableFuentes web citadas en la aplicación Time2Crack
USENIX Security 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheelerDocumento generado para el Proyecto Time2Crack — Versión 1.0 — 2026-04-01 Código fuente:
app.js (funciones addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration)*