【免费下载链接】Decepticon
Autonomous Hacking Agent for Red Team
本文围绕 Decepticon 自动化红队框架中 reverser(逆向分析)赛道下的勒索软件分析技能reverser-ransomware-analysis展开,讲解如何在事件响应与恶意代码分析场景中识别勒索软件家族、逆向其加密实现、评估密钥可恢复性并提取威胁情报 IOC。读完本文,你将掌握一套完整的勒索软件分析工作流——从勒索信解析、加密文件熵值判定、恢复抑制行为取证,到二进制级行为分析与现有解密器核查,并理解该技能在 Decepticon 技能图谱中的组织方式与检索机制。
技能定位:Reverser 赛道下的勒索软件专项
Decepticon 将逆向分析能力组织为一条独立的技能赛道(lane)。赛道入口 reverser/SKILL.md 声明了reverse-engineering赛道的能力契约,列出了 triage、packer-unpacking、Ghidra 深度分析等 Playbook;而勒索软件分析技能 ransomware-analysis/SKILL.md 则是其中面向"事件响应(incident response)"场景的专项技能,覆盖:
- 加密方案识别(encryption scheme identification)
- 密钥恢复技术(key recovery)
- 勒索信解析(ransom note parsing)
- 影子副本/恢复抑制分析(shadow copy / recovery inhibition)
- 解密器可用性检查(decryptor availability check)
- 常见勒索软件家族的 IOC 提取(IOC extraction)
该技能的 YAML frontmatter 遵循 SKILL.md 规范,其中两个字段直接影响其在 Decepticon 中的工作方式:
--- name: reverser-ransomware-analysis description: "Ransomware family identification and analysis — encryption scheme identification, key recovery techniques, ransom note parsing, shadow copy/recovery inhibition analysis, decryptor availability check, and IOC extraction for common ransomware families." allowed-tools: Bash Read Write metadata: when_to_use: "ransomware encrypted files ransom note decrypt recovery key lockbit revil conti blackcat alphv encryption crypto aes rsa chacha payment bitcoin" subdomain: reverser tags: "ransomware, encryption, decryptor, key recovery, incident response" mitre_attack: "T1486, T1490, T1489" ---when_to_use:一组触发关键词(lockbit、revil、conti、blackcat、alphv、chacha、bitcoin 等)。Decepticon 的 Skillogy 中间件以 Neo4j 图数据库承载技能图谱,Agent 通过find_skill(query=...)检索时,name 与when_to_use拥有最高的词法匹配权重——这解释了为什么这里堆叠了大量家族名与加密算法名(参见 middleware/skillogy.py 中注入给 Agent 的检索说明);mitre_attack: T1486, T1490, T1489:与 MITRE ATT&CK 技术建立IMPLEMENTS图边,使 Agent 能按 ATT&CK ID 精确过滤到本技能(find_skill(mitre_id="T1486"));subdomain: reverser:按 schema 中的别名映射,reverser会被规范化改写为reverse-engineering,技能归属逆向赛道。
执行层面,该技能被 reverser Agent 加载。从 agents/standard/reverser.py 可以看到,Reverser Agent 的标准工具面由二进制逆向工具集(bin_identify、bin_strings、bin_packer等,定义于 tools/reversing/tools.py)加上BASH_TOOLS构成;技能声明allowed-tools: Bash Read Write,即本文下述所有strings、python3、yara命令都通过沙箱内 bash 执行。agents/prompts/standard/reverser.md 描述了其操作循环:TRIAGE → UNPACK → HARVEST(字符串)→ RISK → RADARE2 → DEEPEN(Ghidra),并强调"每个观察都记录到findings/FIND-NNN.md"。勒索软件样本的静态取证(strings 挖掘、熵值判定)正是 HARVEST 阶段的直接落地。
快速参考命令
原文档给出一组可直接复制的起手式,覆盖家族初判、恢复抑制检查、熵值分析与解密器核查:
# Identify ransomware family from ransom note # Upload to: id-ransomware.malwarehunterteam.com # Or match locally: strings ransom_note.txt | head -20 # Check encrypted file extension ls -la /path/to/encrypted/ | head -20 # Common: .lockbit, .revil, .conti, .blackcat, .encrypted, .crypt # Check for shadow copy deletion (recovery inhibition) strings <TARGET> | grep -iE 'vssadmin|wmic.*shadowcopy|bcdedit|wbadmin' # Entropy analysis on encrypted files python3 -c " import math data=open('encrypted_file','rb').read() c=[data.count(bytes([b])) for b in range(256)] t=len(data) e=-sum((x/t)*math.log2(x/t) for x in c if x) print(f'Entropy: {e:.3f}/8 — {\"fully encrypted\" if e > 7.9 else \"partial/header encryption\" if e > 7.0 else \"not encrypted\"}')" # Check Emsisoft/NoMoreRansom for free decryptors # https://www.nomoreransom.org/en/decryption-tools.html # https://www.emsisoft.com/en/ransomware-decryption/其中熵值判定的阈值设计值得注意:> 7.9判定"完整加密",> 7.0判定"部分/头部加密",否则"未加密"。这与 Decepticon 自带打包器检测工具的阈值逻辑一脉相承——tools/reversing/packer.py 中的shannon_entropy()使用同样的香农熵公式统计字节分布,并以entropy > 7.0作为"可能已压缩或加密"的判定线(detect_packer()中likely = entropy > 7.0 or packer is not None)。也就是说,"高熵即密文"这一经验阈值在 Decepticon 的逆向工具链中是统一的工程约定;bin_packer工具(tools/reversing/tools.py中定义)对勒索软件样本同样适用,可先行输出整体熵值与打包签名命中情况。
MITRE ATT&CK 映射
勒索软件事件在 ATT&CK 中横跨多个技术,技能文档给出如下映射表,可直接用于事件报告与检测规则对齐:
| Technique | ID | How It Appears |
|---|---|---|
| Data Encrypted for Impact | T1486 | File encryption using AES/ChaCha20 + RSA key wrap |
| Inhibit System Recovery | T1490 | vssadmin delete shadows, bcdedit, wbadmin delete catalog |
| Service Stop | T1489 | Stopping SQL, Exchange, backup services before encryption |
| System Shutdown/Reboot | T1529 | Forced reboot after encryption; bootlocker ransomware |
| Data Destruction | T1485 | Wiper variants masquerading as ransomware |
| Exfiltration Over C2 | T1041 | Double extortion: data exfil before encryption |
| Defacement: Internal | T1491.001 | Desktop wallpaper change to ransom note |
这张表同时是检测侧的落点:T1490 对应vssadmin delete shadows /all /quiet命令行检测,T1486 对应高熵文件写入与批量重命名行为(见文末 Detection Signatures 表)。
1. 家族识别(Family Identification)
确定样本所属家族是一切后续分析(尤其是"有没有现成解密器")的前提。技能文档给出五种互补方法:
# Method 1: Ransom note analysis cat ransom_note.txt # Key identifiers: # - Tor .onion URL → payment portal (extract for IOC) # - Bitcoin/Monero wallet address # - Unique victim ID / personal key # - File extension mentioned in note # Method 2: Encrypted file extension mapping # .lockbit → LockBit 2.0/3.0 # .revil / .sodinokibi → REvil/Sodinokibi # .CONTI → Conti # .blackcat / random 6-7 char → BlackCat/ALPHV # .royal → Royal # .akira → Akira # .play → Play # .8base → 8Base (Phobos variant) # .<random base64> → often Phobos family # Method 3: ID Ransomware (web-based) # Upload: ransom note + encrypted file sample # https://id-ransomware.malwarehunterteam.com/ # Method 4: Binary analysis strings <TARGET> | grep -iE 'lockbit\|revil\|conti\|blackcat\|phobos\|dharma\|stop\|djvu' yara -r /opt/yara-rules/ransomware/ <TARGET> # Method 5: Mutex / named pipe identification strings <TARGET> | grep -iE 'Global\\|mutex\|pipe' # Known mutexes: "Global\LockBit" → LockBit几点实操补充:
- 方法 1 与第 5 节 IOC 提取联动:勒索信中的 .onion 域名、BTC/XMR 钱包地址、victim ID 既是 IOC,也常常携带家族特征文本(如固定免责段落),可先跑后文的 Python 解析脚本再回看原始文本;
- 方法 4 的二进制字符串挖掘:Decepticon 的
bin_strings工具实现了同一思路的自动化版本。从 tools/reversing/strings.py 可以看到,extract_strings()提取 ASCII 与 UTF-16LE 字符串后经_classify()自动分类到url / ip / crypto / secret / version / import等类别,category_filter可只取url或crypto类。对勒索软件样本,bin_strings <TARGET> category_filter=url往往直接命中 C2 与支付门户地址; - 方法 5 的 Mutex 识别:Windows 勒索软件普遍用
Global\前缀命名互斥量做单实例保护,字符串表里出现Global\LockBit这类常量即可锁定家族,无需动态运行样本;Decepticon 的 Kali 沙箱镜像已内置yara(见 containers/sandbox.Dockerfile 中 "YARA (DFIR validation)" 安装段),配合本地 YARA 规则库即可完成无联网的家族确认。
2. 加密方案分析(Encryption Scheme Analysis)
家族确定后,需要逆向其加密实现以评估数据可恢复性。核心思路是"先定位密码学 API,再分析加密文件结构":
# Identify crypto libraries / APIs used strings <TARGET> | grep -iE 'CryptEncrypt\|CryptGenKey\|CryptImportKey\|CryptAcquireContext' strings <TARGET> | grep -iE 'AES\|RSA\|ChaCha\|Salsa\|Blowfish\|RC4\|ECDH\|Curve25519' strings <TARGET> | grep -iE 'BCrypt\|NCrypt\|OpenSSL\|mbedtls\|sodium\|libcrypto' # Common ransomware crypto patterns: # Pattern A: RSA-2048 master key + AES-256-CBC per file (LockBit, Conti) # Pattern B: Curve25519 + XSalsa20 (BlackCat/ALPHV — Rust-based) # Pattern C: RSA-2048 + ChaCha20 per file (REvil, Hive) # Pattern D: Hardcoded AES key (weak — decryptable!) (older Dharma, STOP/Djvu offline) # Check import table for crypto APIs python3 << 'EOF' import pefile pe = pefile.PE("<TARGET>") for entry in pe.DIRECTORY_ENTRY_IMPORT: dll = entry.dll.decode() for imp in entry.imports: name = imp.name.decode() if imp.name else f"ord_{imp.ordinal}" if any(k in name.lower() for k in ['crypt', 'rsa', 'aes', 'key', 'encrypt', 'hash', 'rand']): print(f" {dll}: {name}") EOF # Analyze encrypted file structure python3 << 'EOF' import struct with open("encrypted_file.lockbit", "rb") as f: # Many ransomware families append metadata to encrypted files f.seek(-256, 2) # Read last 256 bytes trailer = f.read() print("Trailer hex:", trailer.hex()) # Look for: # - Encrypted AES key (RSA-encrypted, typically 128/256 bytes) # - Original file size # - IV / nonce # - File marker / magic bytes # Check file header f.seek(0) header = f.read(64) print("Header hex:", header.hex()) # Full-file encryption: high entropy from byte 0 # Partial encryption: original header partially intact EOF四种常见加密模式的含义决定了分析终点:
- Pattern A(RSA-2048 + AES-256-CBC 逐文件):每文件独立 AES 密钥由 RSA 私钥加密后附加在文件尾。除非攻击者私钥泄露(如 LockBit 曾被黑客出售),否则理论上不可破;
- Pattern B(Curve25519 + XSalsa20,Rust 实现):BlackCat/ALPHV 的典型组合,同样是"每文件密钥 + ECDH 包裹",恢复只能依赖官方解密器;
- Pattern C(RSA-2048 + ChaCha20):REvil、Hive 的路数,分析手段同 Pattern A;
- Pattern D(硬编码 AES 密钥):老一代 Dharma、STOP/Djvu 离线模式的致命弱点——密钥固定意味着可用统一解密器批量恢复,这正是 NoMoreRansom 上大量免费解密器存在的根源。
关于 trailer 分析:多数家族把"RSA 加密的 AES 密钥(128/256 字节)+ 原文件长度 + IV/nonce + 文件魔数"追加在密文尾部。读到该结构即可确认"文件级密钥包裹"模型;若尾部无任何附加结构且头部 64 字节熵已接近 8,则是整文件直接加密。pefile在 Decepticon 沙箱中同样可用(reverser 提示词声明环境内含python3-pefile),PE 导入表脚本可直接执行。
3. 密钥恢复技术(Key Recovery Techniques)
当官方解密器缺失时,按以下技术栈逐层尝试:
# Technique 1: Weak/Hardcoded Key (STOP/Djvu offline key, older variants) # If ransomware uses CryptGenRandom but falls back on failure: strings <TARGET> | grep -c "CryptGenRandom" # If absent → may use deterministic key derivation (time-based, PID-based) # Technique 2: Memory forensics — extract key from process memory vol3 -f memory.raw windows.memmap --pid <RANSOMWARE_PID> --dump # Search dump for AES key schedule patterns python3 << 'EOF' import re data = open("pid.<PID>.dmp", "rb").read() # AES-256 key schedule: 240 bytes with specific expansion pattern # Search for high-entropy 32-byte sequences near CryptoAPI structures candidates = [] for i in range(len(data) - 32): block = data[i:i+32] # Quick entropy check unique = len(set(block)) if unique > 28: # High byte diversity suggests key material candidates.append((i, block.hex())) print(f"Found {len(candidates)} candidates") for off, h in candidates[:20]: print(f" 0x{off:08x}: {h}") EOF # Technique 3: Known-plaintext attack # If you have the original unencrypted file AND the encrypted version: python3 << 'EOF' orig = open("original.docx", "rb").read() enc = open("original.docx.encrypted", "rb").read() # XOR to recover keystream (if XOR/stream cipher was used) keystream = bytes(a ^ b for a, b in zip(orig, enc)) print("First 64 bytes of keystream:", keystream[:64].hex()) # If keystream repeats → short key XOR → trivially breakable EOF # Technique 4: Flawed PRNG / implementation bugs # WannaCry: CryptGenRandom not called → primes recoverable from memory # Some Dharma: PID + timestamp as seed → predictable key # GandCrab v1: RSA key generation flaw → Bitdefender decryptor # Technique 5: Check for existing decryptors # NoMoreRansom project: nomoreransom.org # Emsisoft: emsisoft.com/ransomware-decryption # Kaspersky: noransom.kaspersky.com # Avast: avast.com/ransomware-decryption-tools各技术的适用前提:
- 硬编码/弱随机密钥:
strings | grep -c "CryptGenRandom"为 0 说明样本可能根本不调用系统 CSPRNG,密钥往往由时间戳、PID 等可预测量派生。技术 4 列出的历史案例(WannaCry 未调CryptGenRandom、部分 Dharma 以 PID+时间戳作种子、GandCrab v1 RSA 生成缺陷)验证了这条路径的现实价值; - 内存取证:
vol3是 Volatility 3 的命令行入口。Decepticon 沙箱注释明确说明volatility3不在基础镜像中,需要时pip install volatility3即可(见 containers/sandbox.Dockerfile 第 88-89 行注释)。内存转储中 28 个以上不同字节值的 32 字节高熵块是 AES-256 密钥的高召回粗筛,再结合 CryptoAPI 结构做精筛; - 已知明文攻击:仅对 XOR/流密码有效——恢复出 keystream 后若观察到周期性重复,即短密钥 XOR,可直接暴力破解;对 AES-CBC 等分组模式该法无效,但可确认"密钥是否跨文件复用";
- 既有解密器:这是性价比最高的一步,务必先于深度逆向执行,也是文末 Decision Gate 的第一分支。
4. 恢复抑制分析(Recovery Inhibition Analysis)
勒索软件在加密前会系统性破坏系统恢复能力,这些命令行字符串是静态分析中最稳定、误报率最低的家族/家族行为指纹:
# Shadow copy deletion strings <TARGET> | grep -iE 'vssadmin\s+delete\|shadows\s*/all' strings <TARGET> | grep -iE 'wmic\s+shadowcopy\s+delete' strings <TARGET> | grep -iE 'Get-WmiObject.*ShadowCopy.*Delete' # Boot recovery disabling strings <TARGET> | grep -iE 'bcdedit.*recoveryenabled.*no' strings <TARGET> | grep -iE 'bcdedit.*bootstatuspolicy.*ignoreallfailures' # Backup catalog deletion strings <TARGET> | grep -iE 'wbadmin\s+delete\s+catalog' strings <TARGET> | grep -iE 'delete\s+systemstatebackup' # Service stopping (databases, backups, AV) strings <TARGET> | grep -iE 'net\s+stop\|sc\s+stop\|taskkill\|Stop-Service' # Common targets: MSSQLSERVER, SQLAgent, MySQL, oracle, veeam, backup, sophos, defender # Attempt shadow copy recovery (if deletion failed or was partial) vssadmin list shadows # If shadows exist → mount and recover files # Check for Volume Shadow Copy remnants in raw disk # Even after vssadmin delete, data may persist until overwritten命中情况本身构成一份"恢复能力评估":影子副本删除(VSS)对应 ATT&CK T1490,服务停止对应 T1489。值得强调的是最后两点——vssadmin list shadows验证删除是否真正生效,以及vssadmin delete之后底层卷数据在被覆写前可能仍可恢复,这使得"立即断电隔离 + 原始磁盘镜像"成为处置勒索事件时保住数据的第一要务,而非尝试运行样本。
5. 勒索信解析与 IOC 提取(Ransom Note Parsing & IOC Extraction)
勒索信是双勒索(double extortion)事件中攻击者自留的"情报富矿"。技能文档给出一段完整的 Python 提取脚本,覆盖 .onion、BTC、XMR、邮箱与 victim ID 五类 IOC:
# Extract IOCs from ransom note python3 << 'EOF' import re with open("ransom_note.txt", "r", errors="ignore") as f: note = f.read() # Extract Tor onion URLs onions = re.findall(r'[a-z2-7]{16,56}\.onion', note) print("Tor URLs:", onions) # Extract Bitcoin addresses (P2PKH, P2SH, Bech32) btc = re.findall(r'\b[13][a-km-zA-HJ-NP-Z1-9]{25,34}\b', note) btc += re.findall(r'\bbc1[a-zA-HJ-NP-Z0-9]{25,90}\b', note) print("BTC addresses:", btc) # Extract Monero addresses xmr = re.findall(r'\b4[0-9AB][1-9A-HJ-NP-Za-km-z]{93}\b', note) print("XMR addresses:", xmr) # Extract email addresses emails = re.findall(r'[\w.+-]+@[\w-]+\.[\w.]+', note) print("Emails:", emails) # Extract victim/personal IDs victim_ids = re.findall(r'(?:ID|key|token|code)\s*[:=]\s*([A-Za-z0-9+/=\-]{16,})', note, re.I) print("Victim IDs:", victim_ids) EOF # Trace Bitcoin wallet for attribution # blockchain.com/explorer or blockchair.com # Check if wallet is tagged in ransomwhere.re database提取后的归因动作:将 BTC 钱包放入区块浏览器查首笔交易时间与历史入账,再对照勒索团伙钱包数据库(如 ransomwhere.re 的标注体系)做家族/团伙关联——同一支付门户钱包跨受害者复用的情况很常见,可把孤立事件并入已知行动脉络。victim ID 则是受害者间横向关联、以及后续核查"是否已有该家族解密器按 ID 发布密钥"的关键。
6. 二进制级行为分析(Binary-Level Behavioral Analysis)
在不运行样本的前提下,从字符串表还原勒索软件的运行逻辑:
# File enumeration logic strings <TARGET> | grep -iE '\.doc\|\.xls\|\.pdf\|\.jpg\|\.png\|\.sql\|\.mdb\|\.zip' # Ransomware typically targets specific file extensions and skips system files # Exclusion list (files/dirs ransomware avoids to keep OS bootable) strings <TARGET> | grep -iE 'windows\|system32\|boot\|ntldr\|bootmgr\|\.exe\|\.dll\|\.sys' # Skipping these is characteristic of ransomware (vs wipers) # Network enumeration (worm-like propagation) strings <TARGET> | grep -iE 'NetShareEnum\|WNetOpenEnum\|GetAdaptersInfo\|IcmpSendEcho' # SMB scanning → lateral movement before encryption # Process/service termination commands strings <TARGET> | grep -iE 'taskkill.*sql\|taskkill.*oracle\|taskkill.*backup' # Privilege escalation strings <TARGET> | grep -iE 'SeDebugPrivilege\|AdjustTokenPrivileges\|runas\|ShellExecute.*admin' # Anti-analysis checks strings <TARGET> | grep -iE 'IsDebuggerPresent\|CheckRemoteDebugger\|GetSystemDefaultLangID\|GetKeyboardLayout' # Language check: many ransomware families skip CIS countries (Russian keyboard = exit)这组检查回答了三个定性问题:
- 目标是数据还是系统?命中
\.doc|\.xls|\.sql等扩展名白名单、同时维护windows|system32|bootmgr排除列表的,是典型"保持系统可启动"的勒索软件;两者皆无、直接全盘覆写的,要按擦除器(wiper)处理; - 是否会横向传播?
NetShareEnum、WNetOpenEnum、IcmpSendEcho等 API 名指向蠕虫式扫描——这类样本(如 WannaCry)意味着隔离窗口以分钟计; - 动态运行是否可行?
IsDebuggerPresent、GetSystemDefaultLangID(键盘布局/语言判断,跳过独联体国家)等反分析检查的命中情况,直接决定下一步是否需要裸机分析环境(见 Edge Cases 表第一行)。
Decepticon 的bin_strings工具(tools/reversing/tools.py)对上述字符串挖掘提供了分类化封装:crypto、secret、url等类别自动打标并限量返回,减少 Agent 在原始 strings 输出中人工 grep 的负担;bin_packer则先给出整体熵值与打包器签名(UPX、Themida、VMProtect 等),若样本被壳保护需先解壳再做字符串分析——这与 reverser 提示词中"ifbin_packersays likely_packed, STOP and unpack first"的硬规则一致。
工具与资源清单
技能文档附带的工具表,按用途与获取方式整理如下:
| Tool | Purpose | Install |
|---|---|---|
| ID Ransomware | Family identification from note/sample | id-ransomware.malwarehunterteam.com |
| CyberChef | Crypto analysis, encoding/decoding | gchq.github.io/CyberChef |
| Emsisoft Decryptors | Free decryption tools | emsisoft.com/ransomware-decryption |
| NoMoreRansom | Decryptor repository | nomoreransom.org |
| ransomwhe.re | Ransomware payment tracking | ransomwhe.re |
| Volatility 3 | Memory forensics for key recovery | github.com/volatilityfoundation/volatility3 |
| YARA | Ransomware family signatures | github.com/Yara-Rules/rules |
| vssadmin | Shadow copy management | Built into Windows |
| Raccine | Ransomware vaccine (VSS protection) | github.com/Neo23x0/Raccine |
其中 Volatility 3 与 YARA 在 Decepticon 的 Kali 沙箱中分别以pip install volatility3与镜像预装方式提供(containers/sandbox.Dockerfile),vssadmin需在 Windows 取证环境执行,Raccine 则属于事前缓解手段(保护 VSS 接口不被恶意删除)。
检测签名(Detection Signatures)
同一份静态指纹在防御侧可直接翻译为检测规则,技能文档给出的映射如下:
| Indicator | Description | Detection |
|---|---|---|
| Mass file rename with new extension | Bulk encryption in progress | Sysmon File Create (Event 11) burst |
vssadmin delete shadows /all /quiet | Shadow copy deletion | Sysmon Event ID 1 + command line |
bcdedit /set recoveryenabled no | Recovery disabling | Sysmon Event ID 1 |
| Ransom note dropped in every directory | Encryption complete signal | File create events forREADME.txt,DECRYPT.txt |
| High-entropy file writes | Active encryption | I/O monitoring: write entropy > 7.9 |
| Services stopped in rapid succession | Pre-encryption service kill | Windows Event Log 7036 burst |
| Network share enumeration | Lateral movement / spread | NetShareEnum API calls, SMB traffic |
| Mutex creation with known names | Family identification | Sysmon Event ID 17 |
注意"write entropy > 7.9"与本文快速参考中 Python 熵值脚本的"fully encrypted"阈值一致——同一工程约定横跨"事后文件鉴定"与"事中写入监控"两个场景,可直接复用为 I/O 探针的判定参数。
错误处理与边界情况(Error Handling & Edge Cases)
分析过程中的典型卡点与对应处置:
| Issue | Resolution |
|---|---|
| Ransomware sample won't run (anti-VM) | Patch anti-analysis checks; use bare-metal analysis host |
| No ransom note found | Check alternate locations: Desktop, every drive root, C:\Users\Public |
| Encrypted file has zero additional bytes | Header-only encryption — may be partially recoverable |
| Wiper disguised as ransomware | Check if decryption key actually exists; analyze if key is generated but never saved |
| Double-encrypted (two families) | Decrypt in reverse order; identify families by extension stacking |
| Network-propagating variant | Isolate host immediately; analyze SMB/RDP lateral movement code |
| Key deleted from memory | Cold boot attack; check pagefile.sys, hiberfil.sys for key remnants |
两个高频陷阱值得单独强调:伪装成勒索软件的擦除器(生成密钥但从不落盘,导致"有解密流程、无解密器")——判定方法是核对密钥生成代码路径与密钥持久化路径是否连通;双重加密(两代勒索软件先后加密,扩展名叠加如.xxx.lockbit)——必须按"后加密者先解密"的逆序处理。
决策门(Decision Gate)
技能文档以一段伪代码收束整条工作流,明确了三条分叉及其优先级:
IF ransom note present: → Upload to ID Ransomware for family identification → Check NoMoreRansom / Emsisoft for free decryptor → Extract IOCs (onion URLs, BTC wallets, emails) → If decryptor exists → decrypt and recover IF no decryptor available: → Analyze encryption implementation in binary → Check for crypto weaknesses (hardcoded key, weak PRNG, implementation bugs) → Attempt memory forensics for key material → Check for intact shadow copies / backup catalog IF wiper suspected (no real key): → Document as destructive attack, not ransomware → Focus on IOC extraction and attribution → File recovery via disk carving (PhotoRec, foremost)其工程含义是:先查"有没有现成解密器"(成本最低、确定性最高),再进入"有没有密码学弱点"(技术上限高但成功率低),最后才是"没有密钥"时的数据恢复兜底(影子副本、磁盘雕刻)。这条决策链与 Decepticon reverser Agent 的宏观操作循环(TRIAGE → UNPACK → HARVEST → RISK → DEEPEN)形成互补:技能文档提供勒索场景的领域决策,Agent 框架提供工具执行与证据留痕(findings 记录、知识库图)的基础设施。
小结
本文所讲的 ransomware-analysis/SKILL.md 是 Decepticon 逆向赛道中专为勒索软件事件响应设计的操作手册,与 reverser 赛道入口、Reverser Agent 实现 及 二进制逆向工具链 共同构成"技能文档 → Agent 提示 → 沙箱工具"的三层结构:技能文档定义做什么(家族识别、加密分析、密钥恢复、IOC 提取),when_to_use关键词与mitre_attack图边决定 Agent 何时检索到它,bin_strings/bin_packer/bash 工具提供执行通道。对于独立使用本文命令的分析师而言,同样的工作流可在任意 Linux 取证环境中按 Decision Gate 的顺序复现。
【免费下载链接】Decepticon
Autonomous Hacking Agent for Red Team
相关推荐
Wannakey终极解密指南:WannaCry勒索软件内存密钥恢复方案
Wannakey终极解密指南:WannaCry勒索软件内存密钥恢复方案 在2017年席卷全球的WannaCry勒索软件攻击中,无数用户的文件被加密锁定。今天,我
网络安全密码学三分钟QQ空间备份:扫码登录不用输密码,历史说说全存本地
三分钟QQ空间备份:扫码登录不用输密码,历史说说全存本地 五年前那条说说还在,配图却打不开了。GetQzonehistory 做QQ空间备份很简单:手机扫一下码
网页爬虫数据分析分析固件加密:Binwalk算法识别与密钥恢复实战指南
分析固件加密:Binwalk算法识别与密钥恢复实战指南 你是否曾面对加密固件束手无策?当嵌入式设备固件被AES、DES等算法加密保护时,传统提取工具往往止步不前
固件嵌入式逆向工程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考