Tácticas comunes para robar credenciales de memoria

Tácticas comunes para robar credenciales de memoria

Tácticas comunes para robar credenciales de memoria

Como mencioné en el artículo anterior las credenciales del Directorio Activo se almacenan en hashes de tipo LM o NT hash ya sea en memoria o disco duro. Abajo encontrarán una tabla con los diferentes lugares donde se almacenan las credenciales o sus hashes y los métodos para lograr acceso a las mismas:

Tipo de almacenamiento de contraseñaMétodos de ataque utilizadosResultado esperado
MemoriaElevación de privilegios para luego acceso a memoria asignada a proceso LSASSExtraer credenciales del proceso LSASS
Disco duroElevación de privilegios para luego acceso a base de datos Extraer credenciales de base de datos SAM o base de datos NTDS en controlador de dominio
Contraseña es transmitida como parte de un proceso de autenticaciónAtaque de relay  Ataque de hombre en medioExtraer credenciales utilizadas en el proceso de autenticación

Credential Dumping se le llama al ataque donde se buscan extraer esas credenciales ya sea de memoria o disco duro.  En este artículo nos enfocaremos en los ataques que buscan extraer credenciales en memoria, del proceso LSASS específicamente.

Proceso LSASS

El proceso LSASS.exe (Local Security Authority Subsystem Service) es un proceso súper importante dentro del sistema operativo Windows. Es responsable de:

  1. Autenticar usuarios en el equipo
  2. Aplicar políticas de seguridad
  3. La gestión de las credenciales administrativas

Esta última responsabilidad del proceso LSASS lo hace la víctima preferida de aquellos atacantes que están interesados en obtener esas credenciales.  

Ataques al LSASS

Degradar seguridad de WDigest

WDigest es un viejo protocolo de autenticación cuyo uso causaba guardar las credenciales en memoria en texto plano, esto quiere decir que ni siquiera en modo de hash, dentro del proceso LSASS.  A partir de Windows 8.1 la autenticación por medio de WDigest está deshabilitada pero todavía disponible si se cambia una llave de registro de Windows.

Un atacante que logra obtener privilegios administrativos realizará el cambio de la llave de registro para que a partir de ese momento el proceso LSASS tenga las credenciales en texto plano.

Ejemplo de cómo un atacante cambiaría la llave de registro:

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1

Un posterior dumping de memoria de LSASS logrará la extracción de las credenciales que han sido usadas en el equipo vulnerado. 

Extracción de credenciales con Mimikatz

Cuando el atacante ya tiene permisos administrativos sobre la víctima, empieza a evaluar cuáles acciones debe tomar para lograr obtener credenciales sin levantar sospechas.

Una de las herramientas que de seguro tratará de ejecutar es Mimikatz. Creada por Benjamin Delpy, Mimikatz permite manipular el proceso LSASS para la extracción de información

Ejemplo de la ejecución de Mimikatz para extraer credenciales:

  1. Ejecutar Mimikatz ya sea por ejecutable o Powershell
  2. Ejecutar comando para extraer credenciales:

Para el usuario de interés buscar hash NTLM o si se hizo ataque de degradación de WDigest la credencial en texto plano como se muestra abajo:

Como lo muestra la imagen, la degradación de WDigest había sido aplicada antes que el usuario svcadmin se conectara. Una vez autenticado su contraseña se registró en LSASS en texto plano.

Mitigación de ataques al LSASS

Para mitigar los ataques al LSASS recomendamos:

Protección contra la elevación de privilegios

Como he estado mencionando, todos estos ataques requieren del privilegio administrativo previo para su funcionamiento. Para prevenir la escalación de privilegios no autorizada se pueden aplicar los siguientes controles:

  1. Mantener actualizado el equipo en cuanto a parches de seguridad.
  2. Disminuir el uso de privilegios administrativos sin necesidad en cuentas de servicios
  3. No permitir que usuarios tengan permisos administrativos innecesarios

Monitoreo de cambios de llaves de registro sensitivas

Esta recomendación está principalmente asociada al ataque de degradación de seguridad del WDigest. Debes poder recibir notificación cuando la llave de registro ha cambiado.

Credential Guard

Credential Guard es una funcionalidad disponible para Windows 10 Enterprise que mediante la utilización de virtualización protege al proceso LSASS colocándolo en un contenedor.

Es una muy buena opción de protección pero que esté disponible solamente en la versión Enterprise de Win10 la hace poco disponible para todos.

Resumen

Los ataques al proceso LSASS requieren que el actor malicioso tenga permisos administrativos sobre el sistema operativo. Por lo tanto, los controles contra las técnicas de elevación de privilegios también nos ayudan a prevenir credential dumping del LSASS.exe.  

En las evaluaciones de seguridad del Directorio Activo y las Pruebas de Penetración revisamos el nivel de riesgo que tiene su organización contra este y muchísimos otros ataques.

¿Qué te pareció este artículo? ¿Tomas las medidas de seguridad necesarias para proteger tus credenciales ?

Si te interesa la seguridad de tu Directorio Activo puedes contactarte con nosotros para solicitar tu evaluación o dejarnos tu comentario en este post.

Saludos, Sebastián.

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

Deja una respuesta

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