10 jul 2013

Mitigar los ataques Pass The Hash (PtH Attack) – Parte II

¿Cómo se realiza un ataque Pass The Hash? Las herramientas o vías utilizadas para obtener derechos de administración locales en un equipo son muy diversas, pero una vez realizado esta adquisición el posterior ataque PtH siempre es llevado a cabo de manera similar. Los pasos en general son los siguientes:
  • Un atacante obtiene acceso administrativo local a un equipo de la red mediante la ejecución de código malicioso, mediante la explotación de una vulnerabilidad conocida o sin parchear, u otro medio, como por ejemplo el ataque local mediante el uso de un live-cd en el equipo. El atacante se aprovecha de este acceso administrativo para obtener los hashes correspondientes a las contraseñas de los usuarios que se almacenan en la SAM local. También podrían obtenerse los hashes cacheados en memoria. El atacante utilizará estos hashes de las contraseñas obtenidos para llevar a cabo el acceso a otro equipo de la red, el cual disponga del mismo usuario y hash, e intentar realizar la escalada de privilegios. Una vez que los hashes son capturados, el atacante reemplazará el hash del usuario que quiere impersonalizar en la memoria de su equipo con el fin de obtener acceso a otras máquinas. Hay que tener en cuenta que si una cuenta de administrador de dominio no se utiliza para la autenticación en un equipo, esta cuenta no estará disponible para el atacante que ha comprometido el equipo.
  • El atacante utiliza las credenciales robadas para conectarse a otros equipos de la red utilizando por ejemplo net view o psexec.exe. Una vez que el atacante modifica en memoria las credenciales podrá acceder a recursos con los permisos de esos usuarios. Hay que tener en cuenta que los hashes NT se crean con un algoritmo MD4 sin salt, por lo que son idénticos en todos los equipos, es decir, un usuario con la misma contraseña en dos equipos distintos, disponen del mismo hash. Por lo que PtH funcionará fácilmente sin conocer la contraseña. El atacante seguirá moviéndose lateralmente por los equipos de la red hasta que pueda comprometer un equipo con una cuenta de dominio privilegiado.
  • El atacante llega a un equipo que contiene una cuenta de dominio con privilegio o una cuenta de servicio. Esta cuenta le permite poner en peligro los recursos del servidor como resultado de una escalada de privilegios. El atacante también puede seguir realizando un movimiento lateral en el entorno del servidor. El objetivo es lograr las credenciales del administrador de dominio.
  • Si el atacante obtiene las credenciales de administrador de dominio o una cuenta equivalente, es decir con acceso privilegiado de Active Directory, entonces el atacante puede comprometer todos los equipos en el bosque del directorio activo. El atacante también puede comprometer otros dominios que confían en el dominio comprometido, o incluso obtener los hashes de todos los usuarios de dominio, realizando un volcado de hashes total, pudiendo utilizar cualquier identidad.
Incluso cuando el atacante no puede comprometer una cuenta que sea miembro del grupo Administradores de dominio o de otro grupo con ciertos privilegios, el atacante podrá, generalmente, acceder a la infraestructura de dominios, incluyendo la capacidad de robar, alterar y destruir datos almacenados en servidores comprometidos y equipos. Los atacantes también intentan atraer a los administradores a iniciar sesión en equipos comprometidos con credenciales privilegiadas.
La gran pregunta que se hacen los administradores es, ¿Por qué Microsoft no puede liberar una actualización para resolver este problema? Para empezar el robo de credenciales y la reutilización o impersonalización no es un problema que pueda resolverse con una simple actualización de software. Para que la mitigación sea eficaz, cualquier cambio debe negar a los atacantes la posibilidad de realizar alguna de las siguientes acciones:
  • ¿Dónde se encuentran las credenciales? Muchos investigadores de seguridad conocen las partes más internas del sistema operativo Windows, por lo que se conoce a priori en qué direcciones se almacenan las credenciales. Si los ingenieros de Microsoft pensaron en cambios en el cifrado o métodos de ofuscación, es poco probable que sea eficaz, ya que pueden ser descubiertos mediante la ingeniería inversa en un tiempo relativamente corto. La seguridad por oscuridad no disuadirá a los atacantes.
  • Extracto de credenciales. Los ataques PtH y otro tipo de ataques de robo de credenciales aprovechan el acceso que un atacante obtiene al comprometer una cuenta en el grupo de administradores local. Estas cuentas tienen un control completo sobre la memoria del equipo y los recursos. Mientras que los métodos utilizados para cifrar y ocultar las credenciales se pueden cambiar, el sistema operativo todavía tiene que tener la capacidad de recuperarlos. Un atacante que puede ejecutar código como el administrador local tiene los mismos privilegios de seguridad que el sistema operativo y puede recuperar las credenciales de la misma manera que lo hace el sistema operativo. Un paso importante para mitigar es evitar que los atacantes puedan hacerse con el control de estas cuentas mediante la restricción de acceso administrativo local de usuario estándar, una reducción que está disponible a día de hoy.
  • Reutilización de credenciales. El mismo mecanismo de inicio de sesión único (SSO) aporta importantes beneficios a la experiencia de usuario también aumenta el riesgo de un ataque PtH. Las credenciales deberán ser almacenados en caché para que el sistema operativo pueda llevar a cabo acciones en nombre del usuario. Si las credenciales que el usuario escribe en el inicio de sesión no están disponibles o no pueden ser reutilizadas, el usuario debería volver a escribirlas continuamente para cada acción en su nombre. Además, todavía se puede realizar el registro de pulsaciones de teclado o keylogging, para capturar las credenciales. Un paso hacia la prevención de los ataques PtH sería la limitación de delegación.
Como se puede extrapolar de los problemas a los que Microsoft se enfrenta ante este tipo de amenazas, es lógico entender que no es un ataque que se pueda abordar con una sola solución o actualización. En el siguiente artículo se irán exponiendo mitigaciones para proteger al entorno empresarial de este tipo de ataques.

1 comentario:

  1. Muy buena entrada Pablo. Como te comenté en su día, espero con ansias más posts sobre este tema en cuestión, en especial, el referido a la delegación de credenciales. Salu2!

    ResponderEliminar