Ataque de Máscara — Operação abrangente
Documento de referência do projeto Time2Crack
Destinatários: desenvolvedores, pesquisadores de segurança, usuários avançados
Índice
addMaskAttacks()Resumo
Mascara ataque consiste em testar senhas que seguem um forma posicional precisa em vez de todas as combinações possíveis.
Exemplo: em vez de testar todo o espaço 8 caracteres de 95 símbolos (95^8), o atacante visa um motivo provável como:
- 1 capital,
Ou a máscara Hashcat ?u?l?l?l?l?l?d?d.
A ideia central: as senhas humanas não são aleatórias.Thomas42, Marine2024, Bonjour!1A máscara explora precisamente esta regularidade.
2. Antecedentes históricos e acadêmicos
2.1 Origens
A lógica das máscaras é antiga: desde as primeiras ferramentas de cracking, os operadores observaram que as políticas de senha produzem formatos repetitivos.
Industrialização vem com:
2.2 Validação empírica
A literatura ofensiva/defensiva converge: uma fração muito grande de senhas reais seguem padrões simples (palavra + dígitos, capital inicial + palavra + ano, etc.).
Wheeler (USENIX 2016), e as obras probabilísticas (Markov/PCFG/OMEN), mostram que a estrutura é tão decisiva quanto o comprimento bruto.
3. Fundamentos conceituais: Por que as máscaras funcionam
3.1 Os seres humanos geram estruturas, não por acaso
A maioria dos usuários constrói segredos de memória:
Essa estratégia é previsível e altamente comprimível em máscaras.
3.2 Políticas de complexidade aumentam a previsibilidade
Uma regra do tipo "1 capital, 1 dígito, 1 símbolo" não impõe aleatoriedade; muitas vezes empurra para padrões estáveis:
Mot123!Prénom2024Ville75#A máscara é a ferramenta ideal para navegar nestes diagramas a um custo muito baixo.
3.3 Redução do espaço-chave eficaz
Para uma senha de comprimento 8 :
95^8) 6.63e15 candidatos,?u?l?l?l?l?d?d = 26 26^4 10^2 = 1.19e9 candidatos.A redução é de vários milhões de vezes, enquanto cobre um padrão humano comum.
4. Arquitetura de um ataque de máscara moderna
Tipo de pipeline:
1) Profilage de la cible / du corpus
-> structures fréquentes (L8D2, L6D4, U1L5D2, etc.)
2) Geração de máscaras candidatas
-> ordenados por probabilidade
3) Execução da GPU (Hashcat -a 3)
-> ensaios paralelos de alta velocidade
4) Adaptação
-> Mantemos as máscaras altas, espalhamos os fracos
O sucesso depende menos da quantidade bruta de máscaras do que de sua priorização.
5. Sintaxe da Máscara (Hashcat/JtR)
5. 1 Classes básicas
?l : minúsculo (a-z)?u : capitais (A-Z)?d : número (0-9)?s : símbolo imprimível?a : alfabeto misto padrão (muitas vezes ?l?u?d?s)5.2 Exemplos
?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. Máscaras personalizadas
O Hashcat permite conjuntos de caracteres personalizados (-1, -2, etc.), por exemplo:
-1 ?l?uéèàç para as línguas latinas,-2 0123456789!@# para sufixos prováveis,?1?1?1?1?2?2.6. Redução de Keyspace: princípio matemático
Ou uma máscara de comprimento n com cardinalidades posicionais c1, c2, ..., cn.
O espaço de teclas mascarado é:
Kmáscara = Π(i)
Tempo (modelo orçamental):
T = Kmask / rate
Num modelo ingénuo e desmascarado:
Kfull = cs^n
O ganho da máscara é:
Gain = Kfull / K_mask
Quanto mais fortes as restrições posicionais (por exemplo, dígitos no final, capital na cabeça), maior o ganho.
7. Implementação no Time2Crack: addMaskAttacks()
Time2Crack implementa lógica de máscara em app.js :
addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)cat: "mask"aMask / nota nMaskPositional, nKBDetected, nSeqDetected, nDateDetected7.1. Cálculo do espaço de chave mascarado
O código conta as ocorrências reais de cada tipo de caracteres na senha:
Em seguida, construído:
maskKS = 26^U 26 10^D 33^S (aproximação via constantes internas)
Isso modela um atacante conhecendo a estrutura por tipo, não apenas o comprimento total.
7.2 Casos especiais
weak : estimativa via weakGuessTime(a.rate) (intervalo mínimo dependente do caudal),dt (data detectada): redução via detectDateAndReduce(),O tempo é então estimado por budgetTime(effectiveMaskGuesses, a.rate) (com fator de classificação da máscara e processamento Unicode/data).
8. Detecção de datas e redução estrutural
Time2Crack inclui um processamento específico de data (hasDate, detectDateAndReduce) :
1600-2099,DD/MM/YYYY, variantes do separador),10^dateChars) por um conjunto plausível (~200 années ou ~36500 dates).Conseqüência: uma senha do tipo Mot2024! Isto é consistente com a prática ofensiva.
9. Calibração de alta fidelidade
Quando o modo de alta fidelidade está ativo, a categoria máscara recebe um multiplicador adicional em applyHighFidelityCalibration() :
Intuição: Estes sinais aumentam a probabilidade de uma classificação precoce na linha de máscaras testadas.
10. Benchmarks e ordens de magnitude
Ordens de magnitude (perfil 12x RTX 4090):
AlgoritmoVazão aproximadaTempo para 1o 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 (custo 10)~69 kH/s~4,0 h Argon2id~800 H/s~14.5 diasLeitura:
11. Exemplos concretos de quebra de máscara
11.1 Thomas42
?u?l?l?l?l?l?d?d26 26^4 10^2 (ordem de magnitude ~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. Comparação com força bruta, híbrido e PCFG
AtaquePonto fortePonto baixo --------- Resistência brutaCobertura globalcusto exponencial MáscaraExcelente eficiência em estruturas humanasEscolha sensível à má máscara Híbrido/regrasMuito bom em palavras + mutaçõesDepende de uma palavra básica PCFGCapturar gramática globalMais caro para treinar / operarNa prática, os operadores combinam frequentemente máscara + regras + probabilística.
13. Limitações do ataque da máscara
?a Repetido em comprimento longo retorna perto da força bruta.14. Defesas eficazes
14.1 Lado do usuário
Mot+année, Prénom+chiffres, Majuscule+mot+symbole.14.2. Lado do sistema
14.3 Política
15. Referências bibliográficas
Fontes académicas
Wheeler, D.L. (2016). zxcvbn: Estimativa de Força de Senha de Baixo Orçamento. 25o Simpósio de Segurança USENIX. Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Rastreamento de senhas usando Gramática Probabilística Livre de Contexto. Simpósio IEE sobre Segurança e Privacidade. Dürmuth, M., Angelstorf, F., Horsch, J., et al. (2015). OMEN: Senha mais rápida adivinhando usando um Enumerador Markov ordenado. Essos. Ur, B., Kelley, P. G., Komanduri, S., et al. (2012). Como sua senha se encaixa? USENIX Segurança.Fontes industriais e técnicas
Hashcat Wiki. Ataque de máscara (-a 3). https://hashcat.net/wiki/ Hashcat (benchmarks). https://hashcat.net/hashcat/ Sistemas de Colmeia (Tabela de Senha). https://www.hivesystems.io/password-tableFontes da Web citadas no aplicativo Time2Crack
USENIX Security 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/whellerDocumento gerado para o projeto Time2Crack — Versão 1.0 — 2026-04-01 Código- fonte:
app.js (funções addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration)*