skills/threat-intel/ioc-analysis/SKILL.md
IOC(失陷指标)分析与对抗方法论。蓝队视角:如何收集、富化、关联 IOC 进行威胁猎杀。红队视角:如何避免自身基础设施和工具产生可识别的 IOC,以及如何使 IOC 快速失效。当红队需要评估自身暴露面或规划 C2 基础设施时使用
npx skillsauth add wgpsec/AboutSecurity ioc-analysisInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
红队定位:理解蓝队如何追踪你 → 设计短生命周期、不可关联的基础设施
难以更换 防御者价值高
▲
│ TTPs(战术/技术/过程) ← 最难改变
│ 工具特征(Imphash/YARA) ← 需重新编译
│ 网络/主机 Artifact ← 需改行为模式
│ 域名 ← 需新注册
│ IP 地址 ← 最容易换
│ 哈希值 ← 改一字节即变
▼
容易更换 防御者价值低
红队策略:确保自己的 IOC 处于金字塔底部(容易更换),避免暴露顶部(TTP 不可变)
| 类型 | 示例 | 采集来源 | |------|------|---------| | 文件哈希 | MD5/SHA256 | 终端/沙箱/VirusTotal | | IP 地址 | C2 服务器 IP | 网络日志/PCAP | | 域名 | C2/钓鱼域名 | DNS 日志/证书透明度 | | URL/URI | C2 路径 | 代理日志/HTTP 日志 | | Email | 发件人/附件名 | 邮件网关 | | 注册表 | 持久化键值 | 终端检测 | | 进程 | 进程名/命令行 | EDR/Sysmon | | 文件路径 | 恶意文件位置 | 终端检测 | | 证书 | SSL 证书哈希 | JA3/JARM | | 网络签名 | JA3/JA3S/JARM | 流量分析 |
原始 IOC → 富化 → 关联
├─ 文件哈希 → VirusTotal/MalwareBazaar → 家族/来源/关联样本
├─ IP → Shodan/Censys/GreyNoise → 服务/端口/历史
├─ 域名 → PassiveDNS/Whois/CT Logs → 注册信息/关联域
├─ 证书 → crt.sh/Censys → 关联域名/IP
└─ JA3 → JA3er → 客户端指纹识别
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 特征明显
文件级 IOC 对抗:
├─ 每次行动重新编译 → SHA256 变化
├─ 使用 Garble/Shikata 多态编码 → YARA 规则失效
├─ 修改 Rich Header / 编译时间 → Imphash 变化
├─ 资源签名替换 → 看起来像合法软件
└─ 代码混淆/虚拟化 → 静态分析失效
网络级 IOC 对抗:
├─ JA3 指纹 → 使用合法浏览器 TLS 库/配置
├─ User-Agent → 匹配目标环境真实浏览器
├─ URI 模式 → 模仿合法 SaaS API(/api/v1/events)
├─ 心跳间隔 → 加大 Jitter(30-50%),不要固定间隔
└─ 数据大小 → 添加 padding 避免固定包大小
防止被关联到同一组织/行动:
├─ 不同行动使用完全独立的基础设施
├─ 工具重新编译(不同编译器/选项/时间)
├─ 不复用 C2 Profile / Malleable 模板
├─ 注册信息使用一次性邮箱 + 不同注册商
├─ 支付使用加密货币 → Monero 优于 Bitcoin
└─ 时区/语言特征随机化
让蓝队收集到的 IOC 快速过时:
├─ 短期 C2 域名 → 48h 后切换
├─ 一次性 Payload → 每个目标唯一编译
├─ 短期 VPS → 行动结束即销毁
├─ 快速阶段切换 → 初始访问 ≠ 驻留 ≠ 数据外传
└─ Payload 自毁 → 执行后删除自身
部署前检查:
[ ] 域名注册 > 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
testing
Azure 云环境渗透测试总体方法论。当目标使用 Azure/Microsoft 365/Entra ID、发现 Azure 相关资产(Blob Storage/App Service/Azure VM/Azure Functions)、获取 Azure 凭据(Service Principal/Managed Identity/Access Token)、或需要对 Azure 环境进行安全评估时使用。提供从未授权枚举到 Entra ID 攻击、服务提权、Cloud-to-OnPrem 横向移动的全流程决策树。覆盖 35+ Azure 服务攻击面
tools
Mythic C2 操作方法论。当需要部署 Mythic、选择 Mythic Agent、安装 C2 Profile、配置 HTTP/DNS/WebSocket/SMB/TCP 通信、生成 payload、管理回连任务,或把 Mythic 作为跨平台 C2 框架用于授权红队演练时使用。覆盖 mythic-cli 安装、Agent/Profile 选择、SSL 证书配置、payload 构建和基础 OPSEC 判断
development
Docker 安全测试与容器渗透方法论。当需要评估 Docker 容器、Docker Daemon、Docker Registry、镜像层、构建产物或容器逃逸风险时使用。覆盖容器环境识别、特权容器逃逸、docker.sock/Remote API 利用、procfs/cgroup/capabilities 滥用、Docker 用户组提权、运行时/内核 CVE、Registry 枚举、镜像层 Secret 分析和构建上下文泄露。发现 Docker 容器环境、Registry 暴露、镜像凭据或容器配置错误时应使用此技能
development
使用 PadBuster 进行 Padding Oracle 攻击。当发现 Web 应用使用 CBC 模式加密且存在 Padding Oracle 漏洞时使用。PadBuster 可自动解密密文和伪造任意明文对应的合法密文,适用于加密 Cookie/Token/URL 参数。任何涉及 Padding Oracle 攻击、CBC 密文解密、Cookie 伪造的场景都应使用此技能