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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DCSYNCMonitor — DCSYNC 및 DCSHADOW 공격을 모니터링하고 이러한 이벤트에 대한 사용자 지정 Windows 이벤트를 생성합니다. | Kitploit
도구/GitHubGitHub/shellster/dcsyncmonitor
Defensive ToolsNetwork SecurityIntrusion DetectionIncident Response
GitHubshellster/dcsyncmonitor

DCSYNCMonitor

DCSYNC 및 DCSHADOW 공격을 모니터링하고 이러한 이벤트에 대한 사용자 지정 Windows 이벤트를 생성합니다.

저장소 보기
141348년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

DCSYNCMonitor

설명

이 도구는 도메인 컨트롤러(Domain Controller) 동기화 시도를 알리기 위해 도메인 컨트롤러에 배포할 수 있는 애플리케이션/서비스입니다. 동기화 시도가 감지되면 도구는 Windows 이벤트 로그에 이벤트를 기록합니다. 이러한 이벤트는 SIEM에서 상관 분석할 수 있습니다. 또한 이 도구는 유효한 DC IP 목록을 사용할 수 있으며, 이 설정에서는 도메인 컨트롤러(DC) 동기화 시도가 DC가 아닌 IP에서 발생한 경우에만 경고합니다. 이 도구는 Microsoft ATA나 고급 IDS/IPS 같은 상용 도구 없이도 Blue Team이 DC SYNC 및 DC SHADOW 공격에 대응할 수 있는 방법을 제공하기 위해 설계되었습니다.

간단한 Youtube 동영상: https://www.youtube.com/watch?v=oLND9QZfaJc

설치 방법

이 도구를 설치하려면 미리 빌드된 바이너리를 사용하거나 직접 빌드할 수 있습니다. 미리 빌드된 바이너리 링크는 다음과 같습니다:

32비트 서비스: https://github.com/shellster/DCSYNCMonitor/raw/master/Release/DCSYNCMONITORSERVICE.exe

64비트 서비스: https://github.com/shellster/DCSYNCMonitor/raw/master/x64/Release/DCSYNCMONITORSERVICE.exe

도메인 컨트롤러에 Winpcap 또는 Npcap이 설치되어 있어야 합니다. Winpcap도 작동하지만, NPcap만큼 패킷 캡처 방법이 효율적이거나 철저하지 않으므로 권장되지 않습니다. 이 도구는 Winpcap으로 간단히 테스트되었을 뿐입니다.

Npcap을 설치하려면 다음에서 설치 프로그램을 다운로드하세요: https://nmap.org/npcap/

다음 옵션이 선택되어 있는지 확인하세요:

  • 부팅 시 Npcap 드라이버 자동 시작
  • Npcap 드라이버에 대한 액세스를 Administrators로 제한

설치 후 도메인 컨트롤러를 재부팅해야 합니다.

Npcap은 시스템의 DLL 검색 경로에 지원 라이브러리 DLL을 설치하지 않으므로 설치 후 다음 작업을 수행해야 합니다:

root@kitploit:~
copy "%WINDIR%\System32\Npcap\*.dll" "%WINDIR%\System32\"

#해당하는 경우 (64비트 시스템의 32비트 서비스):
copy "%WINDIR%\SYSWOW64\Npcap\*.dll" "%WINDIR%\SYSWOW64\"

참고: 이전 단계를 완료하지 않으면 도구 실행 시 wpcap.dll 또는 Packet.dll이 누락되었다는 오류가 발생합니다.

이제 이 프로젝트의 DCSYNCMONITOR.EXE를 적절한 위치에 복사하세요. 32비트 시스템 또는 64비트 서비스를 사용하는 64비트 시스템의 경우 %WINDIR%\SYSTEM32를, 64비트 시스템에서 32비트 서비스를 사용하는 경우 %WINDIR%\SYSWOW64를 권장합니다.

이제 도구를 실행할 수 있습니다. 하지만 다음 두 가지 방법 중 하나로 실행할 수 있습니다:

설정 파일 없이

이 모드에서 도구는 지난 5분 동안 보지 못한 새 IP가 도메인 컨트롤러에 대해 DC SYNC를 시도할 때마다 Windows 응용 프로그램 이벤트 로그에 DCSYNCALERT Warning 이벤트를 기록합니다. 여기에는 도메인 컨트롤러 간의 정당한 동기화 활동도 포함됩니다.

설정 파일 사용

"dc_ip_list.conf"라는 설정 파일을 도구와 같은 디렉토리에 배치할 수 있습니다. 이 파일이 존재하면 한 줄에 하나의 IPv4 (또는 긴 형식의 IPv6) 주소가 포함되어야 합니다. 도구는 시작 시 이 목록을 읽어들입니다. 이 모드에서는 일치하는 IP 주소의 DC Sync 시도에 대해 이벤트가 기록되지 않습니다. 그러나 다른 IP 주소에서 DC Sync 시도가 발생하면 Windows 응용 프로그램 이벤트 로그에 DCSYNCALERT Error 이벤트가 기록됩니다.

참고: dc_ip_list.conf 파일의 변경 사항은 서비스를 중지하고 다시 시작할 때까지 적용되지 않습니다.

이 도구를 사용하는 일반적인 방법은 서비스로 설치하는 것입니다. 도구가 올바른 폴더에 배치된 후 다음 명령을 실행하여 쉽게 설치할 수 있습니다:

root@kitploit:~
DCMONITORSERVICE.exe -install

서비스를 설치한 후에는 Services.msc 메뉴에서 수동으로 시작하거나 적절한 net 또는 sc 명령을 사용하여 시작해야 합니다. 이후 재부팅 시 자동으로 시작됩니다.

서비스를 제거해야 하는 경우 다음 명령을 실행하세요:

root@kitploit:~
DCMONITORSERVICE.exe -remove

마지막으로, 서비스를 설치하지 않고 독립 실행 모드로 도구를 실행하려면 (특히 디버깅에 유용):

root@kitploit:~
DCMONITORSERVICE.exe -standalone

스크린샷

유효한 DC IP 목록이 제공되지 않았거나 유효한 DC IP에서 DC SYNC가 발생한 경우 DC SYNC Warning 이벤트가 발생합니다:

alt text

유효한 DC IP 목록이 제공되고 다른 IP 주소에서 DC SYNC가 발생한 경우 DC SYNC Error 이벤트가 발생합니다:

alt text

컴파일 방법

Visual Studio 2015 이상이 필요합니다. Community (무료) 버전도 충분히 사용할 수 있습니다. 프로젝트를 열면 32비트 및 64비트 버전의 Dev 및 Release를 즉시 빌드할 수 있습니다. Debug 버전은 프로덕션 환경에 배포해서는 안 됩니다. Debug 버전은 광범위한 오류 및 디버깅 정보를 출력하며, monitor.cpp 파일에서 다음 줄의 주석을 해제하면 TCP 패킷 덤프까지 출력합니다:

root@kitploit:~
#ifdef _DEBUG
		//debug_print("TCP SRC IP: %s\nData:\n", tcppacket.source_ip.address.c_str());
		//print_payload((const u_char *)tcppacket.data, tcppacket.data_length);
#endif

Release 버전은 훨씬 작고 디버그 문장을 자동으로 제거합니다.

중요한 제한 사항

이 도구에는 다음과 같은 알려진 제한 사항이 있습니다:

  • 도구는 DSNcChange 패킷에 대해 바이트 비교를 수행합니다. 이 패턴은 상당히 강력하지만, 고급 공격자에 의해 우회될 가능성이 있습니다.
  • IPv4 단편화(fragmentation)를 처리하지 않습니다. 공격자는 IPv4 단편화를 이용해 DC SYNC 요청을 특별히 조작하여 패킷 스니핑을 우회할 수 있습니다.
  • IPv6 패킷 확장을 처리하지 않습니다. IPv6 네트워크의 공격자는 추가 헤더 확장을 포함하거나 점보그램(Jumbogram)을 사용하여 시그니처를 우회하는 DC SYNC 요청을 조작할 수 있습니다.
  • 커널에서 올바르게 폐기될 수도 있고 그렇지 않을 수도 있는 잘못된 형식의 패킷을 처리하지 않습니다.
  • 무작위 TCP 패킷이 이 도구가 확인하는 11바이트 시그니처와 일치할 가능성은 매우 낮지만, 오탐(false positive)이 발생할 수 있습니다.
  • 이 도구는 Server 2008 이상에서만 작동합니다.

라이선스

이 도구는 MIT 라이선스(MIT License)로 제공됩니다 (라이선스 파일 참조)

참고 자료

  • 상당한 패킷 파싱 통찰력과 코딩 도움을 얻은 곳: https://www.tcpdump.org/sniffex.c
  • C++ Windows 서비스 기본 코드는 다음에서 가져왔습니다: https://code.msdn.microsoft.com/windowsapps/CppWindowsService-cacf4948
  • 다음 페이지는 이벤트 로그에 쓰는 방법에 대한 중요한 지침을 제공했습니다: https://stackoverflow.com/questions/8559222/write-an-event-to-the-event-viewer

크레딧

도구는 Shelby Spencer가 작성했습니다:

  • Twitter: shellsterdude
  • Keybase.io: shellster
  • Github: shellster

FusionX는 이 도구를 업데이트하고 개선할 시간과 발표 플랫폼을 아낌없이 제공해주었습니다. 그러나 이 프로젝트는 전적으로 제가 소유하고 개발했습니다.

피드백

제안, 피드백 및 PR은 언제나 환영하며 권장합니다.

도구 다운로드