Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
cypheroth — Ensemble d'outils automatisé et extensible qui exécute des requêtes cypher sur le backend Neo4j de Bloodhound et enregistre la sortie dans des feuilles de calcul. | Kitploit
Outils/GitHubGitHub/seajaysec/cypheroth
ReconnaissanceCollecte d'InformationsTests d'Intrusion
GitHubseajaysec/cypheroth

cypheroth

Ensemble d'outils automatisé et extensible qui exécute des requêtes cypher sur le backend Neo4j de Bloodhound et enregistre la sortie dans des feuilles de calcul.

Voir le dépôt
25642il y a 5 ansVérifié par Kitploit

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

Cypheroth

Ensemble d'outils automatisé et extensible qui exécute des requêtes Cypher sur le backend Neo4j de BloodHound et enregistre les résultats dans des feuilles de calcul.

cypheroth

Description

Ceci est un script bash qui automatise l'exécution de requêtes Cypher contre les données BloodHound stockées dans une base de données Neo4j.

Je me suis retrouvé à ré-exécuter les mêmes requêtes via l'interface web Neo4j lors de multiples évaluations et me suis dit qu'il devait y avoir une manière plus simple. 😅

La liste des requêtes Cypher à exécuter est entièrement extensible. L'exemple de formatage ci-dessous montre comment ajouter les vôtres.

Partagez toute requête utile supplémentaire afin que je puisse les ajouter à ce projet !

Testé et fonctionnel sous Bash sur Linux, macOS et Windows

Démo

Démo Cypheroth (Rendu avec termtosvg pour votre plaisir visuel)

Prérequis

  • La commande cypher-shell est fournie avec Neo4j et est requise pour le fonctionnement de ce script
    • Si Neo4j est installé et que cypher-shell n'est pas trouvé, vous avez peut-être une version obsolète de Neo4j
    • La dernière version se trouve toujours à cet endroit
    • Sur Kali, mettez à niveau vers la dernière version en utilisant le dépôt Debian de Neo4j
  • Optionnel : Si la commande ssconvert est présente, le script combinera tous les fichiers .csv en feuilles dans un fichier .xls
    • Installez la suite gnumeric avec apt ou brew pour avoir accès à ssconvert

Sous Windows, nous recommandons d'utiliser WSL pour exécuter ce script, tandis que la base de données Neo4j s'exécute sous Windows. Vous devrez simplement installer le paquet cypher-shell dans WSL (Linux).

Utilisation

Flags:

root@kitploit:~
  -u Neo4J Username (Required)
  -p Neo4J Password (Required)
  -d Fully Qualified Domain Name (Required) (Case Sensitive)
  -a Bolt address (Optional) (Default: localhost:7687)
  -t Query Timeout (Optional) (Default: 30s)
  -v Verbose mode (Optional) (Default:FALSE)
  -h Help text and usage example (Optional)

Exemple avec les valeurs par défaut :

./cypheroth.sh -u neo4j -p BloodHound -d TESTLAB.LOCAL

Exemple avec toutes les options :

./cypheroth.sh -u neo4j -p hunter2 -d BigTech.corp -a 10.0.0.1:7687 -t 5m -v true

Les fichiers sont ajoutés dans un sous-répertoire nommé d'après le FQDN.

Requêtes Cypher

Il y a actuellement près de 60 requêtes dans le script. Voici un échantillon des informations que vous recevrez :

  • Liste complète des propriétés des utilisateurs
  • Liste complète des propriétés des ordinateurs
  • Liste complète des propriétés des domaines
  • Liste complète des propriétés des OU
  • Liste complète des propriétés des GPO
  • Liste complète des propriétés des groupes
  • Ordinateurs avec administrateurs
  • Ordinateurs sans administrateurs
  • Utilisateurs kerberoastables et ordinateurs où ils sont administrateurs

Pour ajouter des requêtes supplémentaires, éditez le tableau queries dans cypheroth.sh et ajoutez une ligne au format suivant :

Description;Cypher Query;Output File

Si vous ajoutez une requête qui nécessite la valeur du domaine, enregistrez-la sous $DOMAIN.

Exemple 1 :

root@kitploit:~
All Usernames;MATCH (u:User) RETURN u.name;usernames.csv

Exemple 2 :

root@kitploit:~
All Domain Admins;MATCH (u:User) MATCH (g:Group {name:'DOMAIN ADMINS@$DOMAIN'}) RETURN u.displayname;domainAdmins.csv

Analyser plusieurs domaines

Si vous devez analyser plusieurs domaines, vous pouvez exécuter plusieurs instances de Cypheroth en parallèle, chacune travaillant sur son domaine. Vous pouvez utiliser le script suivant par exemple (10 en parallèle).

root@kitploit:~
#!/usr/bin/env bash
DOMAINS=(domA.example.net domB.example.net [...])
parallel -j10 --lb ./cypheroth.sh <args> -d {} ::: "${DOMAINS[@]}"

Dépannage

Si vous utilisez une version obsolète de cypher-shell, vous pouvez rencontrer l'erreur suivante :

root@kitploit:~
DateTime is not supported as a return type in Bolt protocol version 1.
Please make sure driver supports at least protocol version 2.
Driver upgrade is most likely required.

Pour résoudre, mettez à jour Neo4j vers la dernière version.

Auteur

Chris Farrell (@seajay)

Remerciements

  • Cet outil n'existerait pas sans BloodHound - développé par @_wald0, @CptJesus, et @harmj0y.
  • Un grand merci au canal Bloodhound Slack #cypher_queries pour l'assistance
  • Un immense merci à @TinkerSec - les fondations de ce projet ont été directement copiées/collées depuis son script procdump 🙃
  • Un grand merci à @awsmhacks, @haus3c et @ScoubiMtl pour avoir collecté des requêtes Cypher utiles (ici, ici et ici)
  • Énorme reconnaissance pour les contributions de @chryzsh et @mubix !!
  • Toutes les contributions incroyables de @cnotin
Télécharger l’outil