Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
bloodhound-shell — Une interface de ligne de commande interactive pour l'API BloodHound. | Kitploit
Outils/GitHubGitHub/kr0no/bloodhound-shell
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésMouvement LatéralScripting et AutomatisationCollecte d'InformationsTests d'IntrusionCommandement et ContrôleUtilitaires et FrameworksRed Teaming
GitHub
1100il y a 19 joursPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
kr0no/bloodhound-shell

bloodhound-shell

Une interface de ligne de commande interactive pour l'API BloodHound.

Voir le dépôt

bhshell

PyPI Status PyPI version CI License: MIT

Un shell interactif en ligne de commande pour BloodHound. Recherchez des objets Active Directory, traquez les faiblesses et trouvez des chemins d'attaque depuis le terminal, sans ouvrir l'interface web.

Installation

Nécessite Python 3.11+ et un serveur BloodHound CE v9 (testé sur la v9.7.1).

pipx install bhshell     # recommended
# or
pip install bhshell

Démarrage rapide

$ bhshell --url http://127.0.0.1:8080

[bh: shell] > login -u admin
[+] Logged in as admin on 127.0.0.1:8080

[bh: shell] > hunt
  Severity   Check            Count   Example                      Description
  critical   dcsync           4       [email protected]       Non-Tier-Zero principals with replication rights
  critical   adcs             95      [email protected]           AD CS escalation paths (ESC*, GoldenCert)
  high       kerberoastable   2       [email protected]   Kerberoastable users
  ...
[*] Details: 'hunt CHECK' (e.g. 'hunt dcsync'), or 'hunt --all'.

[bh: shell] > user PHANTOM\svc_kerb_del --all -o svc_kerb_del.csv

[bh: shell] > ou phantom.corp -t

[bh: shell] > computer DF-MS-SHS -G

[bh: shell] > gpo 'ENABLE [email protected]' -c

[bh: shell] > path --owned -g

Les mêmes commandes s'exécutent de manière non interactive pour le scripting : bhshell -c "hunt --json" > hunt.json.

Ce qu'il fait

CommandeAffiche
user, computer, group, lookupKerberoastable / AS-REP roastable, délégation, âge du mot de passe, indicateurs Tier Zero et owned, ainsi que l'imbrication des groupes, le contrôle ACL entrant/sortant, les sessions et les droits d'administrateur local
ouOUs, conteneurs et domaines entiers : l'arborescence des OUs avec les compteurs d'objets, Tier Zero et owned, chaque objet sous une OU, les GPO qui s'appliquent (liens appliqués, héritage bloqué) et qui, en dehors de Tier Zero, peut les modifier, et qui contrôle l'OU ; user/computer -G affiche les GPO appliquées à un objet. Les OUs de même nom sont sélectionnées par nom distinctif
gpoOù une GPO est liée, les utilisateurs et ordinateurs auxquels elle s'applique (héritage bloqué et liens appliqués pris en compte) et qui, en dehors de Tier Zero, peut la modifier
ca, templateLes CAs d'entreprise et les modèles de certificats : les conditions ESC qu'un modèle remplit (ESC2 et ESC15 inclus, pour lesquelles BloodHound n'a pas d'arête), l'hôte et les paramètres de la CA (ESC6, ESC8), et qui peut s'enrôler, gérer (ESC7) ou les réécrire (ESC4)
searchObjets correspondant à des filtres de propriétés (search -t user hasspn enabled), avec dates, âges (90d) et jokers
pathChemins les plus courts vers une cible ou vers Tier Zero, depuis tout ce qui est owned, ou via des étapes --via ; affichés sous forme de chaînes de sauts, de graphe terminal, ou en SVG/PNG pour les rapports
huntVérifications à l'échelle du domaine par sévérité : DCSync, contrôle de Tier Zero, AD CS (ESC*), Kerberoasting, sessions privilégiées, lecteurs LAPS/gMSA, mots de passe dans les attributs ou encore à leur valeur par défaut (ordinateurs pré-Windows 2000, comptes inutilisés, comptes administrateurs avec un jumeau standard), primitives de prise de contrôle (Shadow Credentials, RBCD), contrôle de GPO, relais NTLM, approbations, honeytokens possibles... ; hunt --owned les limite à ce que vos objets owned peuvent faire
cypher, queryCypher brut, et une bibliothèque de requêtes enregistrées : fournies, vos propres fichiers .cyp (~/.bhshell/queries/ ou tout dossier défini avec config query_dirs) et celles enregistrées sur le serveur
owned, hvtMarquer ou démarquer les objets owned et Tier Zero, par nom ou depuis un fichier de noms
domains, trustsCompteurs par domaine, et la carte des approbations avec l'état du filtrage SID

Pour ajouter votre propre requête, enregistrez-la sous forme de fichier .cyp dans ~/.bhshell/queries/ et exécutez-la par son nom :

$ cat ~/.bhshell/queries/stale-admins.cyp
// description: Enabled adminCount users who have not logged on for a year
MATCH (u:User) WHERE u.admincount = true AND u.enabled = true
  AND u.lastlogontimestamp < (datetime().epochseconds - 31536000) RETURN u

[bh: shell] > query run stale-admins -o stale-admins.csv

Voir Query library pour le format et pour conserver les requêtes dans d'autres dossiers (un dépôt d'équipe, un dossier par mission).

La plupart des commandes acceptent --json et -o FILE (JSON ou CSV), et celles qui listent des objets acceptent également --names-only ou -o FILE.txt pour obtenir une simple liste de noms à transmettre à d'autres outils. La connexion fonctionne avec un mot de passe (plus MFA) ou un jeton d'API ; les secrets sont demandés interactivement ou lus depuis l'environnement, jamais passés en arguments.

Documentation

Le guide d'utilisation complet (chaque commande, option d'affichage, filtre de recherche, option de chemin, vérification de hunt et paramètre de configuration) se trouve dans docs/USAGE.md. Dans le shell, exécutez help ou help <command>.

Contribution

Les rapports de bugs et les pull requests sont les bienvenus à l'adresse github.com/kr0no/bloodhound-shell/issues.

git clone https://github.com/kr0no/bloodhound-shell.git
cd bloodhound-shell
python3 -m venv .venv && . .venv/bin/activate
pip install -e '.[dev]'
pre-commit install
python -m pytest

Sans serveur, pytest n'exécute que les tests hors ligne. Les autres s'exécutent contre une instance BloodHound CE chargée avec les données d'exemple :

export BHSHELL_TEST_URL=http://127.0.0.1:8080 BH_USER=admin BH_PASSWORD='...'
python -m pytest -m live

Ils ne font que lire depuis le serveur et ne touchent jamais à ~/.bhshell.

Licence

Distribué sous la licence MIT. Voir LICENSE pour plus de détails.

BloodHound est une marque déposée de SpecterOps. bhshell est un projet indépendant et n'est ni affilié à SpecterOps ni approuvé par celui-ci.

Télécharger l’outil