勒索软件分析(加密识别 / 勒索信 / 解密恢复)
SkillDev tools勒索软件分析:加密识别、勒索信、解密恢复思路。 触发词:勒索、ransomware、加密文件、勒索信、解密恢复
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the 勒索软件分析(加密识别 / 勒索信 / 解密恢复) skill
What this skill tells your AI
The instructions your AI receives, as published by dslsdzc/rev-skills in .claude/skills/re-ransomware/SKILL.md and read by ahel’s review.
何时使用 / 何时不用
- 用:受害者文件被加密(扩展名变化、文件头损坏、熵升高)、出现勒索信(README/DECRYPT)的样本
- 用:需要判断"能不能恢复"并给出解密恢复路线(密钥提取 → 解密脚本 / 社区解密工具)
- 用:勒索样本的加密算法、密钥管理、C2 交互还原
- 不用:样本还没确认是勒索(先 [[re-triage]] 初勘 + [[re-behavior]] 行为确认)
- 不用:只分析加密算法本身(直接走 [[re-crypto-id]] / [[re-crypto-keys]])
- 注意:运行样本 = 会真实加密文件,必须在沙箱快照内([[re-sandbox]] 强制前置,[[re-analyze/platform-tips]] 最高原则);静态分析可免沙箱
工具准备
所有工具先验证再使用。加密三件套与沙箱的完整装法见各技能,本技能直接复用;本技能独有的是文件系统快照工具(防样本加密破坏分析环境,坑 1)。
加密分析三件套(复用 crypto 域)
- [[re-crypto-id]]:算法识别(常量表指纹、自定义加密)
- [[re-crypto-keys]]:密钥提取(硬编码/内存/资源)
- [[re-crypto-decrypt]]:解密脚本(pycryptodome 装法见该技能)
- 验证:
python3 -c "from Crypto.Cipher import AES; print('ok')"(见 [[re-crypto-decrypt]])
沙箱环境(运行前置)
- [[re-sandbox]]:VM 快照 + 网络隔离(INetSim / fake DNS);勒索样本动态分析默认 VM 快照级别(加密行为破坏性强)
- 验证: 快照
VBoxManage snapshot <vm> list有 clean;网络ping 8.8.8.8不通
文件系统快照工具(加密前状态留底)
- Linux: btrfs 快照
snapper——Debian/Ubuntuapt install snapper/ Fedoradnf install snapper/ Archpacman -S snapper;验证:snapper --version。非 btrfs 用tar/rsync(自带)备份观察目录 - Windows: 卷影复制
vssadmin(系统自带)——vssadmin list shadows验证;快照也是解密恢复途径之一(步骤 5) - macOS: Time Machine
tmutil(自带)——tmutil listbackups验证 - 哈希/枚举:
sha256sum/find(coreutils 自带)
家族识别与解密工具调研(在线,无需安装)
- ID Ransomware(id-ransomware.malwarehunterteam.com):上传勒索信/加密文件头识别家族
- No More Ransom(nomoreransom.org):官方解密器集合(坑 4 时效性)
- [[re-ti]]:样本哈希查 VT / 社区报告,确认家族与已有分析结论
操作步骤
按顺序执行,每步记录证据(路径 + sha256,见 [[re-triage]])。静态优先([[re-analyze/platform-tips]] 静态优先原则):先在宿主机做 1-2,需要运行时才进沙箱。
-
初始判断(扩展名变化 / 加密头特征 / 勒索信):
sha256sum sample.exe 被加密文件 # 存证([[re-triage]]) file 被加密文件 # 文件头是否被改写/替换 xxd -l 64 被加密文件 # 头部特征:固定前缀=感染 ID/密钥块,尾部特征同理 find / -xdev -iname "*README*" -o -iname "*DECRYPT*" -o -iname "*RECOVER*" 2>/dev/null find . -type f -mmin -60 -size +1k | head # 加密时间窗内被改动的文件- 判定信号:扩展名批量变化(.crypt/.locker/.encrypted)、原文件被删/被覆盖、目录出现勒索信、桌面壁纸被换
- 先给受害者文件整体哈希/目录清单留底(与快照互为备份)
-
加密算法识别(走 crypto 域):
- 对样本静态分析: [[re-crypto-id]]——常量表指纹(AES S-box / RSA 公钥 DER / CRC 表)、XOR/ROL/ROR 变换、是否混合加密(RSA 包 AES key 最常见)
- 对密文观察: 头部/尾部固定块(感染 ID、密钥块)、密文长度对齐(AES 块长 16)、熵(>7.0 → 加密/压缩/高随机性候选,需结合文件头与上下文佐证——高熵本身不是加密判定)
- 判定三选一:对称(AES 整文件)→ 找对称密钥;非对称(RSA 直接加密)→ 几乎不可恢复;混合(RSA 加密 AES key)→ 密钥块随文件保存则看步骤 3
- 结论(算法假设 + 证据)传给步骤 3/5
-
密钥管理还原(本地 / 网络 / C2 分发):
- 本地: [[re-crypto-keys]] 静态优先(strings/硬编码/资源/导入表)→ 没有再上内存([[re-memdump]] 默认转储 gcore;转储时机 = 加密循环执行中,密钥已派生未销毁)
- 网络/C2 下发: 沙箱内 [[re-sandbox]](INetSim/fake DNS)+ [[re-netcap]] 抓包,[[re-protocol]] 重建——密钥可能只在运行时由 C2 下发,静态拿不到
- 混合模型: 样本内含 RSA 公钥、AES key 被加密写进文件头 → 无私钥不可恢复(诚实告知,见 [[re-crypto-keys]] 坑)
- 每枚候选密钥记录来源证据(偏移/函数名/转储路径),供 [[re-crypto-decrypt]] 使用
-
勒索信与 C2 交互(走 [[re-protocol]]):
- 读勒索信: 提取邮箱 / URL(Tor/暗网)/ BTC 地址 / 感染 ID → 记入 IOC([[re-ioc]])
- C2 交互: [[re-protocol]] 编排——[[re-netcap]] 抓包 → [[re-crypto-id]] 判定密文 → [[re-crypto-keys]] 取密钥 → [[re-crypto-decrypt]] 解密流量 → [[re-proto-rev]] 重建交互(密钥上传/状态上报/感染 ID 注册)
- 重点关注: 加密前是否先上传数据(双重勒索,坑 2)、密钥是否回传 C2
-
恢复思路(密钥提取 → 解密脚本;无密钥 → 社区工具):
- 有密钥: [[re-crypto-decrypt]] 写批量解密脚本(算法/模式/IV 按 [[re-crypto-id]] 结论重放)→ 先小样本验证出明文 → 全量执行
- 部分加密/头部加密: 只加密头部几 KB 或部分块 → 截掉头部/重建文件头即可恢复多数文件(先检查密文长度是否 = 原长,是最便宜的路径)
- 无密钥: ID Ransomware 识别家族 → No More Ransom / 厂商解密器(必须匹配变体,坑 4)→ 失效则诚实报告"当前不可恢复"
- 快照/备份恢复优先: vssadmin / snapper / Time Machine 回滚(注意样本可能先删卷影,检查是否被删)
- 产出: 恢复可行性结论 + 解密脚本 + 证据链([[re-ioc]] 报告结构)
跨域联合
- [[re-crypto-id]] / [[re-crypto-keys]] / [[re-crypto-decrypt]]:步骤 2/3/5 分别引用,构成加密识别→密钥→解密主链
- [[re-sandbox]] / [[re-behavior]]:动态分析强制前置([[re-analyze/platform-tips]] 最高原则)与加密/外传行为观察
- [[re-protocol]]:勒索信背后的 C2 交互(netcap / crypto-* / proto-rev),步骤 4
- [[re-ti]]:样本哈希/家族识别(VT、ID Ransomware)
- [[re-ioc]]:勒索信邮箱/URL/钱包地址、密钥与密文指纹出 IOC
- [[re-malware]]:本技能由 re-malware 网关引用(勒索样本分支);行为分析/报告走网关全流程
- [[re-analyze/platform-tips]] 相关分支:默认沙箱(加密行为破坏性强)、静态优先、平台分支(Linux 用 snapper、Windows 用 vssadmin)
常见坑与陷阱
- 样本在沙箱内加密所有文件:现象——样本一跑,沙箱里全盘文件被加密,包括样本自身与行为日志,取证产物被毁;原因——未做文件系统快照/蜜罐隔离就运行,或分析完没恢复快照;对策——[[re-sandbox]] 快照 + 蜜罐文件夹(放假文档/假密钥,观察加密目标选择)+ 只读传入样本,分析完立即恢复快照(坑清单见 [[re-sandbox]]);原始样本与密文副本在宿主机独立备份
- 双重勒索(数据泄露 + 加密):现象——勒索信同时威胁"加密文件 + 公开泄露数据",只盯加密会漏掉外传阶段;原因——双重勒索模式:先窃取数据(C2 上传)再加密,赎金诉求双份;对策——[[re-behavior]] / [[re-netcap]] 优先观察网络外传(泄露影响面大于加密),分两阶段记录行为与 IOC,报告分开陈述
- RaaS 变体差异:现象——同家族不同样本加密扩展名/算法/密钥方案都不一样,套用家族通用结论出错;原因——RaaS(勒索软件即服务)向攻击者出租可定制变体,每租户可配置;对策——以手头样本实测为准([[re-crypto-id]] 重新确认),记录样本级特征(样本哈希/密钥块指纹)而非家族级结论
- 解密工具时效性:现象——No More Ransom 解密器报"不是此变体"或解出乱码;原因——解密器只覆盖特定变体/旧版本,新变体算法或密钥方案已变;对策——先用 ID Ransomware + 样本哈希精确匹配变体再选工具;失效就走密钥提取路线(步骤 3/5)或诚实报告不可恢复;工具随 C2 密钥泄漏更新,可定期复查
Signals
- GitHub stars
- 57
- Forks
- 8
- Last commit
- Sep 2026
ahel review
K1binfo
installs-packages
Automated review, not a security audit. Ruleset v1+k2.
Advanced
- Catalog kind
- skill
- Gateway key
re-ransomware- Source
- github.com/dslsdzc/rev-skills