La vulneración de credenciales es una de las formas más comunes en que los atacantes obtienen acceso a Active Directory (AD). Existen innumerables métodos para que los atacantes roben y exploten las credenciales, y muchos son sigilosos, lo que permite a los malos actores obtener acceso y moverse sin ser detectados a través de su sistema de identidad, escalando privilegios y causando daños. Pass the Hash es un método de compromiso de credenciales muy eficaz para lograr el movimiento lateral en AD.
¿Qué es un ataque Pass the Hash?
Pass the Hash es una técnica en la que los atacantes utilizan un hash de contraseña robado para autenticarse como usuario sin conocer la contraseña real. En lugar de descifrar el hash NT, lo pasan a otro sistema que acepta el hash de contraseña para la autenticación. Esto permite a los atacantes moverse lateralmente a través de una red, accediendo a los sistemas como el usuario comprometido.
¿Cómo funciona Pass the Hash?
La captura de pantalla en Figura 1 muestra el uso del pth
comando en Faro de Cobalt Strike. Esta herramienta aprovecha Mimikatz para crear y suplantar un token utilizando un hash NT, un dominio y un nombre de usuario específicos.
pth
en el Beacon de Cobalt Strike utiliza Mimikatz para suplantar un token con un hash NT específico para ataques Pass the Hash.Para realizar un ataque Pass the Hash, un atacante necesita robar primero los hashes de las contraseñas de cuentas locales o de dominio. Cobalt Strike dispone de comandos específicos para ello: hashdump
se utiliza para recuperar hashes de cuentas locales (Figura 2).
hashdump
recuperación de hashes de contraseñas de cuentas locales.En logonpasswords
comando (Figura 3) se utiliza para extraer hashes de contraseñas de cuentas de dominio, que incluso pueden incluir contraseñas en texto plano.
logonpasswords
recuperación de hashes de contraseñas de cuentas de dominio.En este ejemplo, nos centraremos en el uso de Pass the Hash con RID-500, la cuenta de administrador integrada almacenada en la base de datos SAM local(Figura 4). Muchas organizaciones utilizan una imagen de oro para desplegar múltiples estaciones de trabajo, lo que a menudo significa que la misma contraseña de administrador local se reutiliza en todos los sistemas. Aunque el sysprepping estandariza estas configuraciones, también crea una vulnerabilidad: Si los atacantes obtienen el hash de un sistema, pueden utilizarlo para desplazarse lateralmente por la red y acceder a otras máquinas con las mismas credenciales.
Una vez que el atacante ha recuperado los hashes de las contraseñas, el siguiente paso es realizar un ataque Pass the Hash. En este ejemplo, el atacante utiliza Mimikatz para ejecutar el ataque Pass the Hash (pth
) con el hash robado de una cuenta de administrador RID-500 (Gráfico 5). De este modo, el atacante puede autenticarse como administrador sin necesidad de la contraseña real.
pth
) con el hash de cuenta de Administrador (RID-500) incorporado para ejecutar un proceso PowerShell oculto.En steal_token
se utiliza para suplantar el token de seguridad de otro proceso (Figura 6), que otorga al atacante el mismo nivel de privilegios que ese proceso. En este caso, el atacante está utilizando steal_token 648
para secuestrar el token de un proceso que se ejecuta como NT AUTHORITY\SYSTEM, obteniendo privilegios completos a nivel de sistema.
steal_token
para suplantar el token del proceso ID (PID) 648, obteniendo acceso a nivel de sistema como NT AUTHORITY\SYSTEM.Desde el punto de vista de un atacante, ejecutar el programa shell dir \TARGET\C$
comando (Gráfico 7) es una forma de comprobar si tienen derechos de administrador local en el sistema de destino. La devolución de un listado de directorios del recurso compartido administrativo (C$
) confirma que el atacante tiene los privilegios necesarios para acceder al sistema de archivos del objetivo.
shell dir \WIN8WORKSTATION\C$
para comprobar el contenido del recurso compartido C$ administrativo, confirmando que tienen derechos de administrador local en el equipo de destino.Una vez que el atacante obtiene acceso a una máquina, es el momento de moverse lateralmente por la red. Una opción es utilizar técnicas como wmic
, sc
o schtasks
para controlar remotamente otros sistemas. Ejecutando comandos como wmic
(Figura 8), el atacante puede ejecutar procesos maliciosos en las máquinas objetivo, como copiar y lanzar su carga útil.
wmic
para ejecutar la carga útil de forma remota.El Control de Cuentas de Usuario (UAC) restringe qué usuarios locales pueden realizar tareas de administración remota. De forma predeterminada, la clave de registro LocalAccountTokenFilterPolicy está establecida en 0, lo que significa que sólo el administrador integrado de RID-500 puede realizar tareas de administración remota. Si la clave del registro se establece en 1, otras cuentas de administración local podrán hacer lo mismo. Además, si FilterAdministratorToken se establece en 0, el administrador integrado podrá acceder de forma remota; si se establece en 1, esta capacidad estará bloqueada.
En resumen, por defecto, sólo determinadas cuentas pueden explotar plenamente Pass the Hash:
- Cuentas locales: El administrador incorporado puede aprovechar al máximo Pass the Hash para tareas de administración remota.
- Cuentas de dominio: Cualquier cuenta de dominio con derechos de administrador local en una máquina también puede utilizar Pass the Hash para obtener el control sobre ese sistema.
Otras cuentas locales están restringidas a menos que se cambie la configuración específica de UAC.1
Cómo defenderse de Pass the Hash
Los defensores deben tomar medidas específicas para mitigar el riesgo de ataques Pass the Hash.
- En primer lugar, restrinja los derechos de administrador local a los usuarios normales. Los empleados de departamentos como recursos humanos, finanzas, marketing y jurídico no deben tener privilegios de administrador local.
- En segundo lugar, asegúrese de que la contraseña de la cuenta de administrador integrada de RID-500 sea única y aleatoria en cada estación de trabajo y servidor miembro. Una herramienta gratuita como Local Administrator Password Solution (LAPS) de Microsoft puede automatizar este proceso. Como alternativa, puede utilizar una solución de gestión de cuentas privilegiadas (PAM) de pago que impida a los atacantes utilizar las mismas credenciales de administrador local en varios sistemas en un ataque Pass the Hash.
- En tercer lugar, hay que entender cómo gestionar de forma segura las cuentas de dominio y saber cuándo se almacenan las credenciales en la memoria. La exposición de las credenciales al robo depende en gran medida del método de inicio de sesión utilizado. Por ejemplo, los inicios de sesión interactivos como Remote Desktop (RDP) o RUNAS almacenan credenciales en la memoria y pueden ser vulnerables. Microsoft proporciona una guía detallada para las herramientas administrativas y los métodos de conexión más comunes.
- Por último, establezca niveles administrativos una vez que sea consciente de los riesgos asociados a los diferentes métodos de conexión administrativa y comprenda cómo pueden quedar expuestas las credenciales en otros equipos. No es fácil, pero tener una estructura por niveles, al menos para las cuentas de nivel 0 o críticas, puede marcar una diferencia significativa en la seguridad de tu entorno.
Cómo detectar un ataque Pass the Hash
Es importante contar con un buen sistema de detección y respuesta de puntos finales (EDR) en las estaciones de trabajo y servidores. Estas soluciones proporcionan alertas que ayudarán a detectar cualquier intento de volcar las credenciales de una máquina(Figura 9).
Los cazadores de amenazas o los analistas SOC pueden utilizar la telemetría proporcionada por soluciones EDR como Microsoft Defender for Endpoint (MDE). Utilizando funciones como Advanced Hunting, los defensores pueden consultar los inicios de sesión de las cuentas para identificar dónde podrían estar exponiendo sus credenciales las cuentas con privilegios elevados(Figura 10).
Perfiles de los actores de amenazas
La base de conocimientos ATT&CK de MITRE identifica los siguientes grupos de amenazas (junto con otros grupos asociados) como los que han utilizado los ataques Pass the Hash in the wild:
- APT41 (Grupo G0096)2
- Araña hechicera (Grupo G0102)3
- FIN13 (Grupo G1016)4
- APT29 FIN13 (Grupo G0016)5
Pasar las herramientas Hash
Las siguientes herramientas, disponibles en github.com, pueden utilizarse para realizar un ataque Pass the Hash:
- Mimikatz
- SharpKatz
- wce
- Invoke-TheHash
- Sharp-SMBExec
Panorama de las amenazas
Táctica ATT&CK: Movimiento Lateral
El 3 de octubre de 2024, Cisco Talos informó de que un actor de amenazas que propagaba una nueva variante de MedusaLocker, conocida como BabyLockerKZ, utilizaba la herramienta Checker para gestionar credenciales para el movimiento lateral. La herramienta combina los scripts Remote Desktop Plus, PsExec, Mimikatz e Invoke-TheHash. Usando la técnica Pass the Hash con Invoke-TheHash, el atacante se autenticaba remotamente usando hashes NTLM, sin crackear contraseñas, y explotaba tareas WMI y SMB para moverse lateralmente y escalar privilegios dentro de la red comprometida.6
En junio de 2024, BlackPoint informó de que APT29 utilizaba Sharp-SMBExec, una conversión a C# del script PowerShell Invoke-SMBExec, para llevar a cabo ataques Pass the Hash. Esto permitió a APT29 utilizar hashes NTLM robados para moverse lateralmente dentro de las redes sin necesidad de la contraseña real.7
En febrero de 2022, Mandiant informó de que APT41 utiliza regularmente el Editor de credenciales de Windows para volcar hashes de contraseñas de la memoria. Con estos hashes robados, APT41 puede iniciar sesión en otras cuentas de usuario sin conocer la contraseña real, lo que le permite moverse lateralmente por las redes.8
El 7 de diciembre de 2021, Mandiant informó de que FIN13 utilizó el cmdlet de PowerShell Invoke-SMBExec como parte de sus ataques Pass the Hash. Mediante esta técnica, los agresores podían realizar movimientos laterales en entornos comprometidos sin necesidad de la contraseña real, basándose únicamente en hashes NTLM robados.9
El 24 de junio de 2020, SecureWorks informó de que APT31 (también conocida como BRONZE VINEWOOD) utilizó el cmdlet Invoke-SMBExec PowerShell para realizar ataques Pass the Hash. Mediante el uso de hashes de contraseñas NTLM robadas, APT31 fue capaz de moverse lateralmente a través de redes comprometidas, apuntando a organizaciones en las cadenas de suministro de defensa y gobierno.10
Instantánea de Semperis
Pass the Hash es una poderosa técnica en la que los atacantes utilizan hashes de contraseñas NT robadas para autenticarse en sistemas remotos sin necesidad de la contraseña original. Esta técnica les permite moverse lateralmente dentro de una red, acceder a cuentas con privilegios elevados y mantener el control sobre los sistemas. Los defensores deben limitar los privilegios del administrador local, desplegar al menos niveles administrativos para las cuentas de nivel 0 o equivalentes, y aplicar soluciones EDR y de detección y respuesta a incidentes de amenazas (ITDR) para detectar estos ataques basados en la identidad.
Más información sobre los ataques Pass the Hash
- 5 métodos comunes de ataque AD
- Procedimientos recomendados de protección de Active Directory
- Cómo está evolucionando la ciberseguridad de EDR a XDR y a ITDR
- Cómo defenderse de un ataque de "pase el billete": Seguridad AD 101
- Explicación de la extracción de NTDS.DIT
- Defensa del Ataque Hash
Notas finales
- https://www.thehacker.recipes/ad/movement/ntlm/pth
- https://attack.mitre.org/groups/G0096/
- https://attack.mitre.org/groups/G0102/
- https://attack.mitre.org/groups/G1016/
- https://attack.mitre.org/groups/G0016/
- https://blog.talosintelligence.com/threat-actor-believed-to-be-spreading-new-medusalocker-variant-since-2022/
- https://blackpointcyber.com/wp-content/uploads/2024/06/Threat-Profile-APT29_Blackpoint-Adversary-Pursuit-Group-APG_2024.pdf
- https://cloud.google.com/blog/topics/threat-intelligence/apt41-dual-espionage-and-cyber-crime-operation
- https://cloud.google.com/blog/topics/threat-intelligence/fin13-cybercriminal-mexico/
- https://www.secureworks.com/research/bronze-vinewood-targets-supply-chains