⚠️ 严正警告 (Disclaimer)
本项目仅用于合法的安全研究、教育和企业内部攻防演练目的。
在任何情况下,严禁在未经授权的系统上运行此程序。此工具旨在模拟对文件进行不可逆的加密操作。在非受控环境中运行可能导致真实的数据丢失和系统损坏。
使用者必须对自己的行为负责。 开发者对因滥用此工具而造成的任何损害不承担任何责任。
访问项目https://github.com/yangzifun/ransom_simulator
🚀 1. 项目简介
Ransomware Simulator 是一个高保真、跨平台的勒索软件攻击模拟器,使用 Go 语言编写。它旨在通过模拟真实世界勒索软件(如 LockBit、Conti 等)的关键攻击阶段,帮助组织和安全团队提升防御能力。
核心价值
EDR/XDR 检测能力测试: 观察安全产品对文件操作、加密行为和网络 C2 信标的捕获能力。
备份与恢复策略验证: 在安全隔离环境中,检验数据恢复流程的有效性和时效性。
应急响应能力提升: 提供真实的模拟场景,演练事件调查、溯源、遏制和清除流程。
员工安全意识增强: 直观展示勒索软件的破坏力,作为内部安全培训的生动案例。
模拟的关键攻击阶段 (MITRE ATT&CK®)
✨ 2. 功能特性与技术细节
跨平台支持: 可编译为 Windows (
.exe), Linux 和 macOS (Intel/ARM) 的原生可执行文件。高强度混合加密 (AES + RSA):
使用强大的 AES-256 GCM 模式对文件内容进行流加密。
随机生成 AES 密钥,并使用从模拟 C2 服务器获取的 RSA-2048 公钥加密 AES 密钥,模拟真实勒索软件的密钥交换流程。
高效并发加密: 利用 Go 的并发特性,通过
-workers参数指定线程数,最大化利用多核心 CPU 资源,模拟攻击的高效性。安全演习模式 (
-dry-run): 提供完全安全的沙箱模式,程序只会执行扫描和 C2 信标(可选),不会执行任何文件修改或破坏性操作。目标精准控制: 允许通过
-ext参数精确控制攻击目标的文件类型。单实例运行机制: 通过创建文件锁机制 (
os.OpenFile(O_EXCL)),防止程序重复运行导致的演练环境污染。
🛠️ 3. 安装与编译指南
3.1. 先决条件
安装 Go 编程语言 (版本 1.18 或更高)。
3.2. 编译步骤
假设您已将 ransom_simulator.go 文件放置在您的工作目录下。
提示:
-ldflags="-s -w"是一个可选参数,用于移除调试信息,减小最终可执行文件的大小。
⚙️ 4. 使用方法与功能指导
再次强调:强烈建议在虚拟机或隔离的沙箱环境中运行。
4.1. 命令行参数详解
4.2. 使用示例 (演练指导)
示例 1: 蓝队/EDR 规则初步验证 (安全模式)
目标: 在不破坏文件的前提下,检查 EDR 或 HIPS 是否能捕获到对 .txt 和 .pdf 文件的扫描行为,并观察 C2 信标网络请求。
Bash
# 在 Linux/macOS 演练环境中执行
./ransom_simulator_linux -ext .txt,.pdf -dry-run -dir /home/testuser/Documents观察点:
程序输出中是否列出了所有预期的目标文件。
检查 EDR/SIEM 日志,是否有文件遍历和可疑网络连接 (
BEACON_URL) 的告警。
示例 2: 验证数据恢复和应急响应流程 (破坏模式)
目标: 在隔离的演练虚拟机中,模拟一次真实的、不可逆的勒索攻击,以测试备份还原流程。
Bash
# 在 Windows 演练环境中执行
# 目标:加密所有办公文档和压缩文件
./ransom_simulator.exe -ext .doc,.docx,.pdf,.zip,.bak -dir C:\Users\TestUser\Data -workers 8 -remove执行流程:
程序启动,进行 C2 通信获取公钥。
程序开始并发扫描和加密。
加密完成后,程序会在用户桌面和关键目录创建勒索信。
应急响应演练开始:
遏制: 隔离受影响的演练主机。
溯源: 分析加密日志 (
ransom_log.txt),确定攻击开始时间、范围和攻击者ID (UUID)。恢复: 启动备份还原策略,验证文件是否能完整、及时恢复。
示例 3: 清理残留锁文件 (针对 Linux/macOS)
如果在演练过程中程序意外崩溃或被强制终止,系统可能会留下锁文件,导致下次启动失败。
Bash
# 清理命令
rm /tmp/ransom_simulator_instance.lock5. 免责声明与许可
本项目遵循 MIT 许可证。请查阅 LICENSE 文件了解详情。
再次强调,此工具的创建旨在赋能防御者,而非赋能攻击者。请在法律和道德允许的范围内负责任地使用。