BloodHound

BloodHound est un outil pour créer des graphiques à partir de collectes sur l’Active Directory. Il ne gère donc que la partie affichage. Pour faire ses relevés, il faudra utiliser d’autre logiciels tels que SharpHound ou AzureHound pour Windows ou encore BloodHoundPy utilisable sur l’ensemble des plateformes. Le projet a été créé par @_wald0, @CptJesus, et @harmj0y. Désormais, il est maintenu par l’équipe BloodHound Enterprise.

Installation de BloodHound (Analyse)

Pour installer BloodHound, le plus simple reste de RTFM. En cas d’absence d’internet, voici la procédure.

Pour résumer, BloodHound a besoin de Neo4j pour stocker ses items et créer ses graphiques. Neo4j est un système de gestion de base de données au code source libre basé sur les graphes, développé en Java par la société Neo technology.

Windows

Le processus d’installation sera quasiment le même que sur Linux. On Télécharge BloodHound, Neo4j et java.

La procédure va être assez simillaire à celle sous Linux, on installe java (suivant, suivant, terminé) ; on installe neo4j (suivant, suivant, terminé) puis on lance bloodhound (executer). Attention toutefois, la doc de BloodHound préconise de vériifer que la variable JAVA_HOME est bien paramétrée.

Linux

Sur une Kali - APT

Dans le cas où tu n’as pas besoin de la dernière version et que tu as les dépots Kali, il suffit de lancer un apt :

sudo apt update && sudo apt upgrade -y
sudo apt install bloodhound

A la main - Installer neo4j

Il faut donc mettre a jour les repository afin d’obtenir une version de java compatible avec Neo4j et Neo4j.

echo "deb http://httpredir.debian.org/debian stretch-backports main" | sudo tee -a /etc/apt/sources.list.d/stretch-backports.list
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -
echo 'deb https://debian.neo4j.com stable latest' | sudo tee -a /etc/apt/sources.list.d/neo4j.list
sudo apt-get update

Si les dépôts sont bien à jour, il suffit désormais de lancer le téléchargement. Comme les deux dépôts sont en HTTPS, il faut auparavant disposer de apt-transport-https.

sudo apt-get install apt-transport-https
sudo apt-get install neo4j

Configurer neo4j

Neo4j installé, il faut encore changer son mot de passe (obligatoire) et configurer ce dernier. Pour cela, on relance neo4j :

sudo systemctl stop neo4j
sudo /usr/bin/neo4j console

Puis on se rends sur la page d’administration de ce dernier : http://localhost:7474/ avec les credentials neo4j:neo4j.

NB: Si vous désirez utliser Neo4j depuis un Windows, il faut permettre aux autres personne de se connecter dessus. Pour cela, il faut modifier le fichier de configuration /etc/neo4j/neo4j.conf et décommander la ligne #dbms.default_listen_address=0.0.0.0

Si vous prévoyez de l’utiliser régulièrement, vous pouvez relancer le service systemctl. Sinon, il est possible de le lancer uniquement a la main avec /usr/bin/neo4j console.

Lancer BloodHound depuis les sources pre-compiles

Si jusque la, tout fonctionne, il est désormais tant d”installer BloodHound. Pour cela, direction le github et l’on récupère les sources de son système. Pour ici, ce sera Linux-x64.

mkdir ~/Tools
wget https://github.com/BloodHoundAD/BloodHound/releases/download/4.2.0/BloodHound-linux-x64.zip
unzip BloodHound-linux-x64.zip -d ~/Tools/
mv ~/Tools/BloodHound-linux-x64 ~/Tools/BloodHound
rm ./BloodHound-linux-x64.zip

Lancer ce dernier :

~/Tools/BloodHound/BloodHound --no-sandbox

AzureHound

AzureHound est l’outil qui va récupérer les données sur un Cloud Azure. Je n’ai jamais eu à m’en servir (pour l’instant), donc la doc est vide.

SharpHound

SharpHound est l’outil de collecte utilisable depuis Windows. Deux version possible, la version powershell, qui nécessite d’avoir un module sur la machine (je comprends pas son intérêt du coup ? Si le powershell n’est pas bloqué, mais que l’éxécution de fichier l’est ?)

PS C:\partage> Expand-Archive -LiteralPath 'C:\partage\BloodHound.zip' -Destination 'C:\partage'
PS C:\partage> New-Item -ItemType Directory 'C:\partage\tmp'
PS C:\partage> Set-Location 'C:\partage\tmp'
# Windows dans le domaine ciblé
PS C:\partage\tmp> C:\partage\BloodHound\ressources\app\Collectors\Sharphound.exe --collectionmethods all

BloodHoundPy

BloodHoundPy est un outil qui n’est pas fait par la même équipe que BloodHound. Son principal intérêt est qu’il peut travailler depuis n’importe quelle machine (car Python). Cependant, il semblerait qu’il y ait des différences entre SharpHound et BloodHoundPy, mais je n’ai pas vérifié.

Via apt

La methode la plus simple, et tout automatisée :

sudo apt update && sudo apt upgrade -y
sudo apt install bloodhound.py

Via python

Si tu n’as pas les dépots Kali, il faudra alors surement le faire via pyhton.

Installation de BloodHoundPy

pip install bloodhound

Ajout au path

J’ai oublié, mais c’est classique

Utilisation de BloodHoundPy

bloodhound-python -d support.htb -v --zip -c All -dc dc.support.htb -ns 10.10.11.174 -u support -p Ironside47pleasure40Watchful