| name | eni-malware-analysis |
| description | [DOCUMENTATION ONLY] [仅文档] 全局自动路由 | Malware Analysis |
仅文档:本 Skill 提供方法与检查表,不宣称自带可执行脚本。
恶意软件分析手册
覆盖静态分析、沙箱行为观察、YARA / Sigma 规则化检测、IOC 提取与反反分析对抗。
方法论取向:静态 + 动态 + 行为三线并进,互相印证。
本手册适用对象
- 各类样本的取证分析(PE / ELF / Mach-O / APK / 脚本语言载荷)
- YARA 规则的编写与批量验证
- Sigma 行为检测规则的生成
- 沙箱任务的编排与结果汇总
- IOC 抽取与威胁情报整理
- 反分析手段的识别与应对
工作阶段总览
| 阶段 | 目标 | 主要动作 |
|---|
| 1. 分诊 | 快速建立第一印象 | 文件类型、哈希、字符串、头部异常、在线情报比对 |
| 2. 静态分析 | 不执行也能读出的行为线索 | 反编译、导入表、资源、字符串、TLS 回调 |
| 3. 行为观察 | 让样本在受控环境里跑出事实 | 沙箱、进程/文件/注册表/网络监控 |
| 4. 规则化 | 把发现固化成可复用检测 | YARA + Sigma |
| 5. 情报产出 | 沉淀为可分发资产 | IOC 分类、ATT&CK 映射、报告 |
阶段 1:初步分诊
file sample.exe
pecheck sample.exe
pescan sample.exe
strings sample.exe | grep -i "http\|cmd\|powershell\|base64"
rabin2 -zz sample.exe
floss sample.exe
diec sample.exe
sha256sum sample.exe
判断点:节表是否异常、入口点是否落在可疑节、字符串里是否埋着 URL/命令/编码块。
阶段 2:静态分析
反汇编/反编译工具:
□ IDA Pro / Ghidra: 深度反编译
□ radare2: CLI 快速分析
□ x64dbg: Windows GUI 调试器
优先检查的五块区域:
□ 入口点(Entry Point)→ 初始化与解密逻辑
□ 导入表 → 由 API 组合推断意图(CreateRemoteThread=注入, CryptEncrypt=勒索特征)
□ 资源段(.rsrc)→ 内嵌 Payload 的常见藏身处
□ 字符串表 → URL / C2 / 文件路径 / Base64 blob
□ TLS 回调 → 先于入口点执行的反调试窗口
阶段 3:沙箱行为观察
沙箱选项:
□ Joe Sandbox / ANY.RUN / Triage: 商用云沙箱
□ CAPE Sandbox: 开源 + YARA 集成(推荐自建)
□ ASD Azul: 2026 年 ASD 发布的开源大规模分析平台
□ Cuckoo Sandbox: 经典方案(生态逐步迁往 CAPE)
监控要点:
□ 进程创建: CreateProcess / ShellExecute
□ 文件写入: WriteFile 的路径与频率 → 勒索特征 / Wiper 特征
□ 注册表: Run / RunOnce 键 → 持久化意图
□ 网络: HTTP / DNS → C2 通信模式
□ 内存: VirtualAllocEx / WriteProcessMemory → 注入意图
□ 服务: CreateService → 驻留手段
阶段 4a:YARA 规则
rule MalwareFamily_Example {
meta:
description = "检测 Example 恶意软件家族"
author = "分析者"
date = "2026-05"
severity = "high"
hash = "d41d8cd98f00b204e9800998ecf8427e"
mitre_id = "T1055"
strings:
$str1 = "C2_SERVER_URL" ascii wide
$str2 = "payload.dat" ascii
// 字节模式: mov eax,[ebp-?]; push eax; call [import]; test eax,eax
$hex1 = { 8B 45 ?? 50 FF 15 [4] 85 C0 }
$re1 = /https?:\/\/[a-z0-9.-]+\/[a-z]{3,8}\.php/ ascii
condition:
uint16(0) == 0x5A4D and
filesize < 500KB and
(2 of ($str*) or $hex1)
}
阶段 4b:Sigma 规则
title: Suspicious Process Injection via CreateRemoteThread
id: 5a3d2c1b-1234-5678-9abc-def012345678
status: experimental
description: 全局自动路由 | 检测利用 CreateRemoteThread 的进程注入行为
author: 分析者
date: 2026/05/25
tags:
- attack.t1055
- attack.t1055.001
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith: '\powershell.exe'
CommandLine|contains:
- 'CreateRemoteThread'
- 'VirtualAllocEx'
- 'WriteProcessMemory'
condition: selection
falsepositives:
- 合法的调试工具
level: high
阶段 5:IOC 提取与情报
网络 IOC:
- IP: C2 地址(注明观察时间,注意时效)
- Domain: DGA 域名特征(rsnkfda.com, xpqmje.net 这类随机组合)
- URL: Payload 托管位置
- User-Agent: 自定义 UA
主机 IOC:
- 文件路径: %APPDATA%\Microsoft\Crypto\RSA\*.dat
- 注册表: HKCU\Software\Microsoft\Windows\CurrentVersion\Run\
- Mutex: Global\{GUID} 形式
- 服务名: 伪装成系统组件的名称
行为 IOC:
- MITRE ATT&CK 技术 ID(T1055, T1003, T1571 等)
- Sigma 规则 → SIEM 侧集成
- YARA 规则 → 端点侧落地
静态 IOC:
- 编译时间戳(注意可被伪造)
- PDB 路径(常含开发者信息)
- 非标准节名(不是常见 .text/.data 组合)
- 导入组合异常(CryptEncrypt + DeleteShadowCopies 这类勒索组合)
反分析技术速查
| 技术 | 识别方法 | YARA 特征 |
|---|
| 虚拟机检测 | WMI 查 Win32_BIOS/VideoController/Processor | Win32_ 字符串 + 厂商特征名 |
| 沙箱检测 | 磁盘 < 60GB、内存 < 2GB、单核 | GlobalMemoryStatusEx 调用模式 |
| 调试器检测 | IsDebuggerPresent 等 | PEB.BeingDebugged 偏移访问序列 |
| 定时逃逸 | Sleep(300000) 后再动作 | NtDelayExecution 长参数 |
| 区域排除 | 键盘布局/时区判断排除 CIS 国家 | GetKeyboardLayoutList 调用 |
| 父进程检测 | explorer.exe vs cmd.exe | 进程名字符串比较 |
| 直接 syscall | 绕过用户态 EDR hook | syscall 指令 + SSN 解析序列 |
多 Agent 自动化编排(SentinelHive 架构)
┌─────────────────────────────────────────────┐
│ Hive Director │
│ (编排 + 仲裁) │
└──────┬──────┬──────┬──────┬──────┬──────────┘
│ │ │ │ │
┌───┘ ┌───┘ ┌───┘ ┌───┘ ┌───┘
▼ ▼ ▼ ▼ ▼ ▼
Triage RE Behav Intel Detect Remed
分诊 反编译 行为 威胁 规则 修复
静态 动态 情报 YARA 方案
Sigma
工具链
| 工具 | 用途 | 获取 |
|---|
| Ghidra / IDA Pro | 深度反编译 | ghidra-sre.org |
| CAPE Sandbox | 开源恶意软件沙箱 | GitHub: kevoreilly/CAPEv2 |
| ASD Azul | 大规模自动化分析 | GitHub: ASD |
| YARA | 模式匹配规则引擎 | pip install yara-python |
| Sigma | SIEM 行为检测规则 | GitHub: SigmaHQ/sigma |
| FLOSS | 去混淆字符串提取 | pip install flare-floss |
| Detect It Easy | 壳/编译器识别 | GitHub: horsicq/Detect-It-Easy |
| pe-sieve | 进程内存扫描 | GitHub: hasherezade/pe-sieve |
| VirusTotal API | 多引擎扫描 | virustotal.com |
| MalwareBazaar | 样本情报库 | bazaar.abuse.ch |
参考
references/yara-sigma-rules.md — YARA + Sigma 编写方法论
references/sandbox-orchestration.md — 沙箱编排与自动化
references/anti-analysis-techniques.md — 94 种反分析技术检测