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
kcmapper — KcMapper is a security auditing tool for Keycloak. It exports your Keycloak configuration (realms, clients, users, roles, etc.) into a Neo4j graph database. This representation enables complex relationship analysis and security auditing through a built-in interactive web UI with pre-defined queries. | Kitploit
Outils/GitHubGitHub/synacktiv/kcmapper
Authentication & AuthorizationVulnerability AnalysisConfiguration AuditingInformation GatheringIdentity & Access Management (IAM)Misconfiguration
GitHubsynacktiv/kcmapper

kcmapper

Voir le dépôt
142il y a 6 moisPas 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 →

À propos

KcMapper is a security auditing tool for Keycloak. It exports your Keycloak configuration (realms, clients, users, roles, etc.) into a Neo4j graph database. This representation enables complex relationship analysis and security auditing through a built-in interactive web UI with pre-defined queries.

Partager

KcMapper

KcMapper est un outil permettant d'exporter les données de configuration de Keycloak vers une base de données graphe Neo4j. Cette représentation permet d'analyser les relations entre les realms, les clients, les utilisateurs, les groupes et les rôles. L'outil inclut une interface web pour exécuter des requêtes Cypher prédéfinies pour l'analyse et l'audit de sécurité.

Fonctionnalités

  • Export complet : Extrait les realms, les clients, les rôles (y compris les composites), les groupes (avec leur hiérarchie), les utilisateurs, les client scopes, les mappers et les flux d'authentification.
  • Modélisation en graphe : Représente la configuration Keycloak sous forme de graphe dans Neo4j.
  • Analyse interactive : Fournit une interface web locale pour exécuter des requêtes d'analyse prédéfinies sur les données exportées.
  • Audit de sécurité : Inclut des requêtes pour aider à identifier les configurations de sécurité potentiellement faibles.
  • Extensible : Des requêtes d'analyse personnalisées peuvent être ajoutées en modifiant le fichier webapp/queries.json.

Installation et utilisation

Ce guide couvre l'installation locale de KcMapper. Cette méthode nécessite d'installer Python et Neo4j sur votre machine.

Prérequis

  • Python 3.9+
  • Une instance Neo4j en cours d'exécution (Community ou Desktop).

Installation de Neo4j (Exemple pour Debian/Ubuntu)

Vous pouvez installer Neo4j Community Edition en suivant ces étapes :

root@kitploit:~
# Add the Neo4j GPG key
wget -O - https://debian.neo4j.com/neotechnology.gpg.key | sudo apt-key add -

# Add the Neo4j repository
echo 'deb https://debian.neo4j.com stable 5' | sudo tee /etc/apt/sources.list.d/neo4j.list

# Update packages and install Neo4j
sudo apt-get update
sudo apt-get install neo4j -y

# Start the Neo4j service
sudo systemctl start neo4j

Après l'installation, ouvrez http://localhost:7474 dans votre navigateur et définissez le mot de passe initial (par défaut, neo4j/neo4j).

Pour les autres systèmes (Windows, macOS, etc.) :

  • Neo4j Desktop : C'est l'option la plus simple. Téléchargez et installez Neo4j Desktop, qui fournit une interface graphique pour gérer vos bases de données.
  • Autres installations Linux : Suivez les instructions officielles sur la page d'installation de Neo4j.

Configuration

  1. Cloner le dépôt

    root@kitploit:~
    git clone https://github.com/synacktiv/kcmapper.git
    cd kcmapper
    
  2. Créer un environnement virtuel Python (recommandé)

    root@kitploit:~
    python -m venv venv
    source venv/bin/activate  # On Windows, use `venv\Scripts\activate`
    
  3. Installer les dépendances

    root@kitploit:~
    pip install -r requirements.txt
    
  4. Configurer les variables d'environnement Copiez le fichier .env.example vers .env.

    root@kitploit:~
    cp .env.example .env
    

    Modifiez le fichier .env pour qu'il pointe vers votre instance Keycloak et votre base de données Neo4j locale.

    root@kitploit:~
    # --- Keycloak Connection ---
    KEYCLOAK_URL=http://your-keycloak-server:8080/
    KEYCLOAK_USER=admin
    KEYCLOAK_PASSWORD=your_keycloak_admin_password
    # Optional - for confidential clients
    KEYCLOAK_CLIENT_SECRET=
    # Optional - for users with 2FA enabled
    KEYCLOAK_TOTP=
    # Optional - for mTLS authentication
    KEYCLOAK_CERT_PATH=
    
    # --- Neo4j Connection (for local environment) ---
    NEO4J_URI=bolt://localhost:7687
    NEO4J_USER=neo4j
    NEO4J_PASSWORD=your_local_neo4j_password
    

Utilisation

  1. Exporter les données Exécutez la commande export pour remplir votre base de données Neo4j.

    root@kitploit:~
    python kcmapper_cli.py export
    
    • Pour nettoyer la base de données avant un nouvel export, utilisez l'option --clean :
      root@kitploit:~
      python kcmapper_cli.py export --clean
      
  2. Analyser les données Une fois l'export terminé, lancez l'interface web d'analyse.

    root@kitploit:~
    python kcmapper_cli.py analyze
    
    • Le serveur sera accessible par défaut à l'adresse http://127.0.0.1:5001.

Architecture

  • kcmapper_cli.py : Point d'entrée principal en ligne de commande.
  • /processors : Contient la logique d'extraction et de chargement pour chaque type d'objet Keycloak.
  • /utils : Fonctions utilitaires, principalement pour la connexion à Neo4j et le nettoyage des données.
  • /webapp : Contient l'application web Flask pour l'analyse des données.

Contribuer

Les contributions sont les bienvenues. N'hésitez pas à ouvrir une issue pour signaler un bug ou suggérer une nouvelle fonctionnalité. Pour ajouter de nouvelles requêtes d'analyse, modifiez le fichier webapp/queries.json et soumettez une pull request.

Licence

Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.

Télécharger l’outil