| name | ctf-malware |
| description | 提供 CTF 挑战中恶意软件分析和网络流量技术。适用于分析混淆脚本、恶意包、自定义加密协议、C2 流量、PE/.NET 二进制文件、RC4/AES 加密通信、YARA 规则、Shellcode 分析、恶意软件内存取证(Volatility malfind、进程注入检测)、反分析技术(VM/沙箱检测、时间逃逸、API 哈希、进程注入、环境检查)或提取恶意软件配置和入侵指标。 |
| license | MIT |
| compatibility | 需要基于文件系统的 Agent(Claude Code 或类似工具),以及 bash、Python 3 和安装工具所需的网络访问。 |
| allowed-tools | Bash Read Write Edit Glob Grep Task WebFetch WebSearch |
| metadata | {"user-invocable":"false"} |
CTF 恶意软件与网络分析
恶意软件分析 CTF 挑战的快速参考。每个技术在此仅有一行摘要,详细代码请参阅支撑文件。
前置条件
Python 包(所有平台):
pip install yara-python pefile capstone oletools unicorn pycryptodome \
volatility3 dissect.cobaltstrike
Linux(apt):
apt install strace ltrace tshark binwalk binutils
macOS(Homebrew):
brew install wireshark binwalk binutils ghidra
手动安装:
- dnSpy — GitHub,.NET 反编译器(Windows)
附加资源
- scripts-and-obfuscation.md — JavaScript 反混淆、PowerShell 分析、eval/base64 解码、垃圾代码检测、十六进制载荷、Debian 包分析、动态分析技术(strace/ltrace、网络监控、内存字符串提取、自动化沙箱执行)、YARA 恶意软件检测规则、Shellcode 分析(Unicorn Engine、Capstone)、恶意软件内存取证(Volatility 3 malfind、进程注入检测)、反分析技术(VM 检测、时间逃逸、API 哈希、进程注入)、使用自定义字母表 C2 解码的木马化插件分析
- c2-and-protocols.md — C2 流量模式、自定义加密协议、RC4 WebSocket、基于 DNS 的 C2、网络指标、PCAP 分析、AES-CBC、加密识别、Telegram 机器人恢复、Poison Ivy RAT Camellia 解密
- pe-and-dotnet.md — PE 分析(peframe、pe-sieve、pestudio)、.NET 分析(dnSpy、AsmResolver)、LimeRAT 提取、沙箱逃逸、恶意软件配置提取、PyInstaller+PyArmor
何时切换方向
- 如果样本实际上只是普通的 crackme、加壳挑战二进制文件或没有恶意行为的自定义 VM,切换到
/ctf-reverse。
- 如果主要任务是网络重建、磁盘雕刻或主机痕迹恢复,切换到
/ctf-forensics。
- 如果挑战变成公开归因或基础设施追踪,切换到
/ctf-osint。
快速入门命令
file suspicious_file
strings -n 8 suspicious_file | head -50
xxd suspicious_file | head -20
python3 -c "import pefile; pe=pefile.PE('mal.exe'); print(pe.dump_info())" | head
peframe mal.exe
strace -f -s 200 ./suspicious 2>&1 | head -100
ltrace ./suspicious 2>&1 | head -50
strings suspicious_file | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
strings suspicious_file | grep -iE 'http|ftp|ws://'
yara -r rules.yar suspicious_file
混淆脚本
JavaScript 和 PowerShell 反混淆
- JS:将
eval 替换为 console.log,解码 unescape()、atob()、String.fromCharCode()。
- PowerShell:解码
-enc base64,将 IEX 替换为输出。参见 scripts-and-obfuscation.md。
垃圾代码检测
PCAP 和网络分析
tshark -r file.pcap -Y "tcp.stream eq X" -T fields -e tcp.payload
寻找异常端口上的 C2。使用 strings | grep 提取 IP/域名。参见 c2-and-protocols.md。
自定义加密协议
C2 流量模式
RC4 加密 WebSocket C2
识别加密算法
- AES:
0x637c777b S 盒;ChaCha20:expand 32-byte k;TEA/XTEA:0x9E3779B9;RC4:顺序 S 盒初始化。参见 c2-and-protocols.md。
恶意软件中的 AES-CBC
PE 分析
peframe malware.exe
pe-sieve
pestudio
参见 pe-and-dotnet.md。
.NET 恶意软件分析
- 使用 dnSpy/ILSpy 反编译;AsmResolver 进行程序化分析。LimeRAT C2:AES-256-ECB,MD5 派生密钥。参见 pe-and-dotnet.md。
恶意软件配置提取
沙箱逃逸检查
反分析技术
VM 检测(CPUID、MAC 前缀、注册表、磁盘大小)、时间逃逸(sleep/RDTSC 沙箱检测)、API 哈希(ROR13/DJB2/CRC32 + hashdb 查询)、进程注入(hollowing、APC、CreateRemoteThread)、环境检查。参见 scripts-and-obfuscation.md。
木马化插件分析
将恶意插件与官方发布版本进行 diff,查找 try/except 块中注入的代码。自定义字母表旋转(C[(C.index(ch) - offset) % len(C)])解码 C2 域名,XOR 解码端点路径。参见 scripts-and-obfuscation.md。
PyInstaller + PyArmor 脱壳
Telegram 机器人证据恢复
Debian 包分析
ar -x package.deb && tar -xf control.tar.xz
参见 scripts-and-obfuscation.md。
YARA 恶意软件检测规则
编写 YARA 规则来匹配文件或内存转储中的字节模式、字符串和正则表达式。检测 XOR 循环({31 ?? 80 ?? ?? 4? 75})、base64 blob、编码的 PowerShell。使用 yarac 编译以加快扫描。参见 scripts-and-obfuscation.md。
Shellcode 分析
使用 objdump -b binary -m i386:x86-64 反汇编,使用 Unicorn Engine 模拟(安全地 hook 系统调用),或使用 Capstone 进行程序化反汇编。查找 XOR 解码桩。参见 scripts-and-obfuscation.md。
恶意软件内存取证
vol3 windows.malfind 检测注入代码(没有映射文件的 PAGE_EXECUTE_READWRITE)。windows.pstree 揭示可疑的父子关系。使用 yarascan.YaraScan 对内存进行 YARA 扫描。参见 scripts-and-obfuscation.md。
网络指标快速参考
strings malware | grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
tshark -r capture.pcap -Y "dns.qry.name" -T fields -e dns.qry.name | sort -u