SuperAPI AI 工具集

ctf-malware

安全与审计

查看项目

更新于 10-16 04:40

技能介绍

CTF 恶意软件分析

本技能深入参考材料按需加载,根据识别出的具体方向选择对应文件:

  • 脚本反混淆与动态分析(JS/PowerShell/YARA/Shellcode/内存取证)→ references/scripts-and-obfuscation.md
  • C2 流量与自定义协议(RC4 WebSocket/DNS C2/AES-CBC/Telegram Bot)→ references/c2-and-protocols.md
  • PE/.NET 分析(peframe/dnSpy/LimeRAT/PyInstaller+PyArmor)→ references/pe-and-dotnet.md

【分类决策树】

恶意软件分析题?

  • 脚本类
    • JS → eval 替换为 console.log → 解码 unescape/atob
    • PowerShell → -enc base64 解码 → IEX 替换为输出
    • Bash → eval 替换为 echo → base64/hex 提取
    • Debian 包 → ar -x → 检查 postinst 脚本
  • 二进制类
    • PE → peframe/pestudio 快速分类 → references/pe-and-dotnet.md
    • .NET → dnSpy 反编译 → AsmResolver 编程分析
    • PyInstaller → pyinstxtractor 提取 → PyArmor 脱壳
    • 查加密常量: AES S-box(0x637c777b) / ChaCha20 / TEA(0x9E3779B9) / RC4
  • 流量分析
    • PCAP → tshark 提取流 → 识别 C2 模式
    • 自定义加密 → 找密钥 → 按时间序拼接解密
    • DNS C2 → 域名编码 / DGA 模式
    • RC4 WebSocket → tcprewrite 重映射端口 → 找 RC4 密钥
  • 反分析检测
    • VM 检测 → CPUID/MAC/注册表/磁盘大小
    • 调试器 → PEB/时间检测/API 哈希
    • 进程注入 → hollowing/APC/CreateRemoteThread
  • 内存取证 → vol3 malfind + YARA 扫描

【快速分析命令】

文件快速分类: file malware && strings -n 8 malware | head -50

提取网络指标: strings malware | grep -E '[0-9]{1,3}(.[0-9]{1,3}){3}'

PCAP 流量分析: tshark -r capture.pcap -Y "tcp.stream eq 0" -T fields -e tcp.payload

PE 分析: peframe malware.exe

内存取证: vol3 -f memory.dmp windows.malfind vol3 -f memory.dmp windows.pstree

【加密算法识别】

特征与算法对应:

  • S-box 0x637c777b → AES
  • expand 32-byte k → ChaCha20
  • 0x9E3779B9 → TEA/XTEA
  • 256 字节 S-box 顺序初始化 → RC4
  • MD5/SHA256(硬编码字符串)→ AES-CBC 密钥派生

【YARA 速查】 rule XOR_Loop { strings: $xor = { 31 ?? 80 ?? ?? 4? 75 } condition: $xor }

【反混淆技巧】

  • JavaScript:eval → console.log
  • PowerShell:-enc base64 解码 / IEX → 输出
  • Bash:eval → echo
  • 垃圾代码:过滤 NOP/push-pop/死写 → 提取真实 call

【Shellcode 分析】 objdump -b binary -m i386:x86-64 -D shellcode.bin # 反汇编 Unicorn 模拟执行 / Capstone 编程反汇编

【PowerShell 混淆】 多层嵌套编码,需递归解码(可能多层混淆)。

【C2 流量分析】 DNS C2:检查子域名(subdomain)、qname 查询域名中的编码数据。