0xMsecurity/defuse

GitHub: 0xMsecurity/defuse

Defuse 是一个 Windows 恶意软件行为分析与自动化清除工具,通过检测可疑进程、注册表持久化和关联文件来彻底清除恶意软件。

Stars: 0 | Forks: 0

# 🛡️ Defuse – 恶意软件分析与清除项目 ## 📌 概述 本项目致力于在受控环境中对基于 Windows 的恶意软件样本进行分析与清除。目标是了解恶意软件的行为,识别其持久化机制,并开发一个能够将其从系统中彻底清除的程序。 该解决方案被实现为一个行为驱动的清除工具,可根据其执行上下文和系统影响来检测并清除恶意软件。 ## 项目结构 ``` . ├── defuse.py ├── run_defuse.bat ├── requirements.txt ├── README.md ├── artifacts/ ├── src/ │ └── defuse/ │ ├── cli.py │ ├── config.py │ ├── detection.py │ ├── logging_utils.py │ ├── models.py │ ├── remediation.py │ ├── reporting.py │ ├── utils.py │ └── windows_ops.py └── tests/ └── test_utils.py ``` ## ⚙️ 程序说明 开发的程序是一个 Windows 恶意软件清除工具,可执行自动化的检测与清理。 ### 检测逻辑 它使用以下信号识别可疑活动: 1. 在 `C:\Users` 下用户可写位置(而非受信任的系统目录)运行的**实时可疑进程**。 2. 在以下必需键中的**注册表持久化**: - `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run` - `HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce` - `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run` - `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce` 3. 在当前用户和所有用户启动目录中的**启动文件夹项**。 4. 在 `C:\Users` 下递归发现的**关联可执行文件副本**。 ### 家族关联 该工具不仅依赖于精确的文件名。它会将名称标准化,以便将相关的变种视为同一恶意软件家族。 示例: - `maltrack.exe` → `maltrack` - `mal-track.exe` → `maltrack` - `mal_track.exe` → `maltrack` 这使得它能够将 Downloads 中的原始释放器与 Documents 中生成的 payload 关联起来。 ### 清除步骤 1. 检测可疑进程。 2. 枚举 Run 和 RunOnce 持久化。 3. 枚举可疑的启动项。 4. 使用标准化名称和哈希(如果可用)递归扫描 `C:\Users` 以查找相关可执行文件。 5. 终止可疑进程。 6. 移除注册表持久化值。 7. 删除启动项。 8. 从整个用户空间中删除关联的可执行文件。 9. 将证据报告写入 `artifacts/defuse_report.json`。 ## 如何运行 ### 前置条件 - Windows 10 或 11 虚拟机 - Python 3.10+ - 管理员命令提示符 ### 安装 ``` python -m pip install -r requirements.txt ``` ### 执行 ``` python defuse.py ``` 或运行: ``` run_defuse.bat ``` ### 🧹 清除工作流 程序执行以下操作: 1. 检测正在运行的可疑进程 2. 从执行路径中提取恶意软件身份 3. 终止恶意进程 4. 从以下位置移除持久化: - HKCU\Software\Microsoft\Windows\CurrentVersion\Run - HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce - HKLM\Software\Microsoft\Windows\CurrentVersion\Run - HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce 5. 递归扫描用户目录: - Downloads - Documents - Desktop - AppData 6. 使用标准化匹配识别相关的 payload 7. 删除所有关联的恶意文件 8. 生成清除报告 ## 🧪 恶意软件分析演示 ### 步骤 1 – 执行 恶意软件在 Windows 虚拟机内执行。 原始文件位置: C:\Users\ehack\Downloads\mal-track.exe ### 步骤 2 – 观察到的行为(Procmon 分析) 使用 Process Monitor 和系统检查工具: - 恶意软件生成了一个辅助可执行文件: C:\Users\ehack\Documents\maltrack\maltrack.exe - 创建了持久化机制: HKCU\Software\Microsoft\Windows\CurrentVersion\Run Value: Mal-Track → maltrack.exe ### 步骤 3 – 行为总结 恶意软件充当以下角色: - 释放器(Downloads 中的初始可执行文件) - payload(Documents 中执行的副本) - 持久性威胁(基于注册表的自启动) ## 🧯 清除结果 运行开发工具后: ✔ 恶意进程已终止 ✔ 注册表持久化已移除 ✔ 启动项已清理 ✔ Payload 已从 Documents 中移除 ✔ 原始释放器已从 Downloads 中移除 ✔ 用户目录中无残留项 ## 📧 恶意软件缓解报告邮件 **To:** security@organization.com **Subject:** 恶意软件分析报告:Fynloski 缓解措施 **尊敬的安全团队,** 我写信是为了报告在一次独立且受控的 Windows 环境中进行的网络安全实验室练习中,对确认为 *Fynloski* 的恶意软件样本进行的成功分析、遏制和清除。 ## 总结 所分析的恶意软件表现出的行为与**基于释放器的感染链**以及**持久化机制**相一致。 从用户控制的目录(`Downloads`)执行后,该恶意软件将第二个 payload 部署到了另一个用户目录(`Documents`)中。随后,该 payload 作为独立的进程被执行,并通过在当前用户的启动配置下修改 Windows 注册表来维持持久化。 这种行为表现出了通常与后门或远程访问类恶意软件相关的特征,能够实现重复执行并可能导致长期的系统被攻陷。 ## 观察到的详细行为 - 初始执行源自: ``` C:\Users\ehack\Downloads\mal-track.exe ``` - 创建并执行第二个 payload: ``` C:\Users\ehack\Documents\maltrack\maltrack.exe ``` - 通过注册表建立持久化: ``` HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run Value Name: Mal-Track ``` - 持续执行 payload 进程以维持在系统上的驻留 ## 缓解措施证明 开发的清除工具通过以下操作成功中和了该恶意软件: - 识别并终止了活动的恶意进程(`maltrack.exe`) - 移除了所有的持久化机制,涉及: - HKCU\Software\Microsoft\Windows\CurrentVersion\Run - HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce - HKLM\Software\Microsoft\Windows\CurrentVersion\Run - HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce - 删除了部署在 Documents 目录中的 payload - 定位并移除了 Downloads 目录中的原始释放器 - 对用户可访问的目录进行了递归扫描,确保没有残留或重复的 payload - 验证了在采取清除措施后,没有活动的恶意进程或持久化条目残留 ## 攻击者信息 恶意软件与以下 IP 地址进行了通信: ``` 127.0.0.1 ``` ## 影响评估 如果在受控环境之外执行,此恶意软件可能会: - 在系统重启后维持持久执行 - 实现未经授权的系统访问 - 促成数据窃取或监视 - 作为进一步恶意 payload 的后门 ## ⚖️ 道德黑客报告 所有分析均在隔离的虚拟机中执行。恶意软件仅出于教育目的在此受控环境中运行。在此类环境之外运行恶意软件可能会导致系统被攻陷、数据丢失以及承担法律后果。 ## 🎯 结论 本项目演示了完整的恶意软件分析和清除过程,确保了对活动 payload 和原始释放器的彻底移除,防止了再次感染。 ## 👨‍💻 作者 - [@mohani](https://learn.reboot01.com/git/mohani)
标签:DAST, DNS 反向解析, Python, 恶意软件分析, 恶意软件清除, 无后门, 端点可见性, 逆向工具