GCDS - Google Cloud Directory Sync
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Esta es una herramienta que se puede usar para sincronizar tus usuarios y grupos de Active Directory con tu Workspace (y no al revés en el momento de escribir esto).
Es interesante porque es una herramienta que requerirá las credenciales de un superusuario de Workspace y un usuario privilegiado de AD. Por lo tanto, podría ser posible encontrarla dentro de un servidor de dominio que estaría sincronizando usuarios de vez en cuando.
Para realizar un MitM al binario config-manager.exe
solo agrega la siguiente línea en el archivo config.manager.vmoptions
: -Dcom.sun.net.ssl.checkRevocation=false
Ten en cuenta que Winpeas es capaz de detectar GCDS, obtener información sobre la configuración y incluso las contraseñas y credenciales encriptadas.
También ten en cuenta que GCDS no sincronizará contraseñas de AD a Workspace. Si acaso, solo generará contraseñas aleatorias para los nuevos usuarios creados en Workspace, como puedes ver en la siguiente imagen:
El binario config-manager.exe
(el binario principal de GCDS con GUI) almacenará las credenciales de Active Directory configuradas, el token de actualización y el acceso por defecto en un archivo xml en la carpeta C:\Program Files\Google Cloud Directory Sync
en un archivo llamado Untitled-1.xml
por defecto. Aunque también podría guardarse en los Documentos
del usuario o en cualquier otra carpeta.
Además, el registro HKCU\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\ui
dentro de la clave open.recent
contiene las rutas a todos los archivos de configuración abiertos recientemente (xmls). Así que es posible verificarlo para encontrarlos.
La información más interesante dentro del archivo sería:
Nota cómo el refresh token y la contraseña del usuario están encriptados usando AES CBC con una clave y un IV generados aleatoriamente almacenados en HKEY_CURRENT_USER\SOFTWARE\JavaSoft\Prefs\com\google\usersyncapp\util
(donde sea que la biblioteca Java prefs
almacene las preferencias) en las claves de cadena /Encryption/Policy/V2.iv
y /Encryption/Policy/V2.key
almacenadas en base64.
Usando el token de actualización, es posible generar tokens de acceso utilizando este y el ID de cliente y el secreto de cliente especificados en el siguiente comando:
Tenga en cuenta que incluso teniendo un token de actualización, no es posible solicitar ningún alcance para el token de acceso, ya que solo puede solicitar los alcances admitidos por la aplicación donde está generando el token de acceso.
Además, el token de actualización no es válido en todas las aplicaciones.
Por defecto, GCSD no tendrá acceso como el usuario a todos los posibles alcances de OAuth, por lo que utilizando el siguiente script podemos encontrar los alcances que se pueden usar con el refresh_token
para generar un access_token
:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)