
ProfileHound – BloodHound-OpenGraph-Sammler für auf Domänenrechnern gespeicherte Benutzerprofile. Treffen Sie fundierte Entscheidungen über das Ausspähen von Geheimnissen, indem Sie aktive Benutzerprofile auf Domänenrechnern identifizieren.
____ _____ __ __ __ __
/ __ \_________ / __(_) /__ / / / /___ __ ______ ____/ /
/ /_/ / ___/ __ \/ /_/ / / _ \/ /_/ / __ \/ / / / __ \/ __ /
/ ____/ / / /_/ / __/ / / __/ __ / /_/ / /_/ / / / / /_/ /
/_/ /_/ \____/_/ /_/_/\___/_/ /_/\____/\__,_/_/ /_/\__,_/
ProfileHound ist ein Post-Eskalations-Tool, das dabei hilft, Red-Teaming-Ziele zu finden und zu erreichen, indem es Domänenbenutzerprofile auf Maschinen lokalisiert. Es verwendet das BloodHound-OpenGraph-Format, um eine neue Kante namens HasUserProfile zu erstellen, die bestimmt, ob ein Benutzerprofil auf einem Computer vorhanden ist. Diese Kante ermöglicht es Operatoren, fundierte Entscheidungen darüber zu treffen, welche Computer für die Suche nach Geheimnissen („Looting“) angezielt werden sollen.
Dieses Tool benötigt Administratorzugriff auf die C$-Freigabe auf Zielmaschinen, um Benutzerprofile aufzulisten.
Ein großer Dank geht an Remi Gascou (@podalirius) für die Tools ShareHound und bhopengraph. Ich wollte schon länger ein Tool bauen, um diese Daten zu sammeln, und die Verwendung dieser Bibliotheken erlaubte mir, mich auf die Entwicklung zu konzentrieren, anstatt mich mit der Infrastruktur herumzuschlagen.
[!WARNING] ProfileHound befindet sich in einer frühen Entwicklungsphase und noch nicht alle Sammelmodi sind implementiert. Verwenden Sie es mit Vorsicht in Produktionsumgebungen; Sie übernehmen das Risiko der Nutzung dieses Tools.
Post-Exploitation-Ziele in Active Directory haben sich von lokal gespeicherten Daten hin zu SaaS-Anwendungen und der Cloud verlagert. Um den Wert in der Offensive Security zu beweisen, müssen wir zeigen, wie der Zugriff auf diese Dienste kompromittiert werden kann. In vielen Fällen werden diese Dienste nur von bestimmten Gruppen oder Benutzern genutzt, z. B. Personalabteilung, Finanzen usw. In einigen Szenarien können bestimmte SaaS-Anwendungen nur von bestimmten Maschinen aus aufgerufen werden.
Die HasSession-Kante von BloodHound ist großartig, aber nur nützlich, wenn ein Benutzer auf einer Maschine angemeldet ist. Ist ein Benutzer zum Zeitpunkt der Datenerfassung nicht angemeldet, kann es schwierig sein, den Computer zu finden, der Geheimnisse für eine weitere Ausnutzung enthält. Benutzerprofile können eine erhebliche Menge wertvoller Informationen enthalten – DPAPI, zwischengespeicherte Anmeldedaten, SSH-Schlüssel, Cloud-Schlüssel und mehr – und erfordern keine aktive Benutzersitzung, um darauf zuzugreifen.

ProfileHound verwendet BloodHounds OpenGraph-Format, um eine neue Graph-Kante namens HasUserProfile zu erstellen, die bestimmt, ob ein Benutzerprofil auf einer Domänenmaschine vorhanden ist. Dies kann Operatoren helfen, sich auf Maschinen zu konzentrieren, auf denen ein hochwertiger Benutzer oder eine hochwertige Gruppe ein Profil hat.
Die HasUserProfile-Kante enthält Eigenschaften für das Erstellungs- und das letzte Änderungsdatum des Profils. Diese Informationen helfen zu bestimmen:

Diese Kante enthält auch Zeitstempel für die Erstellung und Änderung des Profils, sodass mit spezifischen Cypher-Abfragen aktive oder langjährige Benutzerprofile auf bestimmten Maschinen gefunden werden können.
Installieren Sie ProfileHound mit pipx (es sei denn, Sie mögen das Abhängigkeits-Chaos):
pipx install profilehound
Um die neueste Version (bleeding edge) zu verwenden, können Sie aus dem Quellcode installieren:
pipx install git+https://github.com/m4lwhere/profilehound.git
Für einen containerisierten Ansatz erstellen Sie das Image und führen Sie das Tool wie folgt aus:
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
Um z. B. mit einem Domänen-Admin-Konto sccm.lab\alice und dem Passwort whiteRabbit auszuführen:
$ 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.