Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
DCSYNCMonitor — 监控DCSYNC和DCSHADOW攻击,并为这些事件创建自定义Windows事件。 | Kitploit
工具/GitHubGitHub/shellster/dcsyncmonitor
防御工具网络安全入侵检测事件响应
GitHubshellster/dcsyncmonitor

DCSYNCMonitor

监控DCSYNC和DCSHADOW攻击,并为这些事件创建自定义Windows事件。

查看仓库
1413438年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

DCSYNCMonitor

描述

该工具是一个应用程序/服务,可部署在域控制器上,用于对域控制器同步尝试进行警报。当检测到尝试时,该工具会向 Windows 事件日志写入一条事件。这些事件可以在 SIEM 中关联。此外,该工具可以接受一个有效 DC IP 列表,在此配置下,仅当 DC 同步尝试来自非 DC IP 时才发出警报。该工具旨在为蓝队提供一种无需商业工具(如 Microsoft ATA 或复杂的 IDS/IPS)即可对抗 DC 同步和 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 驱动的访问

安装后,您需要重新启动域控制器。

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。

现在可以运行该工具了。您可以选择以下两种方式之一运行:

无配置文件

在此模式下,每当一个新 IP(过去五分钟内未见过)尝试对域控制器执行 DC 同步时,工具会向 Windows 应用程序事件日志写入一条 DCSYNCALERT 警告事件。这包括域控制器之间的合法同步活动。

有配置文件

可以将名为 "dc_ip_list.conf" 的配置文件放置在工具所在目录中。如果该文件存在,应每行包含一个 IPv4(或长格式 IPv6)地址。工具会在启动时读取此列表。在此模式下,对于来自匹配 IP 地址的 DC 同步尝试,不会写入事件。但是,如果来自其他 IP 地址的 DC 同步尝试发生,则会向 Windows 应用程序事件日志写入一条 DCSYNCALERT 错误事件。

注意 对 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 同步发生时,会出现 DC 同步警告事件:

alt text

当提供了有效 DC IP 列表且来自任何其他 IP 地址的 DC 同步发生时,会出现 DC 同步错误事件:

alt text

编译说明

您需要 Visual Studio 2015 或更高版本。Community(免费)版本完全可用。打开项目后,您应能立即构建 32 位和 64 位版本的 Dev 和 Release 版。Debug 版本不应部署到生产环境。它们会输出大量错误和调试信息,包括 TCP 数据包转储(如果您在 monitor.cpp 文件中取消注释以下行):

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 版本小得多,并且会自动去除调试语句。

重要限制

该工具具有以下已知限制:

  • 工具对 DS 同步数据包进行字节比较。此模式应该相当健壮,但高级攻击者很可能能够绕过。
  • 工具不处理 IPv4 分片。攻击者有可能通过精心构造带有 IPv4 分片的 DC 同步请求来绕过数据包嗅探。
  • 工具不处理 IPv6 数据包扩展。在 IPv6 网络上,攻击者可能构造包含额外头部扩展或使用巨型帧的 DC 同步请求来绕过签名。
  • 工具不处理格式错误的数据包,内核可能会或可能不会正确丢弃这些数据包。
  • 虽然可能性极低,但如果随机的 TCP 数据包恰好匹配此工具检查的 11 字节签名,则可能产生误报。
  • 此工具仅在 2008 或更高版本的服务器上有效。

许可证

此工具根据 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 慷慨地为我提供了更新和完善此工具的时间,以及宣布它的平台。但是,此项目完全由我拥有和开发。

反馈

欢迎并鼓励提出建议、反馈和拉取请求。

下载工具