
ProfileHound - recopilador de OpenGraph de BloodHound para perfiles de usuario almacenados en las máquinas del dominio. Toma decisiones informadas sobre el saqueo de secretos identificando perfiles de usuario activos en las máquinas del dominio.
____ _____ __ __ __ __
/ __ \_________ / __(_) /__ / / / /___ __ ______ ____/ /
/ /_/ / ___/ __ \/ /_/ / / _ \/ /_/ / __ \/ / / / __ \/ __ /
/ ____/ / / /_/ / __/ / / __/ __ / /_/ / /_/ / / / / /_/ /
/_/ /_/ \____/_/ /_/_/\___/_/ /_/\____/\__,_/_/ /_/\__,_/
ProfileHound es una herramienta post-escalada que ayuda a encontrar y alcanzar objetivos de red team localizando perfiles de usuario de dominio en las máquinas. Utiliza el formato OpenGraph de BloodHound para construir un nuevo edge llamado HasUserProfile que determina si existe un perfil de usuario en un equipo. Este edge permite a los operadores tomar decisiones informadas sobre qué equipos atacar para extraer secretos.
Esta herramienta requiere acceso administrativo al recurso compartido C$ en las máquinas objetivo para enumerar los perfiles de usuario.
Muchas gracias a Remi Gascou (@podalirius) por las herramientas ShareHound y bhopengraph. Llevaba tiempo queriendo construir una herramienta para recopilar estos datos y el uso de estas librerías me permitió centrarme en construir en lugar de en la fontanería.
[!WARNING] ProfileHound se encuentra en etapas tempranas de desarrollo y todavía no tiene implementados todos los modos de recopilación. Úsalo con precaución en entornos de producción; asumes el riesgo de utilizar esta herramienta.
Los objetivos posteriores a la explotación en Active Directory han pasado de los datos almacenados localmente a las aplicaciones SaaS y la nube. Para demostrar valor en el offsec, necesitamos mostrar cómo se puede comprometer el acceso a estos servicios. En muchos casos, estos servicios son utilizados únicamente por ciertos grupos o usuarios, como Recursos Humanos, Finanzas, etc. En algunos escenarios, ciertas aplicaciones SaaS solo se pueden acceder desde máquinas específicas.
El edge HasSession de BloodHound es excelente, pero solo es útil cuando un usuario tiene una sesión iniciada en una máquina. Si un usuario no tiene sesión iniciada en una máquina cuando se recopilan los datos, puede ser difícil encontrar qué equipo puede contener secretos para facilitar una explotación posterior. Los perfiles de usuario pueden contener una cantidad significativa de información valiosa en DPAPI, credenciales almacenadas en caché, claves SSH, claves de nube y más; no requieren una sesión de usuario activa para acceder a ellos.

ProfileHound utiliza el formato OpenGraph de BloodHound para construir un nuevo edge de grafo llamado HasUserProfile que determina si existe un perfil de usuario en una máquina del dominio. Esto puede ayudar a los operadores a centrarse en las máquinas donde un usuario o grupo de alto valor tiene un perfil.
El edge HasUserProfile contiene propiedades para la fecha de creación y la fecha de última modificación del perfil. Esa información ayuda a determinar:

Este edge también tiene propiedades para las marcas de tiempo de creación y modificación del perfil, lo que permite consultas Cypher específicas para encontrar perfiles de usuario activos o de larga duración en máquinas concretas.
Instala ProfileHound usando pipx (a menos que disfrutes del infierno de las dependencias):
pipx install profilehound
Para usar la versión más reciente, puedes instalarla desde el código fuente:
pipx install git+https://github.com/m4lwhere/profilehound.git
Para usar un enfoque containerizado, construye la imagen y ejecuta la herramienta con lo siguiente:
docker build -t profilehound .
docker run --rm profilehound --help
docker run --rm -v ${PWD}:/profilehound profilehound --auth-user alice --auth-password whiteRabbit --auth-domain sccm.lab --dns 192.168.57.10 --auth-dc-ip 192.168.57.10
Por ejemplo, para ejecutar con una cuenta de administrador de dominio sccm.lab\alice con la contraseña whiteRabbit:
$ profilehound --auth-user alice --auth-password whiteRabbit --auth-domain sccm.lab --target 192.168.57.0/27
____ _____ __ __ __ __
/ __ \_________ / __(_) /__ / / / /___ __ ______ ____/ /
/ /_/ / ___/ __ \/ /_/ / / _ \/ /_/ / __ \/ / / / __ \/ __ /
/ ____/ / / /_/ / __/ / / __/ __ / /_/ / /_/ / / / / /_/ /
/_/ /_/ \____/_/ /_/_/\___/_/ /_/\____/\__,_/_/ /_/\__,_/ v0.1.1
@m4lwhere
BloodHound CE OpenGraph collector for user profiles stored on domain machines.