Renatoissance/Ransomware-Simulation

GitHub: Renatoissance/Ransomware-Simulation

一个基于 Python 和 Fernet(AES)仿勒索软件加密与恢复的 PoC 项目,用于教学与演练。

Stars: 1 | Forks: 0

# 第一阶段:威胁模拟与利用(红队) ## 概述 本概念验证的第一阶段演示了典型勒索软件载荷如何在受感染端点上运行。自定义 Python 脚本(`attacker.py`)利用 `cryptography` 库(基于 AES-CBC 模式、128 位密钥实现的 Fernet)系统性地使文件无法访问。 ## 步骤 1:环境准备 为了在不危及实际系统完整性的情况下安全模拟攻击,在隔离的 Ubuntu 虚拟机中生成了一个包含 100 个虚拟文件的专用目录。 使用一个简单的 Bash 循环快速为目标目录预置包含真实字符串数据的文件: ``` mkdir ~/WICHTIGE_FIRMEN_DATEN cd ~/WICHTIGE_FIRMEN_DATEN for i in {1..100}; do echo "Dies ist ein extrem wichtiges Firmendokument Nummer $i. Enthält geheime Finanzdaten." > "geheime_rechnung_$i.txt"; done ```

Directory populated with 100 text files
The target directory after successfully provisioning 100 dummy files.

## 步骤 2:载荷执行 执行 `attacker.py` 后,将自动执行以下步骤: 1. **密钥生成**:生成一个唯一的加密密钥(`secret.key`)并本地保存。在真实场景中,该密钥会被外泄至外部的命令与控制(C2)服务器。 2. **文件迭代**:遍历预定义的目标目录。 3. **加密与重命名**:读取每个文件的二进制数据,使用基于 AES 的 Fernet 方案加密,覆盖原始数据,并追加 `.locked` 扩展名。

Script encrypting files rapidly
Execution of the attacker.py script targeting the dummy directory.

Attack completion output
Terminal output confirming the successful encryption of all 100 files.

脚本执行完成后,唯一的解密密钥会留在工作目录中,模拟攻击者持有的赎金资产。

Attacker script and generated secret key

## 步骤 3:后续影响 加密过程结束后,目标目录已完全沦陷。所有原始文件均无法访问,文件扩展名已被更改为 `.locked`,系统会投放一条标准勒索信(`READ_ME_NOW.txt`)以要求付款。

Directory showing locked files and ransom note
The compromised directory showing modified extensions and the dropped ransom note.

尝试读取加密文件的内容会显示完全混淆的密文,验证了 AES 加密层的成功。

Encrypted ciphertext inside a locked file
Viewing the unreadable AES ciphertext of an encrypted dummy document.

勒索信会指导用户如何理论上恢复其数据。

The custom ransom note

## 实际 EDR/AV 检测说明 值得注意的是,在主机与虚拟机共享文件夹中编写此代码时,主机操作系统上的 Microsoft Defender 立即将该自定义脚本标记为恶意程序。

Windows Defender catching the script as a Trojan
Microsoft Defender intercepting the custom payload via behavioral heuristics.

启发式引擎将其归类为 `Trojan:Python/FileCoder.AI!MTB`,这表明其编程行为(快速文件迭代、加密库导入、文件扩展名修改)完美模仿了实际威胁行为者的工具。 ### 后续步骤: ➡️ **[第二阶段:事件响应与蓝队蜜罐防御](#)** *(即将推出)*
标签:AES-CBC, Fernet, PoC演示, Python加密, 勒索软件模拟, 安全教学, 安全演示, 库, 应急响应, 攻击模拟, 数据加密, 文件加密, 模拟攻击, 端点安全, 蓝队响应, 补丁管理, 误配置预防, 逆向工具, 驱动签名利用