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

  • Visão geral
  • Formação histórica e académica
  • Fundações conceituais: Por que as máscaras funcionam
  • Arquitetura de um ataque de máscara moderna
  • Sintaxe da Máscara (Hashcat/JtR)
  • Redução do espaço-chave: princípio matemático
  • Implementação no Time2Crack: addMaskAttacks()
  • Detecção de datas e redução estrutural
  • Calibração de alta fidelidade
  • Benchmarks e ordens de grandeza
  • Exemplos concretos de quebra de máscaras
  • Comparação com força bruta, híbrida e PCFG
  • Limitações do ataque de máscara
  • Defesas eficazes
  • Referências

  • 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:

  • 5 minúsculos,
  • 2 dígitos.
  • 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:

  • John, o Estripador (modos e padrões incrementais),
  • Hashcat (modos de máscara GPU super otimizados),
  • vazamentos maciços (RockYou, LinkedIn, Adobe), que identificaram as estruturas mais frequentes.
  • 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:

  • palavra conhecida,
  • variação da quebra,
  • sufixo digital,
  • símbolo final opcional.
  • 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énom2024
  • Ville75#
  • 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 :

  • Força bruta total (95^8) 6.63e15 candidatos,
  • máscara ?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!7
  • 5.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,
  • então máscara combinada ?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 :

  • função: addMaskAttacks(rows, full, len, cs, kbPat, seq, weak, dt, pw)
  • Categoria: cat: "mask"
  • display: aMask / nota nMaskPositional, nKBDetected, nSeqDetected, nDateDetected
  • 7.1. Cálculo do espaço de chave mascarado

    O código conta as ocorrências reais de cada tipo de caracteres na senha:

  • letras maiúsculas,
  • minúsculo,
  • números,
  • símbolos.
  • 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(),
  • Caso contrário: espaço de chave posicional padrão.
  • 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) :

  • detecção do ano 1600-2099,
  • detecção de padrões de data (DD/MM/YYYY, variantes do separador),
  • substituição de um espaço enorme (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() :

  • if teclado padrão / sequência / data: fator de redução adicional,
  • Caso contrário: estimativa conservadora.
  • 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 dias

    Leitura:

  • no haxixe rápido, a máscara é esmagadora,
  • no hash lento, permanece muito perigoso em padrões frequentes, mas o custo torna-se concreto.

  • 11. Exemplos concretos de quebra de máscara

    11.1 Thomas42

  • Máscara relevante: ?u?l?l?l?l?l?d?d
  • Espaço de teclas: 26 26^4 10^2 (ordem de magnitude ~1e9)
  • em NTLM/MD5: quase instantâneo.
  • 11.2 summer2024

  • Máscara relevante: ?l?l?l?l?l?l?d?d?d?d
  • se ano detectado, redução acentuada (anos plausíveis < < 10^4).
  • 11.3 Marine!7

  • Máscara relevante: ?u?l?l?l?l?l?s?d
  • um padrão muito comum nas políticas corporativas.

  • 12. 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 / operar

    Na prática, os operadores combinam frequentemente máscara + regras + probabilística.


    13. Limitações do ataque da máscara

  • Dependência na máscara certa : um mau conjunto de máscaras rapidamente perde em rendimento.
  • Baixa generalização da estrutura externa : em uma senha realmente aleatória, a vantagem desaparece.
  • Explosão combinatória se máscaras muito largas : ?a Repetido em comprimento longo retorna perto da força bruta.
  • Cobertura linguística parcial : Unicode / alfabetos diacríticos requerem jogos personalizados.

  • 14. Defesas eficazes

    14.1 Lado do usuário

  • usar um gerenciador de senhas,
  • gerar senhas aleatórias longas (> = 16),
  • evitar padrões completamente Mot+année, Prénom+chiffres, Majuscule+mot+symbole.
  • 14.2. Lado do sistema

  • armazenamento com Argon2id (ou bcrypt de alto custo),
  • AMF sistemática,
  • bloqueio de senhas comprometidas,
  • telemetria de ligação e detecção de anomalias.
  • 14.3 Política

  • duração da prioridade e controlo do compromisso,
  • reduzir as regras de complexidade puramente cosmética que favorecem padrões previsíveis.

  • 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-table

    Fontes da Web citadas no aplicativo Time2Crack

    USENIX Security 2016 (Wheeler). https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheller
    Documento gerado para o projeto Time2Crack — Versão 1.0 — 2026-04-01 Código- fonte: app.js (funções addMaskAttacks, detectDateAndReduce, hasDate, budgetTime, applyHighFidelityCalibration)*