Daniel Petri

Muchos ataques a Active Directory comienzan con una contraseña robada. Sin embargo, un ataque Pass the Hash tiene un enfoque diferente. En este ejemplo de robo de credenciales, los actores de la amenaza roban el hash de la contraseña de un usuario. El ataque es difícil de detectar y puede conducir a una escalada de privilegios y graves daños a su organización.

Lectura relacionada: Buenas prácticas para la seguridad de Active Directory

¿Qué es un ataque Pass the Hash?

El ataque Pass the Hash es prominente en entornos Windows. El ataque explota el mecanismo de autenticación del sistema operativo Windows.

Windows, en su intento de evitar el almacenamiento de contraseñas en texto plano, mantiene hashes NTLM de las contraseñas de usuario. Durante el proceso de autenticación, Windows compara estos hashes en lugar de comparar las contraseñas en texto plano. El ataque Pass the Hash aprovecha este mecanismo.

En lugar de robar y utilizar contraseñas en texto plano, los adversarios se centran en obtener y utilizar los hashes para autenticarse en diversos recursos de la red. El ataque Pass the Hash es sigiloso y muy eficaz.

¿Qué es un hash de contraseña?

Un hash de contraseña es un proceso criptográfico unidireccional. Este proceso ejecuta una contraseña de texto plano a través de una función matemática (es decir, una función hash) para crear una cadena de bytes de tamaño fijo, llamada valor hash (o simplemente hash). Este hash se compara con el hash almacenado de la contraseña del usuario. Si ambos coinciden, se concede la autenticación. Obtener la contraseña original a partir de un hash es inviable, por lo que esta es una buena forma de almacenar contraseñas en una base de datos (como la base de datos de Active Directory NTDS.DIT).

¿Cómo funciona un ataque Pass the Hash?

En un ataque Pass the Hash, un atacante comienza por obtener acceso al hash de un usuario, a menudo volcando el contenido de la base de datos SAM del sistema o de la memoria, utilizando herramientas como Mimikatz. El atacante puede entonces reutilizar el hash para autenticarse en otros servicios o máquinas de la red, eludiendo la necesidad de una contraseña.

Aquí tienes un desglose paso a paso del proceso de ataque Pass the Hash:

  1. Compromiso inicial. Un atacante obtiene acceso inicial a un sistema dentro de su red. Pueden utilizarse varios métodos, como el phishing, la explotación de vulnerabilidades o incluso el acceso físico.
  2. Extracción de hashes. Una vez que el atacante tiene un punto de apoyo, utiliza una herramienta como Mimikatz, para extraer hashes del sistema. Estos hashes pueden residir en la memoria (RAM) o en la base de datos del Gestor de Cuentas de Seguridad (SAM), dependiendo del estado de inicio de sesión del usuario y del nivel de acceso del atacante.
  3. Pasar el hash. Con uno o más hashes en posesión, el atacante puede ahora utilizar un hash para la autenticación. El atacante utiliza una herramienta como PsExec (o incluso herramientas integradas de Windows) para presentar el hash como prueba de identidad y acceder a sistemas remotos. De ahí viene el nombre de Pass the Hash.
  4. Movimiento lateral. Utilizando el hash obtenido, el atacante intenta moverse lateralmente dentro de su red. El atacante utiliza el hash para acceder a otros sistemas en busca de privilegios elevados o datos valiosos. Si los usuarios tienen privilegios excesivos o si se utilizan las mismas credenciales en varios sistemas, el movimiento lateral es mucho más fácil de lograr y mucho más peligroso para su organización.
  5. Escalada de privilegios. A menudo, el atacante emplea la técnica Pass the Hash repetidamente. Saltan de una máquina a otra hasta que localizan una cuenta con privilegios superiores, como un administrador de dominio.
  6. Objetivo final. Después de lograr la suficiente elevación de privilegios y acceso, el atacante puede actuar sobre su objetivo final. Su objetivo podría ser el robo de datos, el despliegue de ransomware o el mantenimiento de una presencia persistente para futuras explotaciones.

El éxito de la técnica Pass the Hash depende de varios aspectos críticos:

  • La dependencia inherente de Windows de la comparación hash para la autenticación
  • Errores de configuración habituales
  • Prácticas de seguridad poco estrictas, como conceder a los usuarios derechos de administrador local en varios equipos o reutilizar contraseñas en toda la empresa.

¿Qué riesgos conlleva un ataque Pass the Hash?

Este tipo de ataque puede amenazar a su organización de varias maneras:

  • Reutilización de credenciales: Si un atacante compromete el hash de una cuenta que utiliza las mismas credenciales en múltiples servicios, el atacante puede obtener acceso a todos esos servicios.
  • Movimiento lateral: Una vez dentro de su red, los atacantes pueden utilizar Pass the Hash para moverse lateralmente a través de ella, accediendo a diferentes máquinas y escalando sus privilegios.
  • Acceso a largo plazo: Con el hash, los atacantes pueden mantener un acceso persistente a una red comprometida, lo que dificulta su detección y reparación.

Las redes basadas en Windows son especialmente vulnerables, sobre todo las redes que:

¿Cómo detectar un ataque Pass the Hash?

Detectar un ataque Pass the Hash implica identificar patrones de comportamiento o actividades inusuales en la red. Supervise Active Directory en busca de estos tipos de actividad:

  • Patrones de inicio de sesión anómalos. Busque patrones de inicio de sesión anómalos, como inicios de sesión a horas extrañas o desde ubicaciones poco habituales. Observe también los inicios de sesión rápidos desde una fuente a varios sistemas.
  • Creación inusual de servicios. Un ataque Pass the Hash puede implicar la creación de servicios en sistemas remotos utilizando herramientas como PsExec. Por lo tanto, rastrear creaciones inesperadas de servicios puede ser un buen indicador de este ataque.
  • Raspado de memoria. Herramientas como Mimikatz operan raspando la memoria en busca de hashes. Monitoriza los procesos que leen grandes secciones de memoria, especialmente desde lsass.exe.
  • Volumen de solicitudes de autenticación. Un aumento de las solicitudes de autenticación en un corto espacio de tiempo puede indicar un intento de Pass the Hash, especialmente si muchas solicitudes fallan y luego de repente tienen éxito.

Las soluciones modernas de detección y respuesta de puntos finales (EDR) también pueden ayudar a rastrear patrones de comportamiento y señalar actividades sospechosas a menudo asociadas con técnicas de ataque Pass the Hash.

¿Cómo puede defenderse de un ataque Pass the Hast?

Mitigar un ataque Pass the Hash depende de limitar la capacidad del atacante para obtener y utilizar hashes. He aquí seis pasos a seguir.

  1. Utilice la jerarquización administrativa. Los administradores de cuentas muy privilegiadas de nivel 0, como Active Directory, nunca deben iniciar sesión en recursos de nivel 1 (servidores y aplicaciones) o 2 (estaciones de trabajo de usuarios finales). Evitar este comportamiento puede reducir el riesgo de que los atacantes obtengan credenciales de administrador.
  2. Aísle los sistemas. Asegúrese de que los sistemas críticos están en redes aisladas. Un atacante con un hash de un sistema menos crítico no debería poder acceder a uno más crítico.
  3. Implemente Microsoft Local Administrator Password Solution (LAPS). LAPS garantiza contraseñas únicas para las cuentas de administrador local en toda la empresa.
  4. Aplique el principio del menor privilegio. Conceda a los usuarios sólo los permisos necesarios para realizar sus tareas diarias. Por ejemplo, evita que cada usuario sea administrador local de su máquina.
  5. Instale Credential Guard. En Windows 10 y Windows Server 2016 y sistemas posteriores, utilice Credential Guard para protegerse frente a un ataque Pass the Hash aislando y reforzando el proceso de almacenamiento de credenciales.
  6. Restringir el uso de protocolos heredados. Deshabilite los protocolos de autenticación más antiguos, que podrían ser más susceptibles a un ataque Pass the Hash. Por ejemplo, pase de la autenticación NTLM a Kerberos.

Otra táctica de defensa vital: mantener una sólida postura de seguridad de Active Directory. He aquí 10 pasos específicos para los administradores de Active Directory.

  1. Audite Active Directory con regularidad. Supervise Active Directory en busca de signos de actividad inusual o no autorizada. Audite periódicamente Active Directory en busca de cuentas obsoletas o no utilizadas y elimínelas o desactívelas.
  2. Implantar la autenticación multifactor (MFA). Especialmente para las cuentas privilegiadas, MFA añade una capa extra de seguridad. Sin embargo, asegúrate de que también vigilas los indicadores de seguridad que podrían indicar ataques por fatiga de MFA.
  3. Supervise los cambios en la pertenencia a grupos. Rastree los cambios en grupos sensibles de Active Directory, como los administradores de dominio. Los cambios inesperados deberían ser una señal de alarma. La automatización de la auditoría y la corrección puede ayudarle a adelantarse a ataques sofisticados y sigilosos.
  4. Aplicar líneas de base de seguridad. Aplicar líneas de base de seguridad de Microsoft para Active Directory y directivas de grupo.
  5. Mantenga sus sistemas actualizados. Asegúrese de que los sistemas y el software se parchean a tiempo.
  6. Separe las tareas administrativas. Utiliza cuentas separadas para las distintas tareas administrativas y evita que se solapen. Por ejemplo, tenga cuentas diferentes para las tareas de administrador del dominio, las tareas de administrador de la estación de trabajo, etc.
  7. Evite utilizar cuentas compartidas. Las cuentas compartidas dificultan el seguimiento de las acciones hasta un individuo. Cada administrador debe tener una cuenta individual.
  8. Limitar el acceso de administradores. Asociado con la jerarquización administrativa, restringe dónde y cuándo pueden iniciar sesión las cuentas administrativas. Por ejemplo, las cuentas de administrador de dominio sólo deben iniciar sesión en los controladores de dominio.
  9. Realice copias de seguridad periódicas específicas de AD. Realice copias de seguridad periódicas de los controladores de dominio y disponga de un plan de recuperación. Separar las copias de seguridad de Active Directory puede ayudarle a evitar la reintroducción de malware.
  10. Eduque y forme al personal y a los usuarios. Eduque continuamente a su equipo de TI sobre las últimas amenazas y sobre cómo reconocerlas y responder a ellas. Eduque a los usuarios sobre los riesgos asociados a ataques como Pass the Hash y las políticas y prácticas de seguridad de su organización.

Defiéndase contra los ataques de robo de credenciales

El ataque Pass the Hash es un reto formidable para muchas organizaciones. Al explotar las formas inherentes en que Windows maneja la autenticación, los atacantes pueden eludir la necesidad de contraseñas de texto plano, obteniendo acceso no autorizado a múltiples sistemas. Al comprender los matices de estos ataques, los profesionales de la seguridad y de TI pueden fortalecer sus defensas, haciendo que sus redes sean más resistentes frente a los retos cambiantes.

Una configuración adecuada de los sistemas, la formación de los usuarios y la vigilancia de los puntos finales y de Active Directory pueden ayudar a mitigar los riesgos asociados a este ataque. Empiece por seguir las mejores prácticas de seguridad de Active Directory.