3 jul 2013

Mitigar los ataques Pass The Hash (PtH Attack) - Parte I

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.
Este hecho es utilizado en una auditoría real de índole interno con el fin de aumentar progresivamente el nivel de acceso que un atacante, que simule un rol de empleado sin privilegios, dispone en la red. Un hash es la contraseña en formato "protegido" y es una derivación matemática directa de la propia contraseña. Este hash proporciona al sistema una prueba de que el usuario conoce la contraseña, ya que lo ideal es que una contraseña disponga de una única representación en formato hash, cosa que no es real. Después de que el atacante haya robado el usuario y el autenticador o hash, el atacante podría hacer efectivo el acceso a los recursos locales o remotos de dicha cuenta, privilegios de ésta, etc. Si la cuenta comprometida es una cuenta con privilegios, como un administrador de dominio, las ganancias por parte del atacante son infinitas, ya que tendría acceso a todo el dominio y ser cualquier usuario del dominio. Hay que tener muy en cuenta que cualquier credencial almacenadas en un equipo pueden ser robadas con este tipo de ataques, incluyendo las cuentas locales de los usuarios (SAM), cuentas de usuario de dominio, de servicio y de equipo. Las cuentas de dominio que no se hayan utilizado para iniciar sesión en el equipo comprometido no podrán ser robadas, a no ser que nos encontremos en el Domain Controller.
Hay que recordar que para que un atacante pueda utilizar un hash robada en otro equipo, éste debe cumplir unos requisitos:
  • 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.
  • CredManCredential Manager.
  • LSA.

2 comentarios:

  1. [...] Mitigar los ataques Pass The Hash (PtH Attack) – Parte I [...]

    ResponderEliminar
  2. [...] Framework puede obtener información sensible muy interesante de un volcado de RAM. Sabemos que los hashes de Windows son información muy útil para un atacante, y para un forense también puede serlo, ya que con esa [...]

    ResponderEliminar