Métodos de Almacenamiento de Contraseñas Obsoletos y Sus Ataques

Métodos de Almacenamiento de Contraseñas Obsoletos y Sus Ataques

En esta segunda entrega en nuestra serie sobre Seguridad del Directorio Activo abordaremos la utilización de métodos de almacenamiento de contraseñas obsoletos y sus ataques.  Un entorno Windows Server, como debe ser, no almacena las contraseñas en texto plano, en vez utiliza métodos de cifrado (llamados funciones hash) para almacenar dichas contraseñas ya sea en memoria, la base de datos SAM en un equipo de escritorio o en la base de datos NTDS en los controladores de dominio.

El objetivo de almacenar las contraseñas en formato hash en vez de texto plano es proteger la contraseña y permitir validar la misma para la autenticación.  Se supone que de un hash no se puede obtener la contraseña real, pero como la ciencia y matemática ha avanzado desde la creación de estos protocolos se ha hecho posible el ataque de tipo cracking donde del hash es posible obtener la contraseña real.

Almacenamiento de los hashes

Entendido mejor la relación entre la contraseña, su hash y el posible ataque es hora de entender cómo en una red Windows se almacena los hashes en disco: la base de datos SAM y la base de datos NTDS.  En cualquiera de estos dos repositorios es posible almacenar las contraseñas con dos tipos de hashes:

En las versiones previas a Windows Server 2008, para todo usuario se almacenaba tanto el LM hash como la NT hash. En Windows Server 2008 y versiones siguientes solamente se almacena la NT hash.

LM Hash: se ha mantenido por compatibilidad con versiones anteriores de Windows.  Altamente inseguro. No soporta contraseñas con más de 14 caracteres, transforma contraseña a mayúsculas previo al cálculo del hash.

NT Hash: disponible desde Windows NT, más seguro, pero también vulnerable.

En nuestras evaluaciones de seguridad o pruebas de penetración nos es muy común encontrar versiones recientes de Windows Server como 2012R2 que todavía tienen LM hash habilitado. Esto puede ser debido a que estos dominios se vienen actualizando desde versiones viejas de Windows Server o por simple desconocimiento de los administradores.

¿Cómo funcionan los ataques?

Veamos ahora por qué para un atacante es buena noticia cuando se encuentra con LM hash como método de almacenamiento de contraseñas.

Ataques a LM 

Para un actor malicioso o pentester es buena noticia que usted tenga LM hash habilitado porque una vez ha logrado el acceso a un LM hash será muy fácil “crackear” ese hash para obtener la contraseña en comparación con NT hash.

El accionar normal de un actor malicioso sería:

  1. Obtener los hashes por cualquier método disponible como: 
    • Escalación de privilegios que permita tener acceso a las bases de datos de hashes. 
    • Exportar hashes de base de datos SAM.
    • Ataques de sniffer que permiten robar credenciales en comunicación entre equipos.
    • Exportando hashes de la memoria del proceso LSASS.exe.
  2. Obtener contraseñas a partir de los hashes obtenidos utilizando herramientas como John The Ripper o Hashcat.  Esto se le llama password cracking o crackeo de contraseñas.
  3. Si no es posible crackear la contraseña, se puede utilizar los hashes en ataques de tipo pass-the-hash. 

¿Cómo mitigar estos ataques?

El artículo de Microsoft que describe las tres acciones de mitigación lo puedes encontrar aquí. En resumen, para evitar el almacenamiento de las contraseñas en un tipo de hash que es fácil de “crackear” se recomienda:

  1. Utilizar contraseñas superiores a 14 caracteres.
  2. Deshabilitar en controladores de dominio el almacenamiento de LM hash por los siguientes medios:
    • Utilizando Group Policy.
    • Agregando la llave de registro NoLMHash (registry key) en: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
  3. Cambiar todas las contraseñas luego de aplicado GPO o cambio en la llave de registro.

No creas que con deshabilitar LM hash ya está seguro tu Directorio Activo. En el siguiente artículo les escribiré sobre cómo evitar el robo de hashes y las vulnerabilidades del NT hash y de los protocolos que lo utilizan para la autenticación de red: Net-NTLMv1 y Net-NTLMv2.

Nos vemos en la próxima.

Sebastián

¿Qué opinas sobre este tema? ¿Has sido víctima de un ataque de LM en tu Directorio Activo?

Imagen de geralt vía Pixabay.com bajo licencia creative commons.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.