ioc-analysis

$npx mdskill add wgpsec/AboutSecurity/ioc-analysis

Analyze and neutralize indicators of compromise for threat hunting or C2 planning.

  • Collects, enriches, and correlates IOCs from logs, sandboxes, and network traffic.
  • Integrates with VirusTotal, Shodan, PassiveDNS, and MITRE ATT&CK frameworks.
  • Prioritizes threats using the IOC Pyramid of Pain to minimize replacement difficulty.
  • Outputs actionable intelligence for blue team hunting or red team OPSEC planning.

SKILL.md

.github/skills/ioc-analysisView on GitHub ↗
---
name: ioc-analysis
description: "IOC(失陷指标)分析与对抗方法论。蓝队视角:如何收集、富化、关联 IOC 进行威胁猎杀。红队视角:如何避免自身基础设施和工具产生可识别的 IOC,以及如何使 IOC 快速失效。当红队需要评估自身暴露面或规划 C2 基础设施时使用"
metadata:
  tags: "ioc,indicator,threat-intel,c2-infrastructure,opsec,威胁情报,失陷指标,基础设施,归因"
  category: "threat-intel"
  mitre_attack: "T1583,T1584,T1588,T1608,T1071"
---

# IOC 分析与对抗

> **红队定位**:理解蓝队如何追踪你 → 设计短生命周期、不可关联的基础设施

## ⛔ 深入参考

- C2 基础设施 OPSEC 清单 → [references/c2-infra-opsec.md](references/c2-infra-opsec.md)
- IOC 类型与生命周期管理 → [references/ioc-lifecycle.md](references/ioc-lifecycle.md)

---

## IOC 金字塔(Pyramid of Pain)

```
难以更换                     防御者价值高
   ▲
   │  TTPs(战术/技术/过程)      ← 最难改变
   │  工具特征(Imphash/YARA)    ← 需重新编译
   │  网络/主机 Artifact          ← 需改行为模式
   │  域名                        ← 需新注册
   │  IP 地址                     ← 最容易换
   │  哈希值                      ← 改一字节即变
   ▼
容易更换                     防御者价值低
```

**红队策略:确保自己的 IOC 处于金字塔底部(容易更换),避免暴露顶部(TTP 不可变)**

## Part A: 蓝队视角 — IOC 收集与分析

### IOC 类型

| 类型 | 示例 | 采集来源 |
|------|------|---------|
| 文件哈希 | MD5/SHA256 | 终端/沙箱/VirusTotal |
| IP 地址 | C2 服务器 IP | 网络日志/PCAP |
| 域名 | C2/钓鱼域名 | DNS 日志/证书透明度 |
| URL/URI | C2 路径 | 代理日志/HTTP 日志 |
| Email | 发件人/附件名 | 邮件网关 |
| 注册表 | 持久化键值 | 终端检测 |
| 进程 | 进程名/命令行 | EDR/Sysmon |
| 文件路径 | 恶意文件位置 | 终端检测 |
| 证书 | SSL 证书哈希 | JA3/JARM |
| 网络签名 | JA3/JA3S/JARM | 流量分析 |

### IOC 富化流程

```
原始 IOC → 富化 → 关联
├─ 文件哈希 → VirusTotal/MalwareBazaar → 家族/来源/关联样本
├─ IP → Shodan/Censys/GreyNoise → 服务/端口/历史
├─ 域名 → PassiveDNS/Whois/CT Logs → 注册信息/关联域
├─ 证书 → crt.sh/Censys → 关联域名/IP
└─ JA3 → JA3er → 客户端指纹识别
```

---

## Part B: 红队视角 — IOC 对抗

### 策略 1: 基础设施分离与轮换

```
C2 基础设施设计原则:
├─ 分层架构:
│   攻击者 → Redirector(多个/轮换) → TeamServer(隐藏)
│   被发现的只是 Redirector → 换一个 IP 即可
│
├─ 域名策略:
│   ├─ 注册 30 天以上的域名(新域名有风险评分)
│   ├─ 使用合法分类的域名(非新注册/非恶意分类)
│   ├─ 域前置(Domain Fronting)→ CDN 背后真正的 C2
│   └─ 使用被接管的合法子域名(更可信)
│
├─ IP 策略:
│   ├─ 使用云服务商 IP(AWS/Azure/GCP)→ 难以封锁
│   ├─ 每次行动新建 VPS → 不复用 IP
│   └─ 使用 CDN/反代 → 隐藏真实 IP
│
└─ 证书策略:
    ├─ 使用 Let's Encrypt 证书(最常见,不突出)
    ├─ 或购买与目标同类的商业证书
    └─ ⛔ NEVER 使用自签名证书 → JA3S/JARM 特征明显
```

### 策略 2: 工具特征消除

```
文件级 IOC 对抗:
├─ 每次行动重新编译 → SHA256 变化
├─ 使用 Garble/Shikata 多态编码 → YARA 规则失效
├─ 修改 Rich Header / 编译时间 → Imphash 变化
├─ 资源签名替换 → 看起来像合法软件
└─ 代码混淆/虚拟化 → 静态分析失效

网络级 IOC 对抗:
├─ JA3 指纹 → 使用合法浏览器 TLS 库/配置
├─ User-Agent → 匹配目标环境真实浏览器
├─ URI 模式 → 模仿合法 SaaS API(/api/v1/events)
├─ 心跳间隔 → 加大 Jitter(30-50%),不要固定间隔
└─ 数据大小 → 添加 padding 避免固定包大小
```

### 策略 3: 归因对抗

```
防止被关联到同一组织/行动:
├─ 不同行动使用完全独立的基础设施
├─ 工具重新编译(不同编译器/选项/时间)
├─ 不复用 C2 Profile / Malleable 模板
├─ 注册信息使用一次性邮箱 + 不同注册商
├─ 支付使用加密货币 → Monero 优于 Bitcoin
└─ 时区/语言特征随机化
```

### 策略 4: IOC 生命周期缩短

```
让蓝队收集到的 IOC 快速过时:
├─ 短期 C2 域名 → 48h 后切换
├─ 一次性 Payload → 每个目标唯一编译
├─ 短期 VPS → 行动结束即销毁
├─ 快速阶段切换 → 初始访问 ≠ 驻留 ≠ 数据外传
└─ Payload 自毁 → 执行后删除自身
```

## 红队 C2 基础设施检查清单

```
部署前检查:
[ ] 域名注册 > 30 天 + 已分类
[ ] SSL 证书为 LE 或商业证书(非自签名)
[ ] Redirector 已配置(Apache/Nginx/Cloudflare)
[ ] TeamServer 无直接公网暴露
[ ] JA3 指纹匹配合法客户端
[ ] JARM 指纹不匹配已知 C2 框架
[ ] User-Agent 匹配目标环境
[ ] 域名 Whois 隐私保护已启用
[ ] IP 不在已知恶意 IP 列表中(VirusTotal/AbuseIPDB 检查)
[ ] DNS 记录无异常(无 TXT payload / 多 A 记录)

行动中检查:
[ ] 监控 C2 域名/IP 的 VT 检出率
[ ] Redirector 日志无异常扫描
[ ] 备用 C2 channel 已测试
[ ] 轮换计划已确认

行动后:
[ ] 销毁所有 VPS 实例
[ ] 销毁所有 Redirector
[ ] 确认无 DNS 残留指向已销毁 IP
```

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|