Ir ao contido

Tipos de "hashes" en Microsoft Windows

En Microsoft Windows, os contrasinais nunca se almacenan en texto plano. No seu lugar, o sistema operativo xera e almacena derivados criptográficos, comunmente chamados "hashes". O lugar e o tipo de hash almacenado dependen de se o equipo é unha estación de traballo independente (ou servidor membro) ou un Controlador de Dominio.

1. O Almacén de Credenciais en Clientes Windows (10, 11, etc.): O SAM

Nos equipos que non son Controladores de Dominio, como estacións de traballo e servidores membro, os hashes das contas de usuario locais gárdanse na base de datos do Security Account Manager (SAM).

O ficheiro SAM está localizado en C:\Windows\System32\config\SAM. Debido a que está bloqueado polo sistema operativo mentres está en execución, un atacante con privilexios de administrador debe usar técnicas especiais para acceder a el, como volcar o seu contido dende a memoria (usando ferramentas como Mimikatz) ou extraer unha copia das claves do rexistro SAM e SYSTEM (necesaria para descifrar o SAM).

Hashes Almacenados no SAM

LM Hash (LAN Manager) - Obsoleto

  • Descrición: Un formato antigo e moi inseguro que convertía os contrasinais a maiúsculas e os dividía en dúas metades, facilitando enormemente o seu crackeo.
  • Estado Actual: Deshabilitado por defecto en todas as versións modernas de Windows (dende Vista). A súa presenza hoxe en día é un sinal dunha grave mala configuración de seguridade.
  • Viabilidade de Ataques:
    • Ataques de Contrasinal: Moi factible. Pódense crackear en segundos.
    • Pass-the-Hash: Irrelevante, xa que os sistemas modernos non o aceptan para a autenticación.

NTLM Hash (NT LAN Manager)

  • Descrición: O estándar de facto para as contas locais. Xérase a partir do contrasinal (sensible a maiúsculas/minúsculas) usando o algoritmo MD4. Aínda que é moito máis forte que o LM, a súa falta de "salt" e a velocidade de MD4 fano vulnerable.
  • Estado Actual: É o hash principal para todas as contas locais en Windows 10, 11 e servidores membro.
  • Viabilidade de Ataques:
    • Ataques de Contrasinal: Factible. Contrasinais débiles ou moderados poden ser crackeados con hardware moderno.
    • Pass-the-Hash: Totalmente factible. Un atacante que extrae o hash NTLM do administrador local pode usalo para autenticarse noutros equipos da rede onde ese administrador local teña os mesmos credenciais.

2. O Almacén de Credenciais en Controladores de Dominio: NTDS.dit

Nun Controlador de Dominio, os hashes das contas de dominio gárdanse na base de datos de Active Directory, localizada no ficheiro C:\Windows\NTDS\ntds.dit. Para extraelos, un atacante necesita privilexios moi elevados (como Administrador do Dominio) para crear unha copia do ntds.dit e da clave SYSTEM usando ferramentas como ntdsutil.

Hashes e Chaves Almacenadas no NTDS.dit

Os Controladores de Dominio almacenan múltiples formatos para asegurar a compatibilidade con diferentes protocolos de autenticación (NTLM e Kerberos).

LM Hash e NTLM Hash

  • Descrición: Para manter a compatibilidade con sistemas e aplicacións legadas que usan autenticación NTLM, Active Directory tamén almacena os hashes LM (se non está deshabilitado por GPO) e NTLM para cada usuario do dominio.
  • Viabilidade de Ataques: Idéntica á descrita para o SAM. O hash NTLM extraído do ntds.dit é o obxectivo principal para ataques de Pass-the-Hash a escala de dominio.

Kerberos Keys - O Estándar Moderno e Seguro

  • Descrición: Para a autenticación Kerberos, Active Directory non só usa un hash, senón que deriva chaves criptográficas do contrasinal. A principal vantaxe é que usan un "salt" (normalmente o nome de usuario e o dominio), o que significa que dous usuarios co mesmo contrasinal terán chaves completamente diferentes. Isto neutraliza os ataques de rainbow tables.
  • Tipos de Chaves Almacenadas:
    • RC4-HMAC: Unha chave de compatibilidade antiga que, internamente, é idéntica ao hash NTLM.
    • AES128 / AES256: As chaves modernas e seguras. Usan o algoritmo AES e son moito máis resistentes a ataques de forza bruta.
  • Viabilidade de Ataques:
    • Ataques de Contrasinal: Moito máis difícil. O uso de "salt" e algoritmos máis lentos (AES) fai que crackear estas chaves sexa computacionalmente moito máis custoso.
    • Pass-the-Hash: Non aplicable directamente. O ataque equivalente en Kerberos é Pass-the-Ticket, que consiste en roubar un tícket de autenticación Kerberos xa emitido, en lugar dun hash estático.

Táboa Resumo Comparativa

Tipo de Hash/Chave Onde se Almacena Ataque de Contrasinal Pass-the-Hash Nivel de Seguridade
LM Hash SAM, ntds.dit (obsoleto) Moi Factible Irrelevante Moi Baixo / Obsoleto
NTLM Hash SAM, ntds.dit Factible Moi Factible Baixo / Legado
Kerberos Keys ntds.dit (só dominio) Moi Difícil Non (ver Pass-the-Ticket) Alto / Moderno