从Shadow Brokers泄露到实际应用:DOUBLEPULSAR检测脚本的演进与发展
从Shadow Brokers泄露到实际应用:DOUBLEPULSAR检测脚本的演进与发展
【免费下载链接】doublepulsar-detection-scriptA python2 script for sweeping a network to find windows systems compromised with the DOUBLEPULSAR implant.项目地址: https://gitcode.com/gh_mirrors/do/doublepulsar-detection-script
DOUBLEPULSAR检测脚本是一款由Countercept开发的Python工具集,专为扫描网络中是否存在Shadow Brokers泄露的DOUBLEPULSAR植入物而设计。该工具支持SMB和RDP两种协议版本的检测,可通过单IP检查、IP列表批量扫描以及网络CIDR范围扫描等多种方式,帮助安全人员快速识别受感染的Windows系统。
🔍 什么是DOUBLEPULSAR植入物?
2017年,黑客组织Shadow Brokers公开泄露了一系列NSA开发的网络攻击工具,其中就包括著名的ETERNALBLUE漏洞利用程序和DOUBLEPULSAR后门植入物。DOUBLEPULSAR作为一种内核级DLL注入工具,能够在目标系统上建立持久化后门,为攻击者提供远程控制能力。
该植入物通过未授权访问方式工作,主要利用SMB(445端口)和RDP(3389端口)协议进行通信。由于其隐蔽性强、传播速度快,曾造成全球范围内的大规模感染事件(如WannaCry勒索病毒)。
🛠️ 检测脚本核心功能解析
DOUBLEPULSAR检测脚本包含两个主要工具:
1. SMB协议检测工具:detect_doublepulsar_smb.py
该工具通过模拟SMB协议交互来检测目标系统是否感染DOUBLEPULSAR植入物。其核心原理是发送特定构造的SMB请求包,然后分析响应特征:
- 无认证检测:无需登录凭证即可远程检测
- 架构识别:自动识别植入物的32位/64位架构
- XOR密钥计算:提取并计算植入物的加密密钥
- 一键卸载:支持远程清除已检测到的植入物
2. RDP协议检测工具:detect_doublepulsar_rdp.py
针对RDP协议的检测工具,通过分析RDP协商过程中的异常响应来识别感染:
- SSL与非SSL连接支持:自动处理不同RDP配置
- 多线程扫描:支持批量IP地址并行检测
- 详细日志输出:记录检测过程中的关键步骤
🚀 快速上手:从安装到扫描
环境准备
检测脚本基于Python 2开发,无需额外依赖库即可运行。推荐在Kali Linux或其他安全测试发行版中使用:
# 克隆仓库 git clone https://gitcode.com/gh_mirrors/do/doublepulsar-detection-script cd doublepulsar-detection-script基本使用方法
单IP检测SMB植入物
python detect_doublepulsar_smb.py --ip 192.168.175.128批量检测RDP植入物
python detect_doublepulsar_rdp.py --file ips.list --verbose --threads 10网络范围扫描
# 需要安装netaddr库 python detect_doublepulsar_smb.py --net 192.168.0.1/24检测并卸载植入物
python2 detect_doublepulsar_smb.py --ip 192.168.175.136 --uninstall高级网络扫描方案
结合masscan工具进行全网端口扫描,快速定位潜在受感染主机:
# 扫描网络中的SMB和RDP开放端口 masscan -p445 192.168.33.0/24 > smb.lst masscan -p3389 192.168.33.0/24 > rdp.lst # 清理IP列表 sed -i "s/^.* on //" smb.lst sed -i "s/^.* on //" rdp.lst # 批量检测漏洞 python detect_doublepulsar_smb.py --file smb.lst python detect_doublepulsar_rdp.py --file rdp.lst🚨 入侵检测:Snort规则应用
项目提供了三条专门用于检测DOUBLEPULSAR活动的Snort规则,可集成到现有入侵检测系统中:
# 检测SMB植入物请求特征 alert tcp any any -> $HOME_NET 445 (msg:"DOUBLEPULSAR SMB implant - Unimplemented Trans2 Session Setup Subcommand Request"; flow:to_server, established; content:"|FF|SMB|32|"; depth:5; offset:4; content:"|0E 00|"; distance:56; within:2; sid:1618009; classtype:attempted-user; rev:1;) # 检测植入物响应特征 alert tcp $HOME_NET 445 -> any any (msg:"DOUBLEPULSAR SMB implant - Unimplemented Trans2 Session Setup Subcommand - 81 Response"; flow:to_client, established; content:"|FF|SMB|32|"; depth:5; offset:4; content:"|51 00|"; distance:25; within:2; sid:1618008; classtype:attempted-user; rev:1;)这些规则通过监控SMB协议中的异常Trans2 Session Setup子命令,能够有效识别未经过修改的DOUBLEPULSAR植入物活动。
⚠️ 注意事项与局限性
操作系统兼容性:部分Windows版本(如Server 2012)可能会返回ACCESS_DENIED错误,这并不一定表示感染,需结合其他线索判断
Python版本要求:脚本基于Python 2开发,不兼容Python 3环境
网络环境影响:防火墙和入侵防御系统可能会拦截检测流量,导致误判
签名易绕过:依赖签名的检测方法可能被高级攻击者绕过,建议结合行为分析和内存取证等多种检测手段
📚 深入学习资源
技术分析:Analyzing the DOUBLEPULSAR Kernel DLL Injection Technique
协议逆向:DoublePulsar: Initial SMB Backdoor Ring 0 Analysis
通过这些资源,安全从业人员可以深入了解DOUBLEPULSAR的工作原理,提升检测和防御能力。
🔄 项目演进与未来发展
自2017年发布以来,DOUBLEPULSAR检测脚本持续为全球安全社区提供价值。随着技术的发展,该工具也在不断改进:
- 增加对新型变体的检测能力
- 优化扫描性能和准确性
- 完善日志记录和报告功能
对于现代安全团队而言,定期使用此类工具进行网络扫描,仍是防范已知威胁的重要手段之一。
🔒 总结
DOUBLEPULSAR检测脚本作为应对Shadow Brokers泄露工具的重要防御手段,展示了开源社区在网络安全应急响应中的关键作用。通过理解其工作原理和正确应用这些工具,组织可以显著提升对高级持续性威胁的检测能力,有效保护关键信息资产。
在当今复杂多变的网络安全环境中,及时更新检测工具、定期进行安全扫描、持续关注最新威胁情报,是构建健全防御体系的基础。
【免费下载链接】doublepulsar-detection-scriptA python2 script for sweeping a network to find windows systems compromised with the DOUBLEPULSAR implant.项目地址: https://gitcode.com/gh_mirrors/do/doublepulsar-detection-script
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
