Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
LDAP-Monitoring-Watchdog — LDAP Watchdog: 실시간 리눅스 호환 LDAP 모니터링 도구로, 디렉터리 변경 사항을 감지하여 관리자 및 보안 연구자에게 추가, 수정, 삭제에 대한 가시성을 제공합니다. | Kitploit
도구/GitHubGitHub/megamansec/ldap-monitoring-watchdog
Threat IntelligenceIncident ResponseLog AnalysisArchived
GitHubmegamansec/ldap-monitoring-watchdog

LDAP-Monitoring-Watchdog

LDAP Watchdog: 실시간 리눅스 호환 LDAP 모니터링 도구로, 디렉터리 변경 사항을 감지하여 관리자 및 보안 연구자에게 추가, 수정, 삭제에 대한 가시성을 제공합니다.

저장소 보기

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
194164개월 전Kitploit 검토 완료

LDAP Watchdog

개요

LDAP Watchdog는 LDAP 디렉토리의 레코드 변경을 실시간으로 모니터링하기 위해 설계된 도구입니다. 사용자 및 그룹 항목의 수정, 추가, 제거를 추적하고 시각화하는 메커니즘을 제공하여 사용자가 예상 변경 사항과 실제 변경 사항을 상호 연관시키고 잠재적인 보안 사고를 식별할 수 있도록 합니다. OpenLDAP 및 Linux를 염두에 두고 만들어졌지만, 다른 LDAP 구현에서도 작동할 수 있습니다. Python으로 작성되었으며 ldap3 라이브러리만 필요합니다.

이 소프트웨어는 Joshua Rogers가 작성했습니다.

다음 중 하나라도 관심이 있다면 LDAP Watchdog가 적합합니다:

  • Slack 웹훅 통합을 통해 필요할 때 LDAP 디렉토리에서 무슨 일이 일어나고 있는지 알 수 있습니다.
  • LDAP에 나타나는 신규 채용, 퇴사, 승진을 확인할 수 있습니다.
  • 인사부가 언제 무엇을 하는지 모니터링할 수 있습니다.
  • LDAP에서 무단 변경을 감지할 수 있습니다.
  • 실수로 유출된 데이터를 모니터링할 수 있습니다.
  • 사용자가 LDAP에 로그인 및 로그아웃하는 시점을 감지할 수 있습니다.

LDAP 디렉토리의 수정, 추가, 제거를 모니터링하는 것 외에도 특정 속성을 무시하도록 구성하거나 이전/새 값에 따라 세부 속성을 무시하도록 미세 조정할 수 있습니다.

모니터링되는 변경 사항은 Slack 웹훅으로 전달하거나 터미널에 출력할 수 있습니다(또는 둘 다). 선택적으로 색상 출력도 지원됩니다.

이전에는 LDAP-Stalker로 명명되었습니다(LDAP 디렉토리 변경 사항을 모니터링하는 것은 회사 내 변화를 스토킹하는 훌륭한 방법이기 때문입니다: 발표 전 승진, 신규 채용, 퇴사 등에 대해 알 수 있습니다). 이 프로젝트의 세부 사항과 역사에 대한 블로그 게시물은 여기에서 확인할 수 있습니다.

예시 (필터링 없음)

참고: 아래 예시에서 entryCSN과 modifyTimestamp는 LDAP_WATCHDOG_IGNORED_ATTRIBUTES=entryCSN,modifyTimestamp로 설정하여 완전히 무시할 수 있습니다.

터미널 (색상) 출력:

LDAP Watchdog 출력 예시

Slack 출력:

LDAP Watchdog Slack 출력 예시

기능

  1. 실시간 모니터링: LDAP Watchdog는 LDAP 디렉토리의 사용자 및 그룹 항목 변경을 지속적으로 모니터링합니다.

  2. 변경 비교: 도구가 연속적인 LDAP 검색 간의 변경 사항을 비교하여 추가, 수정, 삭제를 강조합니다.

  3. 제어 사용자 확인: LDAP Watchdog는 제어 사용자 메커니즘을 지원하며, 제어 사용자의 변경 사항이 발견되지 않으면 오류를 발생시킵니다.

  4. 유연한 LDAP 필터링: 사용자는 LDAP_WATCHDOG_SEARCH_FILTER 환경 변수를 사용하여 LDAP 필터링을 사용자 정의하고 특정 객체 클래스나 속성에 집중할 수 있습니다.

  5. Slack 통합: 추가, 수정 또는 삭제된 LDAP 항목에 대해 Slack에서 실시간 알림을 받을 수 있습니다.

  6. 사용자 정의 가능 출력: 콘솔 출력은 추가, 수정, 삭제에 대한 명확하고 색상화된 표시를 제공하여 가시성을 높입니다.

  7. 무시 항목 및 속성: 사용자는 비교 과정에서 무시할 UUID와 속성을 지정할 수 있습니다.

  8. 조건부 무시 속성: 조건부 필터링을 통해 사용자는 변경 유형(추가, 수정, 삭제)에 따라 특정 속성을 무시할 수 있습니다.

요구 사항

  • Python 3.7+.
  • ldap3 패키지. Slack 웹훅을 사용하는 경우 requests 패키지도 필요합니다.

설치

PyPI

root@kitploit:~
pip install LDAP-Monitor

Slack 웹훅 지원을 포함하려면:

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

Docker

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

또는 GitHub Container Registry에서:

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

소스에서 설치

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

사용법

pip 설치로 실행

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

또는 python -m 사용:

root@kitploit:~
python -m ldap_watchdog

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 설치 (Debian 기반)

Debian 기반 설치 스크립트 install.sh가 제공됩니다. 루트로 실행하면 이 스크립트는:

  1. 필요한 경우 /opt/ldap-watchdog에 Python 가상 환경을 생성합니다.
  2. PyPI에서 LDAP Watchdog를 해당 가상 환경에 설치합니다.
  3. 구성을 위해 /etc/ldap-watchdog.env 환경 파일을 생성합니다.
  4. 백그라운드에서 ldap-watchdog를 실행하는 systemd 서비스(/etc/systemd/system/ldap-watchdog.service)를 설치하고 활성화합니다.
  5. 로깅을 /var/log/ldap-watchdog.log 및 /var/log/ldap-watchdog-error.log로 구성합니다.
  6. /etc/logrotate.d/ldap-watchdog에 로그 로테이션을 설정합니다.

선택적으로 install.sh에 단일 인자를 전달하여 SLACK_WEBHOOK_URL을 설정할 수 있습니다:

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

설치 후 /etc/ldap-watchdog.env를 편집하여 LDAP 연결 설정을 구성한 다음 서비스를 다시 시작하십시오:

root@kitploit:~
sudo systemctl restart ldap-watchdog

구성

모든 구성은 환경 변수를 통해 이루어집니다. 다음 변수가 지원됩니다:

일반 설정

제어 사용자

환경 변수설명기본값
LDAP_WATCHDOG_CONTROL_UUID변경 사항이 발견되지 않으면 오류를 트리거하는 제어 사용자의 UUID. 설정된 경우 이 사용자는 LDAP 디렉토리가 검색될 때 항상 어떤 종류의 변경이 있어야 합니다.""

Slack 통합

환경 변수설명기본값
SLACK_WEBHOOK_URL알림을 위한 Slack 웹훅 URL. slack 추가 기능이 필요합니다 ().

무시 항목 및 속성

조건부 무시 속성

LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES 변수는 키가 속성 이름이고 값이 무시할 값 목록인 JSON 문자열을 허용합니다:

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

예시 구성

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

제한 사항

  1. 불행히도 LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES 구성은 숨겨지지 않아야 할 중요한 변경 사항을 숨길 수 있습니다. 이는 속성에 변경된 단일 값이 있을 때 발생할 수 있습니다. 조건부 무시 속성은 값이 무시된 값 으로 변경되거나 로부터 변경될 때 속성에 대한 변경을 모두 숨기기 때문입니다. 예를 들어, 사용자가 _cn=mailing-list-user,ou=Accessgroups,dc=mouse,dc=com_의 memberOf를 가지고 있는데 __변경__되어 _cn=super-administrator,ou=Accessgroups,dc=mouse,dc=com_이 되면 이 변경 사항을 놓칠 수 있습니다.
  2. #1과 유사하게, 어떤 경우에는 변경이 실제 변경인지, 아니면 동일한 시간에 제거 후 추가인지 결정할 확실한 방법이 없습니다. 이론적으로는 중요하지 않지만, 주목할 필요가 있습니다.

라이선스

이 프로젝트는 GPL3.0에 따라 라이선스가 부여됩니다.

도구 다운로드
환경 변수설명기본값
LDAP_WATCHDOG_SERVERLDAP 서버 URL (예: ldaps://ldaps.intra.lan)""
LDAP_WATCHDOG_BASE_DNLDAP 검색의 기본 고유 이름(DN)""
LDAP_WATCHDOG_USERNAME인증을 위한 LDAP 사용자 이름. 익명 바인드를 위해 비워 둡니다.""
LDAP_WATCHDOG_PASSWORD인증을 위한 LDAP 비밀번호. 익명 바인드를 위해 비워 둡니다.""
LDAP_WATCHDOG_USE_SSLSSL 사용 시 true로 설정, 그렇지 않으면 falsetrue
LDAP_WATCHDOG_SEARCH_FILTER사용자 및 그룹 항목에 대한 LDAP 필터(&(|(objectClass=inetOrgPerson)(objectClass=groupOfNames)))
LDAP_WATCHDOG_SEARCH_ATTRIBUTE검색할 속성의 쉼표로 구분된 목록. 기본적으로 운영 속성을 포함하기 위해 *,+가 사용됩니다.*,+
LDAP_WATCHDOG_REFRESH_RATE연속 LDAP 검색 간 시간 간격(초)60
LDAP_WATCHDOG_DISABLE_COLOR_OUTPUT색상 터미널 출력을 비활성화하려면 true로 설정false
LDAP_WATCHDOG_CONTROL_USER_ATTRIBUTE
제어 사용자의 변경 사항을 확인할 특정 속성. 설정된 경우 이 속성은 제어 UUID 사용자에 대해 반드시 변경되어야 합니다.
""
pip install LDAP-Monitor[slack]
None
LDAP_WATCHDOG_SLACK_BULLETPOINTSlack 및 콘솔 출력에 사용되는 글머리 기호 문자\u2022
환경 변수설명기본값
LDAP_WATCHDOG_IGNORED_UUIDS비교 중 무시할 UUID의 쉼표로 구분된 목록""
LDAP_WATCHDOG_IGNORED_ATTRIBUTES비교 중 무시할 속성의 쉼표로 구분된 목록""
LDAP_WATCHDOG_CONDITIONAL_IGNORED_ATTRIBUTES조건부로 무시할 속성의 JSON 문자열 (아래 참조){}