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
LDAP-Monitoring-Watchdog — LDAP Watchdog : un outil de surveillance LDAP en temps réel compatible Linux pour détecter les modifications d'annuaire, offrant une visibilité sur les ajouts, les modifications et les suppressions pour les administrateurs et les chercheurs en sécurité. | Kitploit
Outils/GitHubGitHub/megamansec/ldap-monitoring-watchdog
Renseignement sur les MenacesRéponse aux IncidentsAnalyse de JournauxArchived
GitHubmegamansec/ldap-monitoring-watchdog

LDAP-Monitoring-Watchdog

LDAP Watchdog : un outil de surveillance LDAP en temps réel compatible Linux pour détecter les modifications d'annuaire, offrant une visibilité sur les ajouts, les modifications et les suppressions pour les administrateurs et les chercheurs en sécurité.

Voir le dépôt

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
19416il y a 4 moisVérifié par Kitploit

LDAP Watchdog

Aperçu

LDAP Watchdog est un outil conçu pour surveiller en temps réel les modifications des enregistrements dans un annuaire LDAP. Il fournit un mécanisme pour suivre et visualiser les modifications, ajouts et suppressions d'entrées utilisateur et de groupe, permettant aux utilisateurs de corréler les changements attendus avec les changements réels et d'identifier d'éventuels incidents de sécurité. Il a été créé avec OpenLDAP et Linux à l'esprit, mais peut fonctionner avec d'autres implémentations de LDAP. Il est écrit en Python et ne nécessite que la bibliothèque ldap3.

Ce logiciel a été écrit par Joshua Rogers.

Si vous êtes intéressé par l'un des points suivants, LDAP Watchdog est fait pour vous :

  • Savoir ce qui se passe dans votre annuaire LDAP à la demande avec l'intégration du webhook Slack.
  • Voir les nouvelles embauches, départs et promotions dès leur apparition dans LDAP.
  • Surveiller quand et ce que fait le service RH.
  • Détecter les modifications non autorisées dans LDAP.
  • Surveiller les fuites de données accidentelles.
  • Détecter quand les utilisateurs se connectent et se déconnectent de LDAP.

En plus de surveiller les modifications, ajouts et suppressions dans un annuaire LDAP, il peut être configuré pour ignorer des attributs spécifiques, ou même affiné pour ignorer des attributs granulaires en fonction de leurs anciennes/nouvelles valeurs.

Les changements surveillés peuvent être transmis à un webhook Slack ou affichés dans le terminal (ou les deux). La sortie colorée optionnelle est également prise en charge.

Anciennement nommé LDAP-Stalker (car surveiller les modifications d'un annuaire LDAP est un excellent moyen d'espionner les changements dans une entreprise : découvrir les promotions avant qu'elles ne soient annoncées, les nouvelles embauches, les départs, etc.), un article de blog sur les détails et l'historique de ce projet est disponible ici.

Exemples (sans filtrage)

Remarque : dans les exemples ci-dessous, entryCSN et modifyTimestamp peuvent être complètement ignorés en définissant LDAP_WATCHDOG_IGNORED_ATTRIBUTES=entryCSN,modifyTimestamp.

Sortie terminal (avec couleur) :

Exemple de sortie de LDAP Watchdog

Sortie Slack :

Exemple de sortie de LDAP Watchdog dans Slack

Fonctionnalités

  1. Surveillance en temps réel : LDAP Watchdog surveille en continu un annuaire LDAP pour détecter les modifications dans les entrées utilisateur et de groupe.

  2. Comparaison des modifications : L'outil compare les changements entre des recherches LDAP consécutives, en mettant en évidence les ajouts, modifications et suppressions.

  3. Vérification de l'utilisateur de contrôle : LDAP Watchdog prend en charge un mécanisme d'utilisateur de contrôle, déclenchant une erreur si les modifications de l'utilisateur de contrôle ne sont pas trouvées.

  4. Filtrage LDAP flexible : Les utilisateurs peuvent personnaliser le filtrage LDAP en utilisant la variable d'environnement LDAP_WATCHDOG_SEARCH_FILTER pour se concentrer sur des classes d'objets ou des attributs spécifiques.

  5. Intégration Slack : Recevez des notifications en temps réel sur Slack pour les entrées LDAP ajoutées, modifiées ou supprimées.

  6. Sortie personnalisable : La sortie console fournit des indications claires et colorées des ajouts, modifications et suppressions pour une visibilité facile.

  7. Entrées et attributs ignorés : Les utilisateurs peuvent spécifier des UUID et des attributs à ignorer lors du processus de comparaison.

  8. Attributs ignorés conditionnels : Le filtrage conditionnel permet aux utilisateurs d'ignorer des attributs spécifiques en fonction du type de modification (ajouts, modifications, suppressions).

Prérequis

  • Python 3.7+.
  • Le paquet ldap3. Si vous utilisez un webhook Slack, le paquet requests est également requis.

Installation

PyPI

root@kitploit:~
pip install LDAP-Monitor

Pour inclure le support du webhook Slack :

root@kitploit:~
pip install LDAP-Monitor[slack]

Docker

root@kitploit:~
docker pull megamansec/ldap-monitor

Ou depuis le Registre de conteneurs GitHub :

root@kitploit:~
docker pull ghcr.io/megamansec/ldap-monitoring-watchdog

Depuis les sources

root@kitploit:~
git clone https://github.com/MegaManSec/LDAP-Monitoring-Watchdog.git
cd LDAP-Monitoring-Watchdog
pip install ".[slack]"

Utilisation

Exécution avec pip install

root@kitploit:~
export LDAP_WATCHDOG_SERVER='ldaps://ldaps.intra.lan'
export LDAP_WATCHDOG_BASE_DN='dc=mouse,dc=com'
export LDAP_WATCHDOG_USERNAME='Emily'
export LDAP_WATCHDOG_PASSWORD='qwerty123'
ldap-watchdog

Ou en utilisant python -m :

root@kitploit:~
python -m ldap_watchdog

Exécution avec Docker

root@kitploit:~
docker run -d \
  -e LDAP_WATCHDOG_SERVER='ldaps://ldaps.intra.lan' \
  -e LDAP_WATCHDOG_BASE_DN='dc=mouse,dc=com' \
  -e LDAP_WATCHDOG_USERNAME='Emily' \
  -e LDAP_WATCHDOG_PASSWORD='qwerty123' \
  -e SLACK_WEBHOOK_URL='https://hooks.slack.com/services/[...]' \
  -e LDAP_WATCHDOG_IGNORED_ATTRIBUTES='modifyTimestamp,phoneNumber,officeLocation,gecos' \
  megamansec/ldap-monitor

Installation Systemd (basée sur Debian)

Un script d'installation basé sur Debian, install.sh, est fourni. Lorsqu'il est exécuté en tant que root, ce script :

  1. Crée (si nécessaire) un environnement virtuel Python dans /opt/ldap-watchdog.
  2. Installe LDAP Watchdog depuis PyPI dans cet environnement virtuel.
  3. Crée un fichier d'environnement à /etc/ldap-watchdog.env pour la configuration.
  4. Installe et active un service systemd (/etc/systemd/system/ldap-watchdog.service) qui exécute ldap-watchdog en arrière-plan.
  5. Configure la journalisation vers /var/log/ldap-watchdog.log et /var/log/ldap-watchdog-error.log.
  6. Configure la rotation des journaux dans /etc/logrotate.d/ldap-watchdog.

Vous pouvez éventuellement passer un seul argument à install.sh pour définir le SLACK_WEBHOOK_URL :

root@kitploit:~
sudo ./install.sh "https://hooks.slack.com/services/[...]"

Après l'installation, modifiez /etc/ldap-watchdog.env pour configurer les paramètres de connexion LDAP, puis redémarrez le service :

root@kitploit:~
sudo systemctl restart ldap-watchdog

Configuration

Toute la configuration se fait via des variables d'environnement. Les variables suivantes sont prises en charge :

Paramètres généraux

Utilisateur de contrôle

Variable d'environnementDescriptionDéfaut

Intégration Slack

Variable d'environnementDescriptionDéfaut

Entrées et attributs ignorés

Attributs ignorés conditionnels

La variable LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES accepte une chaîne JSON où les clés sont des noms d'attributs et les valeurs sont des listes de valeurs à ignorer :

root@kitploit:~
export LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES='{
  "objectClass": ["posixAccount"],
  "memberOf": ["cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com", "cn=interns,ou=Accessgroups,dc=mouse,dc=com"],
  "organizationalStatus": ["researcher"]
}'

Exemple de configuration

root@kitploit:~
export LDAP_WATCHDOG_CONTROL_UUID='a71c6e4c-8881-4a03-95bf-4fc25d5e6359'
export LDAP_WATCHDOG_SERVER='ldaps://ldaps.intra.lan'
export LDAP_WATCHDOG_BASE_DN='dc=mouse,dc=com'
export LDAP_WATCHDOG_USERNAME='Emily'
export LDAP_WATCHDOG_PASSWORD='qwerty123'
export LDAP_WATCHDOG_USE_SSL='true'
export LDAP_WATCHDOG_REFRESH_RATE='60'
export LDAP_WATCHDOG_DISABLE_COLOR_OUTPUT='false'
export LDAP_WATCHDOG_IGNORED_UUIDS='e191c564-6e6d-42c1-ae51-bda0509fe846,8655e0d9-ecdc-46ce-ba42-1fa3dfbf5faa'
export LDAP_WATCHDOG_IGNORED_ATTRIBUTES='modifyTimestamp,phoneNumber,officeLocation,gecos'
export LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES='{"objectClass":["posixAccount"],"memberOf":["cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com","cn=interns,ou=Accessgroups,dc=mouse,dc=com"],"organizationalStatus":["researcher"]}'
export SLACK_WEBHOOK_URL='https://hooks.slack.com/services/[...]'

ldap-watchdog

Limitations

  1. La configuration LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES peut malheureusement masquer des modifications importantes qui ne sont pas destinées à être cachées. Cela peut se produire si un attribut a une seule valeur qui est modifiée. En effet, les attributs ignorés conditionnellement masqueront les modifications de l'attribut à la fois lorsque la valeur est modifiée vers ainsi que depuis la valeur ignorée ; par exemple, si un utilisateur est membre de cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com et que cela est changé en cn=super-administrator,ou=Accessgroups,dc=mouse,dc=com, cela sera manqué.
  2. Similaire au #1, il n'existe aucun moyen réel de déterminer si un changement est vraiment un changement dans certains cas, ou une suppression suivie d'un ajout en même temps. En théorie, cela n'a pas vraiment d'importance, mais il est important de le noter.

Licence

Ce projet est sous licence GPL3.0.

Télécharger l’outil
Variable d'environnementDescriptionDéfaut
LDAP_WATCHDOG_SERVERURL du serveur LDAP (ex. ldaps://ldaps.intra.lan)""
LDAP_WATCHDOG_BASE_DNNom distinctif de base pour les recherches LDAP""
LDAP_WATCHDOG_USERNAMENom d'utilisateur LDAP pour l'authentification. Laissez vide pour une liaison anonyme.""
LDAP_WATCHDOG_PASSWORDMot de passe LDAP pour l'authentification. Laissez vide pour une liaison anonyme.""
LDAP_WATCHDOG_USE_SSLDéfinir sur true pour utiliser SSL, false sinontrue
LDAP_WATCHDOG_SEARCH_FILTERFiltre LDAP pour les entrées utilisateur et de groupe(&(|(objectClass=inetOrgPerson)(objectClass=groupOfNames)))
LDAP_WATCHDOG_SEARCH_ATTRIBUTEListe d'attributs séparés par des virgules à récupérer. *,+ est utilisé par défaut pour inclure les attributs opérationnels.*,+
LDAP_WATCHDOG_REFRESH_RATEIntervalle de temps en secondes entre les recherches LDAP consécutives60
LDAP_WATCHDOG_DISABLE_COLOR_OUTPUTDéfinir sur true pour désactiver la sortie colorée du terminalfalse
LDAP_WATCHDOG_CONTROL_UUIDUUID d'un utilisateur de contrôle dont les modifications déclenchent une erreur si elles ne sont pas trouvées. S'il est défini, cet utilisateur doit toujours avoir un certain type de changement lors de la récupération de l'annuaire LDAP.""
LDAP_WATCHDOG_CONTROL_USER_ATTRIBUTEAttribut spécifique à vérifier pour les modifications chez l'utilisateur de contrôle. S'il est défini, cet attribut doit avoir changé pour l'utilisateur UUID de contrôle.""
SLACK_WEBHOOK_URL
URL du webhook Slack pour les notifications. Nécessite l'extension slack (pip install LDAP-Monitor[slack]).
None
LDAP_WATCHDOG_SLACK_BULLETPOINTCaractère de puce utilisé dans les sorties Slack et console\u2022
Variable d'environnementDescriptionDéfaut
LDAP_WATCHDOG_IGNORED_UUIDSListe d'UUID séparés par des virgules à ignorer lors de la comparaison""
LDAP_WATCHDOG_IGNORED_ATTRIBUTESListe d'attributs séparés par des virgules à ignorer lors de la comparaison""
LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTESChaîne JSON d'attributs à ignorer conditionnellement (voir ci-dessous){}