开发一款本地安全自检工具,检测本机是否已被植入僵尸程序/远控木马,是否在不知情情况下成为僵尸网络节点。
总体进度约 45%
预计 MVP 开发周期:3-5 个工作日
检测内容:枚举所有活跃连接并关联进程,识别外连 IP 比对情报库,检测 Beaconing(支持随机间隔),非常规端口,IRC(6667),DoT(853),DNS 隧道,代理链路,TLS 指纹。
技术方案:psutil.net_connections() + 变异系数统计 + JARM 指纹匹配 + SSL 证书分析
T1071.001T1071.004T1571
检测内容:临时目录进程、伪装系统进程、无签名文件、进程注入(RWX内存)、父子链异常、OOM反杀保护、进程名相似度(Levenshtein)。
技术方案:psutil.process_iter() + Get-AuthenticodeSignature + 内存扫描 + 进程树构建
T1055T1036T1059
| # | 检查项 | ATT&CK |
|---|---|---|
| 1 | HKLM Run/RunOnce | T1547.001 |
| 2 | HKCU Run/RunOnce | T1547.001 |
| 3 | Winlogon Shell/Userinit | T1547.002 |
| 4 | AppInit_DLLs | T1546.010 |
| 5 | BootExecute | T1547.003 |
| 6 | IFEO 调试器劫持 | T1546.012 |
| 7 | COM 劫持 | T1546.015 |
| 8 | 计划任务(含隐藏) | T1053 |
| 9 | 系统服务(非微软) | T1543.003 |
| 10 | svchost ServiceDll | T1543.003 |
| 11 | 启动文件夹 | T1547.001 |
| 12 | WMI 事件订阅 | T1546.003 |
| 13 | 屏幕保护程序劫持 | T1546.002 |
| 14 | AppCertDLLs | T1546.009 |
关键增强:基线对比 + LastWriteTime 时间窗口 + 交叉验证(多位置出现=高危)
检测内容:Hosts 篡改、DNS 缓存异常、DGA 域名(熵值>3.5)、DNS 隧道(超长子域名/TXT高频)、DoT(853)、OpenNIC 域名。
T1071.004T1568.002
检测内容:系统目录未知 exe、临时目录残留、7天内新文件、SHA256 比对、高熵检测(>7.0)、隐藏属性、文件名随机化、YARA 规则、NTFS ADS。
T1027T1564.002T1105
检测内容:空闲时异常流量、挖矿CPU>80%、SMTP端口(25/465/587)、凌晨异常活动、LSASS凭据窃取、内网横向扫描、文件删除清痕、PowerShell编码命令。
事件日志:4624/4625(登录) · 4688(进程创建) · 7045(新服务) · 4104(PowerShell)
T1496T1557T1087
数据源:VirusTotal · AbuseIPDB · AlienVault OTX · Abuse.ch ThreatFox · PhishTank · Spamhaus · 绿盟通报 · CNCERT · MISP
查询对象:IP · 域名 · 文件哈希 · JARM 指纹 · SSL 证书指纹
输出:情报增强风险评级(含来源、置信度、首次发现时间)
检测内容:JARM 指纹匹配 C2 集群、SSL 证书异常(自签名/CN异常/短期证书)、TLS1.3+PSK(Kimwolf特征)、ECDSA 域名验证、DoT/DoH 通信。
技术方案:ssl + pyOpenSSL + JARM 指纹生成 + 证书链验证
T1071.001T1573
将所有检测结果映射到 ATT&CK 框架,重建攻击链路图,与已知僵尸网络家族 TTP 比对。
覆盖 20+ 技术:
| ID | 技术 | 模块 |
|---|---|---|
| T1059.001 | PowerShell 执行 | 模块6 |
| T1547.001 | 注册表 Run 键自启 | 模块3 |
| T1053 | 计划任务 | 模块3 |
| T1543.003 | 系统服务 | 模块3 |
| T1546.003 | WMI 事件订阅 | 模块3 |
| T1055 | 进程注入 | 模块2 |
| T1036 | 伪装系统进程 | 模块2 |
| T1071.001 | HTTP/HTTPS C2 | 模块1 |
| T1071.004 | DNS C2 | 模块4 |
| T1571 | 非标准端口 C2 | 模块1 |
| T1573 | 加密通道 | 模块8 |
| T1496 | 资源劫持(挖矿) | 模块6 |
| ... 共 20+ 项 | ||
输出:ATT&CK 热力图 + 攻击链重建图 + 家族匹配概率
基线采集:首次运行记录系统快照(进程/自启/服务/连接白名单)
差异对比:后续扫描标记所有新增项
前沿 ML 算法(第四期可选):
| 算法 | 准确率 | 来源 |
|---|---|---|
| Hilbert曲线+CNN | 98.34% | Nature 2026 |
| CNN-LSTM-GRU | 99.99% | ICCCN 2025 |
| GNN 异构图 | 95% | App.Sci. 2026 |
| EROIKA 多阶段 | 99.61% | IEEE 2026 |
按 NIST SP 800-86 易失性优先原则,从最容易消失的采起
工具:Volatility 3 / winpmem / DumpIt
| # | 采集项 | 检测目标 |
|---|---|---|
| 1 | 完整内存镜像 | 离线分析基础 |
| 2 | 进程列表+路径 | 隐藏/已终止进程 |
| 3 | 进程注入检测(malfind) | T1055 注入 |
| 4 | 进程网络连接(netscan) | 内存中 C2 连接 |
| 5 | 加载DLL模块 | 恶意DLL/未备份模块 |
| 6 | 内核驱动/Rootkit | 内核态恶意代码 |
| 7 | 凭据/密钥 | 被窃取凭据 |
| 8 | 环境变量+命令行 | 恶意启动参数 |
| 9 | 注册表内存映像 | 运行时修改 |
| 10 | 网络套接字表 | 隐藏网络连接 |
工具:netstat / Wireshark / pyshark / sslyze
活跃连接(11) · 监听端口(12) · ARP缓存(13) · DNS缓存(14) · 路由表(15) · 防火墙规则(16) · Wi-Fi历史(17) · 网卡配置(18) · TLS指纹(19) · 流量采样5分钟(20)
工具:psutil / Process Explorer / sigcheck
全部进程列表(21) · 进程树(22) · 可执行路径(23) · 数字签名(24) · 命令行参数(25) · 进程-网络关联(26) · OOM设置(27) · 已加载DLL(28)
工具:winreg / schtasks / sc / PowerShell
Run/RunOnce(29-30) · Winlogon(30) · AppInit_DLLs(31) · IFEO(32) · COM劫持(33) · 计划任务(34) · 系统服务(35) · svchost(36) · 启动文件夹(37) · WMI(38) · 屏保(39) · AppCertDLLs(40) · BootExecute(41) · 组策略(42)
工具:hashlib / yara-python / VirusTotal API
系统目录未知exe(43) · 临时目录exe(44) · 7天内新文件(45) · 高熵文件(46) · 隐藏文件(47) · SHA256哈希(48) · Hosts文件(49) · YARA扫描(50) · NTFS ADS(51)
工具:wevtutil / pywin32 / EvtxECmd / log2timeline
安全日志4624/4625(52) · 进程创建4688(53) · 新服务7045(54) · PowerShell4104(55) · TaskScheduler(56) · Sysmon(57) · 浏览器历史(58) · RecentDocs(59) · Prefetch(60) · 超级时间线(61)
网络 × 进程 × 持久化 × 文件 × 日志,五维度交叉关联:
Initial Access → Execution → Persistence → C2 → Action| 等级 | 说明 | 建议 |
|---|---|---|
| 🔴 高危 | 已知C2连接+持久化+未知进程+ATT&CK链完整 | 立即断网,专业应急 |
| 🟠 中危 | 异常外连+临时目录exe+部分ATT&CK命中 | 深入排查,备份数据 |
| 🟡 低危 | 不明计划任务/Hosts修改/基线差异 | 持续观察,定期复检 |
| 🟢 安全 | 所有模块通过,无ATT&CK命中 | 保持定期扫描 |
| 攻击者技术 | 我们的对策 |
|---|---|
| 随机化 Beaconing | 统计间隔分布(变异系数) |
| 代理迷雾隐藏 C2 | 链路分析:多跳连接追踪 |
| DoT 加密 DNS | 853端口监控 + DoH IP监控 |
| 多重加密通信 | 流量元数据分析(包大小/频率/方向) |
| 进程注入 | 内存 RWX 区域扫描 + malfind |
| DLL 劫持 | DLL 搜索路径优先级检查 |
| 高熵加壳文件 | Shannon 熵值计算(>7.0标记) |
| 反沙箱参数启动 | 检测已知反沙箱标志参数 |
| 自签名 TLS 证书 | 证书链验证 + CN 异常检测 |
| 隐藏计划任务 | 检查隐藏标记 + XML 直接解析 |
| WMI 隐蔽持久化 | 直接查询事件订阅命名空间 |
| 文件名随机化 | 正则匹配随机字符模式 |
已完成
⏳ 待开始
确认管理员权限 · 准备采集工具 · 记录系统时间/主机名/IP · 启动审计日志
winpmem 采集完整镜像 · 保存外部存储 · 计算 SHA256
netstat -ano · 监听端口 · ARP · DNS缓存 · 路由表 · 防火墙 · 抓包5分钟
tasklist /v · wmic process · tasklist /m · 签名验证
注册表12项 · schtasks · sc query · 启动文件夹 · WMI查询
系统目录 · 临时目录 · 7天新文件 · 哈希 · 熵值 · 隐藏文件 · Hosts · YARA
安全日志 · 系统日志 · PowerShell · TaskScheduler · Prefetch · 浏览器历史
批量查询IP/域名/哈希 · JARM比对 · 证书指纹 · 输出情报标注
五维关联矩阵 · ATT&CK攻击链重建 · 基线差异 · 风险评分
HTML综合报告 · ATT&CK热力图 · 控制台摘要 · STIX JSON
检测时间与范围 · 风险评级(🔴🟠🟡🟢)+总分 · 关键发现摘要(3-5条) · 建议措施(按紧急排序)
主机信息 · 系统时间 · 已装安全软件 · 网络配置
活跃连接全表 · 可疑外连 · Beaconing分析 · 非常规端口 · DoT/DoH · TLS指纹
进程树 · 可疑进程 · 注入检测 · 伪装检测 · 进程-网络关联
14项逐条 · 基线差异 · 交叉验证 · 时间窗口分析
可疑文件 · 情报匹配 · YARA命中 · Hosts检查
DNS缓存 · DGA检测 · DNS隧道 · Hosts篡改
流量基线 · CPU/内存 · 事件日志 · 横向扫描 · 时间线
命中热力图 · 攻击链重建 · 家族匹配概率
IoC命中 · 关联家族 · 情报来源与置信度
新增项 · 基线漂移评分
紧急措施 · 深入排查 · 加固建议 · 定期复检计划
A: 原始数据(JSON) · B: IoC清单(STIX 2.1) · C: 工具版本与签名 · D: 采集时间线日志
| 论文 | 技术 | 准确率 |
|---|---|---|
| Nature Sci Rep 2026 | Hilbert曲线+CNN | 98.34% |
| IEEE TON 2026 | P2P拓扑+强化学习 | - |
| ICCCN 2025 | CNN-LSTM-GRU混合 | 99.99% |
| App. Sci. 2026 | GNN异构图 | 95% |
| IEEE OJCOMS 2026 | EROIKA多阶段 | 99.61% |
项目方案 v2 · 编制日期 2026-07-14
基于 NIST/MITRE/绿盟/学术研究等8个专家视角综合编制
v3 新增 — 11 轮深度调研成果,含开源工具、算法代码、检测规则
| 项目 | 核心能力 | 借鉴价值 |
|---|---|---|
| botnet_detection | 网络监控GUI,Beaconing+DGA+DNS隧道+JA3指纹+威胁评分 | 评分模型、黑名单自动更新 |
| BotHunter | 12种RAT检测+P2P僵尸网络+Shodan集成 | RAT家族特征库 |
| p2p-botnet-detector | pcap流特征提取+ML训练 | 27个流特征定义 |
| botnet-detection-ML | CTU-13数据集+RandomForest+Streamlit | ML Pipeline参考 |
| DNS-Analyser | DNS捕获+熵计算+JSON/PDF报告 | DNS分析模块 |
| 指纹 | 采集方 | 检测目标 |
|---|---|---|
| JA3 | 客户端 ClientHello | 识别C2植入物 |
| JA3S | 服务端 ServerHello | 识别C2服务器 |
| JARM | 主动扫描(10个ClientHello) | C2服务器集群 |
Python库:pip install pyja3 pyjarm
| EID | 名称 | 检测用途 |
|---|---|---|
| 1 | 进程创建 | 命令行审计、父子链 |
| 3 | 网络连接 | C2外连、扫描 |
| 7 | 镜像加载 | DLL注入/劫持 |
| 8 | 远程线程 | 进程注入 |
| 10 | 进程访问 | LSASS访问(Mimikatz) |
| 11 | 文件创建 | 恶意文件投递 |
| 12-14 | 注册表事件 | 持久化机制 |
| 15 | ADS流 | NTFS隐藏载荷 |
| 22 | DNS查询 | DNS C2/DGA/隧道 |
| 25 | 进程篡改 | 进程镂空/替换 |
YARA 生态:
Sigma 生态:
| 框架 | 关键特征 | 检测方法 |
|---|---|---|
| Cobalt Strike | checksum8 URI、命名管道\\msagent_*、JARM已公开 | JARM+管道+Beaconing+注入链 |
| Sliver | Protobuf编码、管道\\postex_*、多传输 | 管道+协议指纹 |
| Havoc | JA3可识别、默认特征明显 | JA3+Beaconing |
| Metasploit | TLV协议、4字符校验和URI | URI模式+协议结构 |
完整40篇参考资料已保存到 僵尸网络自检-技术深度调研附录.md