Récupération de l’agent de collecte SharpHound
Maintenant que nous avons un serveur BloodHound fonctionnel, il est temps de collecter les données de notre Active Directory. Nous allons pour cela utiliser un collecteur, nommé SharpHound. Il existe un autre collecteur nommé AzureHound qui, vous vous en doutez, permet de collecter les données d'un tenant Azure.
Les collecteurs sont des clients qui vont interagir avec l'Active Directory pour en extraire les données pertinentes pour BloodHound. Il existe différentes options pour extraire plus ou moins d'objets en fonction de notre besoin.
Pour une collecte sur un Active Directory, celle-ci s'effectue principalement via les protocoles RPC, SMB et LDAP/LDAPS et via un compte utilisateur qui n'a pas besoin d'être privilégié (ni localement, ni sur le domaine). En effet, n'importe quel compte utilisateur du domaine est suffisant.
C'est ce qui est souvent effrayant et méconnu des équipes d'administration : n'importe quel utilisateur du domaine peut avoir accès à un très grand nombre d’informations à propos d'autres objets (membres, permissions, attributs, etc.). Ce qui est normal et nécessaire pour le bon fonctionnement de l'Active Directory. Gardez donc en tête que tout ce que vous verrez à partir d'ici est également consultable par vos utilisateurs du domaine (ou un attaquant ayant compromis un compte utilisateur).
Attention, si votre annuaire possède un défaut de configuration (accès LDAP autorisé en anonyme) alors toutes ces données pourront être obtenues sans authentification !
Depuis BloodHound, il faut se rendre dans la roue crantée puis dans "Download Collectors" pour trouver les dernières versions des collecteurs, plutôt pratique :
Il n'y a qu'à cliquer sur "Download SharpHound" pour télécharger une archive ZIP :
Le téléchargement depuis l'interface web de notre BloodHound permet notamment de nous assurer que nous aurons une version des exports compatible avec notre version BloodHound. Avec les évolutions de version et maintenant les versions Legacy, Community et Enterprise, il peut exister des incompatibilités qui causeront des dysfonctionnements lors de l'import.
Nous allons surtout utiliser le binaire compilé SharpHound.exe. Une version PowerShell (.ps1) est aussi disponible.
Si vous avez un antivirus sur votre poste de travail, il est possible qu'il "sonne" à la rencontre du binaire SharpHound.exe et le supprime. C'est une déconvenue qui n'arrivait pas lorsque j'ai commencé à utiliser cet outil il y a plusieurs années. Mais, entre-temps, les attaquants et autre APT se sont également mis à l'utiliser : c'est le risque du métier lorsque l'on conçoit un outil aussi efficace, pour l'attaquant comme pour le défenseur.
Conséquence, certains éditeurs de solutions antivirales, EPP et autre EDR ont commencé à le référencer comme malveillant. Il est donc possible qu'il faille ajouter une règle d'exception pour ce binaire afin de pouvoir l'utiliser. Pensez à supprimer cette exception à la fin de vos opérations.
Pour information, dans mon Lab, mon Active Directory se nomme AD01
, possède l'adresse IP 192.168.56.102 et est le contrôleur du domaine "it-connect.tech". Il est aussi le serveur DNS de ce domaine.