Los ataques PtH o Pass The Hash permiten utilizar el robo de credenciales, ya sea mediante el uso de la contraseña obtenida o el hash robado. El proceso que es llevado a cabo se realiza en dos etapas, la primera el atacante debe obtener un acceso administrativo local en al menos un ordenador del ámbito empresarial, y en segundo lugar el atacante tratará de aumentar el acceso a otros equipos de la red, pero ¿Cómo? Fácil, los pasos son:
- El robo de una credencial o más del equipo comprometido. Es decir, una vez el atacante tiene privilegios administrativos sobre el equipo en local, puede obtener otras credenciales que se encuentren logueadas, cacheadas o en la SAM del equipo comprometido.
- Reutilizar las credenciales robadas para acceder a otros sistemas y/o servicios informáticos. En otras palabras, cuando disponemos de una credencial, podremos usarla para entrar otra máquina que también tenga ese usuario con el mismo hash.
- El atacante debe tener conectividad con el equipo remoto a través de la red, y el equipo remoto debe tener servicios que acepten conexiones de red.
- La cuenta del usuario debe tener un hash idéntico al que se robo en la máquina comprometida, es decir, la contraseña debe ser la misma. Por ejemplo, si ambos equipos están en el mismo dominio o cuentas locales con el mismo nombre de usuario y contraseña.
- La cuenta comprometida debe tener derecho de inicio de sesión en red en el equipo remoto.
Ataque: Descripción
El atacante utilizará las credenciales obtenidas de un equipo comprometido para acceder a otro equipo del mismo valor para la organización. Por ejemplo, el atacante puede utilizar dichas credenciales robadas de la cuenta de administrador local desde el equipo comprometido para obtener acceso a otro equipo que disponga de la misma cuenta (mismo usuario, mismo pass). ¿Se quedará ahí el atacante? Es obvio que no, el siguiente paso será la elevación de privilegios, para lo cual el atacante utilizará las credenciales obtenidas de un equipo comprometido para acceder a otro equipo de un mayor valor para la organización. El ejemplo sería obtener acceso a un servidor gracias al robo de credenciales.
Es importante tener en cuenta que el atacante debe tener acceso de administrador en el equipo comprometido inicialmente, con el fin de comenzar el robo de credenciales. El acceso administrativo en un equipo puede incluir la posibilidad de ejecutar una aplicación o script con una cuenta en el grupo de administradores locales, aunque este tipo de acceso también se puede lograr mediante el uso de privilegios, tales como "la toma de posesión". Con acceso administrativo un atacante puede robar credenciales de varios lugares en el equipo, como por ejemplo:
- SAM, Security Account Manager. Fichero que se encuentra en %windir%\system32\config.
- Subsistema de autoridad (lsass.exe). De este proceso se puede recuperar las contraseñas en plano de las cuentas logueadas en el sistema, ya sea de manera local o remota (smb, escritorio remoto...).
- En los controladores de dominio se puede obtener la base de datos de Active Directory.
- CredMan, Credential Manager.
- LSA.