Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
LDAP-Monitoring-Watchdog — LDAP Watchdog: Ein Echtzeit-Linux-kompatibles LDAP-Überwachungstool zum Erkennen von Verzeichnisänderungen, das Administratoren und Sicherheitsforschern Einblick in Hinzufügungen, Änderungen und Löschungen bietet. | Kitploit
Tools/GitHubGitHub/megamansec/ldap-monitoring-watchdog
BedrohungsanalyseIncident ResponseLog-AnalyseArchived
GitHubmegamansec/ldap-monitoring-watchdog

LDAP-Monitoring-Watchdog

LDAP Watchdog: Ein Echtzeit-Linux-kompatibles LDAP-Überwachungstool zum Erkennen von Verzeichnisänderungen, das Administratoren und Sicherheitsforschern Einblick in Hinzufügungen, Änderungen und Löschungen bietet.

Repository anzeigen

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
19416vor 4 MonatenVon Kitploit geprüft

LDAP Watchdog

Übersicht

LDAP Watchdog ist ein Werkzeug, das entwickelt wurde, um Änderungen von Einträgen in einem LDAP-Verzeichnis in Echtzeit zu überwachen. Es bietet einen Mechanismus, um Modifikationen, Hinzufügungen und Löschungen von Benutzer- und Gruppeneinträgen zu verfolgen und zu visualisieren, sodass Benutzer erwartete Änderungen mit tatsächlichen Änderungen korrelieren und mögliche Sicherheitsvorfälle identifizieren können. Es wurde mit OpenLDAP und Linux entwickelt, sollte aber auch mit anderen LDAP-Implementierungen funktionieren. Es ist in Python geschrieben und benötigt nur die ldap3-Bibliothek.

Diese Software wurde von Joshua Rogers geschrieben.

Wenn Sie an einem der folgenden Punkte interessiert sind, dann ist LDAP Watchdog das Richtige für Sie:

  • Erfahren Sie auf Abruf, was in Ihrem LDAP-Verzeichnis passiert, mit Slack-Webhook-Integration.
  • Sehen Sie Neueinstellungen, Abgänge und Beförderungen, sobald sie im LDAP erscheinen.
  • Überwachen Sie, wann und was die Personalabteilung tut.
  • Erkennen Sie unbefugte Änderungen im LDAP.
  • Überwachen Sie auf versehentlich durchgesickerte Daten.
  • Erkennen Sie, wenn Benutzer sich im LDAP an- und abmelden.

Zusätzlich zur Überwachung von Modifikationen, Hinzufügungen und Löschungen in einem LDAP-Verzeichnis kann es so konfiguriert werden, dass bestimmte Attribute ignoriert werden, oder sogar fein abgestimmt werden, um granulare Attribute in Abhängigkeit von ihren alten/neuen Werten zu ignorieren.

Die überwachten Änderungen können entweder an einen Slack-Webhook weitergeleitet oder auf dem Terminal ausgegeben werden (oder beides). Optionale farbige Ausgabe wird ebenfalls unterstützt.

Ehemals benannt als LDAP-Stalker (weil die Überwachung von Änderungen in einem LDAP-Verzeichnis eine ausgezeichnete Möglichkeit ist, Veränderungen in einem Unternehmen zu verfolgen: Erfahren Sie von Beförderungen, bevor sie angekündigt werden, Neueinstellungen, Abgänge usw.), ein Blogbeitrag über die Details und die Geschichte dieses Projekts kann hier gefunden werden.

Beispiele (ohne Filterung)

Hinweis: In den folgenden Beispielen können entryCSN und modifyTimestamp vollständig ignoriert werden, indem LDAP_WATCHDOG_IGNORED_ATTRIBUTES=entryCSN,modifyTimestamp gesetzt wird.

Terminal (mit farbiger) Ausgabe:

Beispiel der Ausgabe von LDAP Watchdog

Slack-Ausgabe:

Beispiel der Ausgabe von LDAP Watchdog in Slack

Funktionen

  1. Echtzeit-Überwachung: LDAP Watchdog überwacht kontinuierlich ein LDAP-Verzeichnis auf Änderungen in Benutzer- und Gruppeneinträgen.

  2. Änderungsvergleich: Das Werkzeug vergleicht Änderungen zwischen aufeinanderfolgenden LDAP-Suchen und hebt Hinzufügungen, Modifikationen und Löschungen hervor.

  3. Kontrollbenutzer-Verifizierung: LDAP Watchdog unterstützt einen Kontrollbenutzer-Mechanismus, der einen Fehler auslöst, wenn die Änderungen des Kontrollbenutzers nicht gefunden werden.

  4. Flexible LDAP-Filterung: Benutzer können die LDAP-Filterung mit der Umgebungsvariablen LDAP_WATCHDOG_SEARCH_FILTER anpassen, um sich auf bestimmte Objektklassen oder Attribute zu konzentrieren.

  5. Slack-Integration: Erhalten Sie Echtzeit-Benachrichtigungen in Slack für hinzugefügte, geänderte oder gelöschte LDAP-Einträge.

  6. Anpassbare Ausgabe: Die Konsolenausgabe bietet klare und farbige Hinweise auf Hinzufügungen, Modifikationen und Löschungen für eine einfache Sichtbarkeit.

  7. Ignorierte Einträge und Attribute: Benutzer können UUIDs und Attribute angeben, die während des Vergleichs ignoriert werden sollen.

  8. Bedingte ignorierte Attribute: Bedingte Filterung ermöglicht es Benutzern, bestimmte Attribute basierend auf dem Änderungstyp (Hinzufügungen, Modifikationen, Löschungen) zu ignorieren.

Anforderungen

  • Python 3.7+.
  • Das ldap3-Paket. Falls ein Slack-Webhook verwendet wird, ist auch das requests-Paket erforderlich.

Installation

PyPI

root@kitploit:~
pip install LDAP-Monitor

Um Slack-Webhook-Unterstützung einzuschließen:

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

Docker

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

Oder aus dem GitHub Container Registry:

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

Aus dem Quellcode

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

Verwendung

Ausführen mit 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

Oder mit python -m:

root@kitploit:~
python -m ldap_watchdog

Ausführen mit 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

Systemd-Installation (Debian-basiert)

Ein Debian-basiertes Installationsskript, install.sh, wird bereitgestellt. Wenn es als root ausgeführt wird, führt dieses Skript Folgendes aus:

  1. Erstellt (falls nötig) eine Python-Virtual-Umgebung in /opt/ldap-watchdog.
  2. Installiert LDAP Watchdog aus PyPI in diese Virtual-Umgebung.
  3. Erstellt eine Umgebungsdatei unter /etc/ldap-watchdog.env für die Konfiguration.
  4. Installiert und aktiviert einen systemd-Dienst (/etc/systemd/system/ldap-watchdog.service), der ldap-watchdog im Hintergrund ausführt.
  5. Konfiguriert die Protokollierung nach /var/log/ldap-watchdog.log und /var/log/ldap-watchdog-error.log.
  6. Richtet Log-Rotation in /etc/logrotate.d/ldap-watchdog ein.

Sie können optional ein einzelnes Argument an install.sh übergeben, um die SLACK_WEBHOOK_URL zu setzen:

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

Nach der Installation bearbeiten Sie /etc/ldap-watchdog.env, um die LDAP-Verbindungseinstellungen zu konfigurieren, und starten dann den Dienst neu:

root@kitploit:~
sudo systemctl restart ldap-watchdog

Konfiguration

Die gesamte Konfiguration erfolgt über Umgebungsvariablen. Die folgenden Variablen werden unterstützt:

Allgemeine Einstellungen

Kontrollbenutzer

UmgebungsvariableBeschreibungStandard

Slack-Integration

UmgebungsvariableBeschreibungStandard

Ignorierte Einträge und Attribute

Bedingte ignorierte Attribute

Die Variable LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES akzeptiert einen JSON-String, bei dem die Schlüssel Attributnamen und die Werte Listen von zu ignorierenden Werten sind:

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"]
}'

Beispielkonfiguration

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

Einschränkungen

  1. Die Konfiguration LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES kann leider wichtige Änderungen verbergen, die nicht verborgen werden sollen. Dies kann passieren, wenn ein Attribut einen einzelnen Wert hat, der geändert wird. Dies liegt daran, dass bedingt ignorierte Attribute Änderungen an dem Attribut sowohl dann verbergen, wenn der Wert zu als auch von dem ignorierten Wert geändert wird; wenn beispielsweise ein Benutzer memberOf cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com ist und dies geändert wird zu cn=super-administrator,ou=Accessgroups,dc=mouse,dc=com, wird dies übersehen.
  2. Ähnlich wie bei Nr. 1 gibt es keine wirkliche Möglichkeit zu bestimmen, ob eine Änderung in manchen Fällen wirklich eine Änderung ist oder eine Löschung und anschließende Hinzufügung zur gleichen Zeit. Theoretisch spielt es keine Rolle, aber es ist wichtig, dies zu beachten.

Lizenz

Dieses Projekt ist lizenziert unter GPL3.0.

Tool herunterladen
UmgebungsvariableBeschreibungStandard
LDAP_WATCHDOG_SERVERLDAP-Server-URL (z. B. ldaps://ldaps.intra.lan)""
LDAP_WATCHDOG_BASE_DNBasis-Distinguished-Name für LDAP-Suchen""
LDAP_WATCHDOG_USERNAMELDAP-Benutzername für die Authentifizierung. Leer lassen für anonyme Bindung.""
LDAP_WATCHDOG_PASSWORDLDAP-Passwort für die Authentifizierung. Leer lassen für anonyme Bindung.""
LDAP_WATCHDOG_USE_SSLSetzen Sie true, um SSL zu verwenden, andernfalls falsetrue
LDAP_WATCHDOG_SEARCH_FILTERLDAP-Filter für Benutzer- und Gruppeneinträge(&(|(objectClass=inetOrgPerson)(objectClass=groupOfNames)))
LDAP_WATCHDOG_SEARCH_ATTRIBUTEKommagetrennte Liste der abzurufenden Attribute. Standardmäßig wird *,+ verwendet, um operative Attribute einzuschließen.*,+
LDAP_WATCHDOG_REFRESH_RATEZeitintervall in Sekunden zwischen aufeinanderfolgenden LDAP-Suchen60
LDAP_WATCHDOG_DISABLE_COLOR_OUTPUTSetzen Sie true, um die farbige Terminalausgabe zu deaktivierenfalse
LDAP_WATCHDOG_CONTROL_UUID
UUID eines Kontrollbenutzers, dessen Änderungen einen Fehler auslösen, wenn sie nicht gefunden werden. Wenn gesetzt, sollte dieser Benutzer immer eine Art von Änderung aufweisen, wenn das LDAP-Verzeichnis abgerufen wird.
""
LDAP_WATCHDOG_CONTROL_USER_ATTRIBUTEBestimmtes Attribut, das auf Änderungen beim Kontrollbenutzer überprüft wird. Wenn gesetzt, muss sich dieses Attribut für den Kontroll-UUID-Benutzer geändert haben.""
SLACK_WEBHOOK_URL
Slack-Webhook-URL für Benachrichtigungen. Erfordert das slack-Extra (pip install LDAP-Monitor[slack]).
None
LDAP_WATCHDOG_SLACK_BULLETPOINTAufzählungszeichen, das in Slack und der Konsolenausgabe verwendet wird\u2022
UmgebungsvariableBeschreibungStandard
LDAP_WATCHDOG_IGNORED_UUIDSKommagetrennte Liste von UUIDs, die beim Vergleich ignoriert werden sollen""
LDAP_WATCHDOG_IGNORED_ATTRIBUTESKommagetrennte Liste von Attributen, die beim Vergleich ignoriert werden sollen""
LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTESJSON-String von Attributen, die bedingt ignoriert werden sollen (siehe unten){}