02. Cyber Kill Chain® 模型
智能安全事件可观测性 · 攻击阶段参考
一、模型概述
1.1 什么是 Cyber Kill Chain
Cyber Kill Chain® 由 Lockheed Martin 公司于 2011 年开发,是描述网络攻击各个阶段的数学模型,最初用于描述有针对性的高级持续性威胁(APT)攻击的完整生命周期。
官网: https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html
论文: 《Intelligence-Driven Computer Network Defense Supporting Coinfection with an Advanced Persistent Threat》
框架演进:
| 年份 | 版本 | 核心变化 |
|---|---|---|
| 2011 | v1.0 | 原始 7 阶段模型 |
| 2013 | v1.5 | 增加 "Weaponization" 细化 |
| 2015 | v2.0 | 与 MITRE ATT&CK 映射 |
| 2017 | v2.5 | 云环境攻击链扩展 |
| 2020 | v3.0 | 勒索软件专项攻击链 |
| 2025 | v4.0 | AI 驱动攻击链 |
核心价值:
1.2 经典七阶段模型
┌─────────────────────────────────────────────────────────────────────┐
│ Cyber Kill Chain® 完整攻击链 │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Stage 1 │ │ Stage 2 │ │ Stage 3 │ │ Stage 4 │ │
│ │ 侦察 │──▶│ 武器化 │──▶│ 投递 │──▶│ 利用 │ │
│ │Reconnaissance│Weaponization│Delivery│Exploitation│ │
│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │ │
│ │ ┌─────┴──────────────┘ │ │
│ │ ▼ │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ └──▶│ Stage 6 │◀──│ Stage 5 │◀──│ Stage 7 │◀──┘ │
│ │ 命令控制 │ │ 安装 │ │ 行动完成 │ │
│ │ C2 │ │Installation│Actions on Obj│ │
│ └─────────┘ └─────────┘ └─────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────┘1.3 各阶段核心指标
| 阶段 | 名称 | 攻击者目标 | 防御窗口 | 业务影响 | 检测优先级 |
|---|---|---|---|---|---|
| Stage 1 | 侦察 Reconnaissance | 收集情报 | 长 | 低 | 🟡 中 |
| Stage 2 | 武器化 Weaponization | 制作武器 | 中 | 低 | 🟡 中 |
| Stage 3 | 投递 Delivery | 送达目标 | 短 | 高 | 🔴 极高 |
| Stage 4 | 利用 Exploitation | 执行代码 | 极短 | 高 | 🔴 高 |
| Stage 5 | 安装 Installation | 建立持久化 | 短 | 高 | 🔴 高 |
| Stage 6 | 命令控制 C2 | 保持通信 | 极短 | 极高 | 🔴 极高 |
| Stage 7 | 行动完成 Actions on Objective | 达成目的 | 无 | 极高 | 🔴🔴 紧急 |
二、Stage 1:侦察(Reconnaissance)
2.1 阶段定义
攻击者目标: 收集目标组织的信息,了解防御薄弱点,为攻击做准备。
侦察本质: 知己知彼,百战不殆。攻击者花费大量时间在侦察阶段,优质的情报收集是成功攻击的关键。
2.2 被动侦察 vs 主动侦察
| 类型 | 定义 | 可检测性 | 隐蔽性 | 成本 |
|---|---|---|---|---|
| 被动侦察 | 不直接接触目标,收集公开信息 | ⭐⭐ | ⭐⭐⭐⭐⭐ | 低 |
| 主动侦察 | 直接探测目标,发现开放端口/漏洞 | ⭐⭐⭐⭐ | ⭐⭐ | 中 |
| 社会工程侦察 | 利用人性弱点获取信息 | ⭐⭐⭐ | ⭐⭐⭐ | 低 |
2.3 被动侦察方法详解
搜索引擎情报 (OSINT):
| 方法 | 工具 | 收集内容 |
|---|---|---|
| Google Hacking | Google Search | 配置错误、敏感文件 |
| 域名信息 | WHOIS、RDAP | 注册信息、DNS 服务器 |
| 证书查询 | crt.sh、Censys | 子域名、指纹 |
| 邮箱收集 | theHarvester、Hunter | 员工邮箱、组织结构 |
| 社交媒体 | LinkedIn、Twitter | 员工信息、技术栈 |
DNS 侦察技术:
# 基础域名查询
dig example.com NS
dig example.com MX
dig example.com TXT
# 子域名枚举
amass enum -passive -d example.com
subfinder -d example.com
# DNS 区域传送
dig axfr example.com @ns1.example.com
# 反向 DNS
dig -x 192.0.2.1GitHub 侦察:
| 搜索内容 | GitHub Dork 示例 |
|---|---|
| 密码泄露 | filename:.env password= |
| API Keys | filename:config.json api_key |
| 数据库配置 | filename:database.yml mysql |
| 源代码 | path:appveyor.yml username |
| 内部文档 | org:target internal confidential |
2.4 主动侦察方法详解
网络扫描:
| 工具 | 用途 | 检测难度 |
|---|---|---|
| Nmap | 端口扫描、服务发现 | ⭐⭐⭐⭐ |
| Masscan | 高速端口扫描 | ⭐⭐⭐⭐⭐ |
| RustScan | 现代端口扫描 | ⭐⭐⭐⭐ |
| Zmap | 互联网扫描 | ⭐⭐⭐⭐⭐ |
漏洞扫描:
| 工具 | 覆盖范围 | 检测难度 |
|---|---|---|
| Nessus | 全面漏洞扫描 | ⭐⭐⭐⭐ |
| OpenVAS | 开源漏洞扫描 | ⭐⭐⭐ |
| Nexpose | 企业漏洞管理 | ⭐⭐⭐⭐ |
| Nikto | Web 服务器扫描 | ⭐⭐⭐ |
典型扫描行为特征:
端口扫描特征:
- TCP SYN 扫描: 大量 SYN 包,不同端口
- TCP CONNECT: 完成三次握手
- UDP 扫描: 开放端口无响应
检测阈值:
- 15分钟内扫描 > 100端口
- 来自单一源 IP 的高频扫描
- 扫描时间集中在夜间/周末2.5 社会工程侦察
常见手法:
| 方法 | 说明 | 目标信息 |
|---|---|---|
| 电话钓鱼 | 伪装 IT 人员索取密码 | 凭据 |
| LinkedIn 钓鱼 | 伪装猎头/合作方 | 员工信息 |
| 现场侦察 | 物理进入、WiFi 嗅探 | 物理安全 |
| 垃圾箱搜索 | 翻找垃圾文件 | 敏感文件 |
2.6 侦察阶段检测
检测矩阵:
| 数据源 | 检测特征 | 阈值 | 告警级别 |
|---|---|---|---|
| DNS 日志 | 异常域名查询 | > 100次/小时 | 🟡 中 |
| DNS 日志 | DNSSEC 失败查询 | 持续出现 | 🟡 中 |
| NetFlow | 端口扫描模式 | > 50端口/分钟 | 🔴 高 |
| WAF 日志 | 扫描行为 | 检测到扫描特征 | 🟡 中 |
| 邮件网关 | 钓鱼目标搜索 | 异常邮件查询 | 🟡 中 |
| Proxy 日志 | Google Dorking | 搜索敏感词 | 🟢 低 |
防御建议:
防御措施:
├── 限制 DNS 查询频率
├── 部署 IDS/IPS
├── 配置蜜罐服务
├── 员工安全意识培训
└── 定期安全审计三、Stage 2:武器化(Weaponization)
3.1 阶段定义
攻击者目标: 将恶意代码与载体结合,制作可利用的攻击工具。
武器化本质: 把"子弹"装入"枪膛",准备发射。
3.2 常见武器类型
恶意文档:
| 类型 | 格式 | 利用方式 | 检测难度 |
|---|---|---|---|
| Office 宏病毒 | .docm, .xlsm | VBA 宏执行 | ⭐⭐ |
| Office 漏洞文档 | .doc, .xls | CVE 漏洞 | ⭐⭐⭐⭐ |
| PDF 恶意文件 | JavaScript 漏洞 | ⭐⭐⭐ | |
| RTF 恶意文件 | .rtf | 栈溢出 | ⭐⭐⭐⭐ |
恶意软件类型:
| 类型 | 功能 | 示例 | 检测难度 |
|---|---|---|---|
| 远控木马 (RAT) | 远程控制 | Cobalt Strike, PlugX | ⭐⭐⭐ |
| 勒索软件 | 文件加密 | LockBit, REvil | ⭐⭐ |
| 窃密木马 | 凭据窃取 | RedLine, Raccoon | ⭐⭐ |
| 僵尸网络 | DDoS/挖矿 | Mirai, Emotet | ⭐⭐⭐ |
| 无文件恶意软件 | 内存驻留 | PowerShell 负载 | ⭐⭐⭐⭐ |
Web Shell:
| 类型 | 语言 | 特征 |
|---|---|---|
| Webshell | PHP/ASP/JSP | 后门文件 |
| 一句话木马 | 多种 | 简短代码 |
| 冰蝎 | Java | 加密通信 |
| 哥斯拉 | ASP.NET | 加密通信 |
3.3 武器化流程
3.4 免杀技术详解
常用免杀技术:
| 技术 | 说明 | 检测绕过能力 |
|---|---|---|
| 加壳 (Packing) | UPX、AES 加密 | ⭐⭐⭐ |
| 代码混淆 | 变量混淆、控制流平坦化 | ⭐⭐⭐ |
| 内存混淆 | 进程注入、Module Stomping | ⭐⭐⭐⭐ |
| 数字签名 | 盗用签名、白签名 | ⭐⭐⭐⭐ |
| 白名单绕过 | Living Off the Land | ⭐⭐⭐⭐⭐ |
| 无文件技术 | WMI Event、PowerShell | ⭐⭐⭐⭐⭐ |
常用免杀工具:
| 工具 | 功能 | 使用场景 |
|---|---|---|
| Veil | 生成免杀 Payload | Cobalt Strike |
| Shellter | 注入式加壳 | 逃避 AV |
| Unicorn | PowerShell 混淆 | 无文件攻击 |
| Meta Twin | 签名盗用 | 白签名绕过 |
3.5 武器化检测
沙箱检测指标:
| 行为 | 检测特征 | 说明 |
|---|---|---|
| 进程行为 | 创建可疑进程 | cmd.exe → powershell.exe |
| 注册表 | 修改启动项 | Run 键写入 |
| 网络行为 | 连接 C2 服务器 | DNS/HTTP 请求 |
| 文件行为 | 创建可执行文件 | 写入 System32 |
| 加密行为 | 检测反沙箱 | 检测虚拟机 |
样本特征检测:
高危样本特征:
- 熵值 > 7.0 (加密/加壳)
- 包含可疑字符串: password, cmd.exe, powershell
- 导入表异常: LoadLibrary, GetProcAddress
- 资源节包含可执行代码四、Stage 3:投递(Delivery)
4.1 阶段定义
攻击者目标: 将攻击武器送达目标,这是攻击链中第一个与受害者直接交互的阶段。
关键统计: 65% 的初始访问通过钓鱼邮件实现。
4.2 投递方式分布
📊 初始访问向量统计 (Verizon DBIR 2024)
🔴 钓鱼邮件攻击 ───────────────────── 45%
🟠 恶意网站/水坑 ─────────────────── 20%
🟠 远程服务弱口令 ─────────────────── 15%
🟡 供应链攻击 ───────────────────── 10%
🟢 物理访问 ───────────────────────── 5%
🟢 其他 ──────────────────────────── 5%4.3 钓鱼邮件投递详解
钓鱼邮件攻击链:
钓鱼邮件类型:
| 类型 | 说明 | 检测难度 | 危害程度 |
|---|---|---|---|
| 群发钓鱼 | 广撒网式 | ⭐ | 中 |
| 鱼叉钓鱼 | 定向目标 | ⭐⭐⭐ | 高 |
| 商业邮件欺诈 (BEC) | 伪冒高管 | ⭐⭐⭐⭐ | 极高 |
| 语音钓鱼 (Vishing) | 电话诈骗 | ⭐⭐⭐ | 高 |
钓鱼邮件检测特征:
检测规则: Phishing_Email_Detection
条件:
- 发件人域名 ≠ 声称的域名
- 包含短链接 (< 20 字符)
- 附件为可执行文件 (.exe, .js, .vbs)
- 正则匹配: "invoice|payment|urgent|account"
- SPF/DKIM/DMARC 验证失败
严重级别: High
动作:
- 隔离邮件
- 通知安全团队
- 创建事件工单4.4 恶意网站投递
水坑攻击 (Watering Hole):
攻击者入侵目标组织经常访问的网站,等待目标访问时感染。
路过式下载 (Drive-by Download):
用户访问恶意网站时,自动下载并执行恶意代码。
攻击流程:
1. 侦察 ──▶ 发现目标常访问网站
2. 入侵 ──▶ 篡改网站,植入恶意代码
3. 等候 ──▶ 用户访问网站
4. 感染 ──▶ 自动下载/浏览器漏洞利用
5. 控制 ──▶ 建立持久化4.5 USB 介质投递
攻击场景:
| 类型 | 说明 | 检测难度 |
|---|---|---|
| 恶意 U 盘 | 物理放置恶意 U 盘 | ⭐ |
| USB 充电攻击 | 仅充电却访问数据 | ⭐⭐ |
| BadUSB | USB 固件篡改 | ⭐⭐⭐⭐⭐ |
| 键盘注入器 | 伪装成键盘输入恶意命令 | ⭐⭐⭐⭐ |
4.6 供应链投递
攻击路径:
攻击者 ──▶ 第三方供应商 ──▶ 软件更新 ──▶ 用户系统
│
▼
入侵开发环境
篡改源代码
发布恶意更新著名案例:
| 事件 | 年份 | 影响 | 攻击手法 |
|---|---|---|---|
| SolarWinds | 2020 | 18000+ 企业 | 更新包植入后门 |
| CCleaner | 2017 | 230万用户 | 开发环境篡改 |
| NotPetya | 2017 | 全球损失 $10B | M.E.Doc 更新污染 |
| 3CX | 2023 | 数百企业 | 供应链投毒 |
4.7 投递阶段检测
边界防护检测矩阵:
| 设备 | 检测内容 | 技术手段 |
|---|---|---|
| 邮件网关 | 恶意附件、钓鱼链接 | 文件扫描、URL 分析、沙箱 |
| WAF | Web 攻击、恶意上传 | 签名匹配、行为分析 |
| 防火墙 | 可疑出站连接 | 状态检测、IPS |
| DNS 过滤 | 恶意域名解析 | DNSRPZ、威胁情报 |
| 沙箱 | 可疑文件行为 | 动态执行分析 |
| 浏览器隔离 | Web 内容安全 | 远程浏览器隔离 (RBI) |
五、Stage 4:利用(Exploitation)
5.1 阶段定义
攻击者目标: 利用漏洞或弱点执行恶意代码,获取系统访问权限。
利用本质: 打开攻击的"大门",进入目标系统。
5.2 漏洞利用类型
按利用方式分类:
| 类型 | 说明 | 示例 | 检测难度 |
|---|---|---|---|
| RCE | 远程代码执行 | EternalBlue, Log4Shell | ⭐⭐⭐⭐ |
| 本地提权 | 提升当前权限 | Dirty Pipe, MS16-032 | ⭐⭐⭐ |
| SQL 注入 | 数据库操作 | UNION 注入、盲注 | ⭐⭐ |
| XSS | 前端脚本执行 | 存储型 XSS | ⭐⭐ |
| CSRF | 跨站请求伪造 | 状态更改操作 | ⭐⭐ |
按攻击向量分类:
| 类型 | 说明 | 示例 | 检测难度 |
|---|---|---|---|
| 网络漏洞 | 远程利用 | RDP 漏洞、VPN 漏洞 | ⭐⭐⭐ |
| 客户端漏洞 | 用户触发 | 浏览器漏洞、Office 漏洞 | ⭐⭐ |
| 0-day | 未知漏洞 | APT 组织独有漏洞 | ⭐⭐⭐⭐⭐ |
| N-day | 已公开漏洞 | 补丁未修复 | ⭐⭐ |
5.3 漏洞利用流程
5.4 无文件攻击(Fileless Attack)
定义: 不依赖文件落地,直接在内存中执行攻击代码。
技术类型:
| 技术 | 说明 | 示例 | 检测难度 |
|---|---|---|---|
| PowerShell 攻击 | 使用 PowerShell 执行恶意代码 | Invoke-Mimikatz |
⭐⭐⭐⭐ |
| WMI 攻击 | 使用 WMI 执行代码 | WMI Event Consumer | ⭐⭐⭐⭐ |
| HTA 攻击 | HTML Application 执行 | 恶意 HTA 文件 | ⭐⭐⭐ |
| Office 宏攻击 | VBA 执行恶意代码 | 恶意宏文档 | ⭐⭐ |
| 内存注入 | 进程注入、 DLL 注入 | Process Hollowing | ⭐⭐⭐⭐ |
PowerShell 无文件攻击链:
1. 混淆脚本 ──▶ Base64 编码
2. 执行 ──▶ powershell -enc <encoded>
3. 下载 ──▶ IEX DownloadString
4. 内存执行 ──▶ 不落地执行5.5 利用阶段检测
检测矩阵:
| 数据源 | 检测特征 | 告警级别 |
|---|---|---|
| EDR | Office → PowerShell 进程链 | 🔴 高 |
| EDR | 异常进程创建、注入 | 🔴 高 |
| HIDS | 栈溢出、可疑 shellcode | 🔴🔴 极高 |
| NIDS | 漏洞利用特征流量 | 🔴 高 |
| 系统日志 | 认证异常、短时多次失败 | 🟡 中 |
| 应用日志 | SQL 注入、XSS 攻击特征 | 🟡 中 |
EDR 检测规则示例:
规则名称: Exploitation_PowerShell_Detection
条件:
- 进程是 powershell.exe
- 父进程是 office 或 explorer
- 命令行包含 encoded/base64
严重级别: High
检测数据源: EDR Process Events
规则名称: Exploitation_Memory_Injection
条件:
- 检测进程内存写入另一个进程
- 写入的代码段包含MZ头
严重级别: Critical
检测数据源: EDR Memory Events六、Stage 5:安装(Installation)
6.1 阶段定义
攻击者目标: 建立持久化,保持对系统的长期控制,即使系统重启或凭据更改也能继续访问。
持久化本质: 在目标环境中"扎根",实现长期潜伏。
6.2 Windows 持久化技术
注册表持久化:
| 技术 | 注册表路径 | 说明 | 检测难度 |
|---|---|---|---|
| Run 键 | HKCU\...\Run |
用户登录执行 | ⭐⭐⭐ |
| RunOnce | HKCU\...\RunOnce |
单次执行 | ⭐⭐⭐ |
| Services | HKLM\...\Services |
服务创建 | ⭐⭐⭐ |
| IFEO | HKLM\...\FileOpenName |
镜像劫持 | ⭐⭐⭐⭐ |
计划任务持久化:
| 技术 | 命令 | 检测难度 |
|---|---|---|
| schtasks | schtasks /create /tn |
⭐⭐⭐ |
| at | at \\hostname time command (旧) |
⭐⭐ |
| cron | Linux 计划任务 | ⭐⭐ |
| Systemd Timer | Linux 定时任务 | ⭐⭐⭐ |
服务持久化:
WMI 持久化:
| 技术 | 说明 | 检测难度 |
|---|---|---|
| Permanent Event Consumer | 永久 WMI 事件订阅 | ⭐⭐⭐⭐⭐ |
| ActiveScriptEventConsumer | VBS/JS 执行 | ⭐⭐⭐⭐⭐ |
| CommandLineEventConsumer | 命令执行 | ⭐⭐⭐⭐⭐ |
启动文件夹持久化:
| 位置 | 路径 | 检测难度 |
|---|---|---|
| 用户启动 | %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup |
⭐ |
| 系统启动 | %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup |
⭐⭐ |
| Linux ~/.bashrc | Shell 初始化脚本 | ⭐⭐ |
6.3 Linux 持久化技术
| 技术 | 路径/命令 | 检测难度 |
|---|---|---|
| SSH Key | ~/.ssh/authorized_keys |
⭐⭐ |
| Cron | /etc/cron.d, crontab -e |
⭐⭐ |
| rc.local | /etc/rc.local |
⭐⭐ |
| Systemd | /etc/systemd/system/ |
⭐⭐⭐ |
| Startup | /etc/init.d/ |
⭐⭐ |
| LD_PRELOAD | 环境变量劫持 | ⭐⭐⭐⭐ |
| Rootkit | 内核模块 | ⭐⭐⭐⭐⭐ |
6.4 持久化检测策略
检测矩阵:
| 检测点 | 说明 | 方法 | 覆盖技术 |
|---|---|---|---|
| 服务创建 | 非预期服务 | 服务创建监控 | Windows 服务 |
| 计划任务 | 异常调度任务 | 任务调度审计 | schtasks |
| 注册表 | Run 键异常 | 注册表监控 | Run 键、IFEO |
| 后门文件 | Webshell | 文件完整性 | Webshell |
| SSH Key | 未授权 Key | authorized_keys 监控 | SSH Key |
| 异常进程 | 可疑持久化进程 | 启动项审计 | 各类持久化 |
持久化检测命令:
# Windows: 检查 Run 键
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
# Windows: 检查计划任务
schtasks /query /fo LIST /v
# Windows: 检查服务
sc query type= service state= all
# Linux: 检查 cron
cat /etc/crontab
ls -la /etc/cron.d/
# Linux: 检查 SSH Key
cat ~/.ssh/authorized_keys
# Linux: 检查启动项
ls -la /etc/init.d/
systemctl list-unit-files七、Stage 6:命令控制(Command and Control)
7.1 阶段定义
攻击者目标: 与被控系统保持通信,远程接收指令、发送数据,实现对目标的持续控制。
C2 本质: 攻击者的"神经中枢",所有后续行动都依赖 C2 通信。
7.2 C2 协议类型详解
| 协议 | 端口 | 特征 | 检测难度 | 隐蔽性 |
|---|---|---|---|---|
| HTTP/S | 80/443 | 伪装正常 Web 流量 | ⭐⭐⭐ | ⭐⭐⭐ |
| DNS | 53 | 低速、穿透防火墙 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| ICMP | - | 极隐蔽、慢速 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| SSH | 22 | 加密隧道 | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| SMB | 445 | 横向通信 | ⭐⭐ | ⭐⭐ |
| TCP/UDP | 任意 | 自定义协议 | ⭐⭐⭐⭐ | ⭐⭐ |
协议选择策略:
选择依据:
├── 出站限制: HTTP/S (80/443) 通常最开放
├── 检测规避: DNS/ICMP 避开深度包检测
├── 带宽需求: HTTP/S 支持大流量
└── 隐蔽需求: DNS/ICMP 流量极小7.3 C2 通信模式
HTTP/S C2 通信:
受害者 ──▶ HTTP POST ──▶ C2 服务器
◀── 200 OK + 指令 ◀──
特征:
- 固定间隔心跳
- 特定 User-Agent
- JA3/JA4 指纹可识别DNS C2 通信:
受害者 ──▶ DNS 查询 (编码数据) ──▶ DNS 服务器 ──▶ C2 服务器
◀── DNS 响应 (指令) ◀──
数据编码方式:
- 随机子域名
- DNS TXT 记录
- DNS-over-HTTPSC2 心跳检测:
| 框架 | 心跳间隔 | 变化特征 |
|---|---|---|
| Cobalt Strike | 60s (默认) | 可配置 |
| Metasploit | 30s | 固定 |
| Mythic | 随机 | Jitter 参数 |
| Sliver | 可配置 | 随机变化 |
7.4 知名 C2 框架
| 框架 | 语言 | 特点 | 检测难度 |
|---|---|---|---|
| Cobalt Strike | Java | 完整 C2、Aggressor 脚本 | ⭐⭐⭐ |
| Metasploit | Ruby | 框架+模块、MSF console | ⭐⭐⭐ |
| Mythic | Python/Go | 跨平台、现代设计 | ⭐⭐⭐ |
| Covenant | C# | .NET 生态、Web UI | ⭐⭐⭐ |
| Sliver | Go | 跨平台、EDR 规避 | ⭐⭐⭐⭐ |
| Brute Ratel | C | 绕过 AV、定制化 C2 | ⭐⭐⭐⭐⭐ |
| PoshC2 | Python/PowerShell | 纯 PowerShell | ⭐⭐⭐⭐ |
7.5 JA3/JA4 TLS 指纹检测
JA3 计算流程:
TLS Client Hello 包含:
├── TLS 版本
├── 密码套件列表
├── 扩展列表
└── 椭圆曲线
组合 → MD5 哈希 = JA3 指纹JA3 示例:
正常浏览器:
JA3: 4bf7e17d73f46c0e29c1a532ba8ed0e9
Cobalt Strike:
JA3: a0e9f5d64349fd1c5e7a5a5e7b5d1c5e
检测规则:
- 白名单: 已知正常 JA3 列表
- 黑名单: 已知恶意 JA3 列表
- 异常: 不在白名单也非黑名单 → 告警7.6 C2 检测策略
检测矩阵:
| 检测方法 | 说明 | 准确率 | 覆盖协议 |
|---|---|---|---|
| JA3/JA4 指纹 | TLS 客户端指纹 | > 90% | HTTP/S |
| DNS Tunnel 检测 | 查询频率、编码特征 | > 85% | DNS |
| 心跳检测 | C2 心跳间隔异常 | > 80% | 所有 |
| DGA 检测 | 随机域名生成算法 | > 85% | DNS |
| 横向行为 | SMB/RDP 异常 | > 75% | SMB/RDP |
C2 检测规则:
规则名称: C2_HTTP_Beaconing
条件:
- 同一外部 IP 持续连接
- 请求间隔固定 (偏差 < 10%)
- 请求大小相似 (偏差 < 20%)
- JA3 不在白名单
严重级别: Critical
规则名称: DNS_Tunneling_Detection
条件:
- DNS 查询频率 > 50次/分钟
- 子域名长度 > 50字符
- 查询非白名单域名
- TXT 记录查询异常
严重级别: High八、Stage 7:行动完成(Actions on Objective)
8.1 阶段定义
攻击者目标: 完成最终攻击意图,可能是数据窃取、勒索、破坏或维持访问。
行动本质: 攻击的"收获"阶段,所有前期工作都是为了这一刻。
8.2 攻击意图分类
| 意图 | 说明 | 检测难度 | 业务影响 |
|---|---|---|---|
| 数据窃取 | 敏感数据外传 | ⭐⭐⭐⭐ | 极高 |
| 勒索加密 | 文件加密勒索 | ⭐⭐ | 极高 |
| 破坏性攻击 | 数据销毁、系统瘫痪 | ⭐⭐ | 灾难性 |
| 长期控制 | 建立长期据点 | ⭐⭐⭐ | 高 |
8.3 数据窃取攻击链
数据窃取检测点:
| 阶段 | 检测特征 | 告警级别 |
|---|---|---|
| 内部侦察 | 异常文件访问、权限查询 | 🟡 中 |
| 数据定位 | 访问敏感目录、大量文件列举 | 🟡 中 |
| 权限提升 | 获得高权限、访问敏感数据 | 🔴 高 |
| 数据收集 | 大量文件读取、压缩打包 | 🔴 高 |
| 数据打包 | 创建压缩文件、异常加密 | 🔴 高 |
| 数据外传 | 异常上传、非标准协议外传 | 🔴🔴 极高 |
8.4 勒索软件攻击链
勒索攻击七阶段:
Stage 1: 初始入侵 ──▶ 钓鱼邮件、RDP 弱口令
Stage 2: 权限获取 ──▶ 凭据窃取、提权
Stage 3: 内网扩散 ──▶ 横向移动、凭据重用
Stage 4: 数据收集 ──▶ 敏感文件定位
Stage 5: 数据打包 ──▶ 加密打包、准备外传
Stage 6: 文件加密 ──▶ AES+RSA 双重加密
Stage 7: 勒索信息 ──▶ 勒索页面、赎金要求勒索加密检测:
规则名称: Ransomware_Encryption_Detection
条件:
- 进程操作 > 100 个文件/分钟
- 检测到卷影删除命令 (vssadmin, wbadmin)
- 检测到文件扩展名变更 (.encrypted, .locked)
- 检测到勒索信息文件 (READ_ME.txt, *.html)
- 进程尝试停止安全服务
严重级别: Critical
动作:
- 立即隔离主机
- 停止进程
- 备份当前状态
- 触发勒索响应预案8.5 破坏性攻击
攻击类型:
| 类型 | 说明 | 影响 | 检测难度 |
|---|---|---|---|
| 数据销毁 | 磁盘擦除、文件删除 | 数据永久丢失 | ⭐⭐ |
| 系统瘫痪 | 停止关键服务 | 业务中断 | ⭐⭐ |
| 物理破坏 | 硬件损坏 (需物理访问) | 设备损坏 | ⭐⭐⭐⭐⭐ |
NotPetya 攻击链:
1. M.E.Doc 更新 ──▶ 初始感染
2. WMExec ──▶ 本地扩散
3. PsExec ──▶ 横向移动
4. 凭据窃取 ──▶ 哈希传递
5. 永恒之蓝 ──▶ 进一步扩散
6. Disk wipe ──▶ MBT 覆写8.6 行动阶段检测
关键检测点:
| 动作 | 检测特征 | 数据源 | 告警级别 |
|---|---|---|---|
| 数据打包 | 大量文件压缩、异常加密 | EDR | 🔴🔴 极高 |
| 卷影删除 | vssadmin delete shadows | Windows Event | 🔴🔴 极高 |
| 文件加密 | 大量文件操作、扩展名变更 | EDR | 🔴🔴 极高 |
| 服务停止 | 关键服务终止 | System Log | 🔴 高 |
| 凭据访问 | LSASS 进程访问、SAM 读取 | Security Log | 🔴 高 |
| 数据外传 | 异常上传流量、大文件外传 | NDR/DLP | 🔴🔴 极高 |
九、防御阶段模型
9.1 纵深防御架构
9.2 各阶段防护措施
| Kill Chain 阶段 | 预防措施 | 检测措施 | 响应措施 |
|---|---|---|---|
| 侦察 | 最小化暴露面 | 流量监控、威胁情报 | 封锁源 IP |
| 武器化 | 沙箱检测、代码签名 | 样本分析、行为检测 | 样本入库、规则更新 |
| 投递 | 邮件过滤、Web 过滤 | 沙箱检测、URL 分析 | 隔离邮件、封锁域名 |
| 利用 | 补丁管理、最小化攻击面 | EDR、漏洞扫描 | 隔离主机、补丁推送 |
| 安装 | 应用白名单、权限控制 | 注册表监控、计划任务审计 | 清除后门、账号重置 |
| C2 | 防火墙出站限制 | NDR、DNS 监控、JA3 | 隔离主机、封锁 C2 |
| 行动 | 数据分类、加密、备份 | DLP、文件监控、流量分析 | 隔离、取证、恢复 |
9.3 响应时限矩阵
| 阶段 | 检测窗口 | 响应时限目标 | 说明 |
|---|---|---|---|
| 侦察 | 较长 | 30 分钟 | 攻击者试探,发现相对容易 |
| 武器化 | 中等 | 15 分钟 | 准备阶段,检测窗口较长 |
| 投递 | 短 | 5 分钟 | 边界防护重点 |
| 利用 | 极短 | 1 分钟 | 终端防护关键 |
| 安装 | 短 | 1 分钟 | 持久化前清除 |
| C2 | 极短 | 30 秒 | 网络检测关键 |
| 行动 | 无 | 立即 | 尽可能减少损失 |
十、与 ATT&CK 映射
10.1 映射总表
| Kill Chain 阶段 | ATT&CK 战术 | ATT&CK 技术 | 检测重点 |
|---|---|---|---|
| 侦察 | TA0043 Reconnaissance | T1595, T1593, T1597 | 网络扫描、社交工程 |
| 武器化 | TA0042 Resource Development | T1587, T1588 | Exploit 开发、Payload 定制 |
| 投递 | TA0001 Initial Access | T1566, T1190, T1078 | 钓鱼、漏洞利用、凭据 |
| 利用 | TA0002 Execution | T1059, T1204, T1106 | 脚本执行、用户交互 |
| 安装 | TA0003 Persistence | T1547, T1053, T1543 | 注册表、计划任务、服务 |
| C2 | TA0010 Command and Control | T1071, T1573, T1095 | C2 协议、加密隧道 |
| 行动 | TA0009 Collection | T1005, T1039, T1074 | 数据收集、打包 |
| TA0011 Exfiltration | T1041, T1567, T1048 | 数据外传 | |
| TA0040 Impact | T1486, T1489, T1490 | 加密、破坏 |
10.2 完整攻击链检测覆盖
十一、攻击链重构案例
11.1 SolarWinds 攻击链(2020)
攻击概述: 历史上最复杂的供应链攻击之一,影响 18000+ organizations。
攻击链重构:
Stage 1: 侦察
├── 目标: SolarWinds 开发人员
├── 方法: 密码喷洒、社会工程
└── 发现: VPN 凭据泄露
Stage 2-3: 武器化 + 投递
├── 植入代码: SUNSPOT
├── 篡改: Orion 软件构建过程
└── 投递: 官方更新包 (v2019.4 - v2020.2.1)
Stage 4-5: 利用 + 安装
├── 恶意代码: SUNBURST
├── 持久化: 伪装成合法 Orion 进程
└── 休眠: 延迟 12-14 天激活
Stage 6: C2
├── C2 服务器: avsvmcloud.com
├── 通信: DNS TXT 记录
└── 冒充: 合法 SolarWinds 通信
Stage 7: 行动
├── 横向移动: Azure/AD
├── 数据窃取: 邮件、文档
└── 次级攻击: 针对受害企业关键检测点:
| 阶段 | 检测方法 | 实际检测情况 |
|---|---|---|
| C2 | DNS 异常查询 | FireEye 内部发现 |
| C2 | SUNBURST 特征 | 多个安全厂商发现 |
| 横向 | Azure AD 异常 | 微软内部发现 |
| 外传 | 邮件系统异常 | 部分受害企业发现 |
11.2 NotPetya 攻击链(2017)
攻击概述: 史上最具破坏性的勒索软件攻击之一,总损失超过 $10B。
攻击链重构:
Stage 1: 初始入侵
├── 入口: M.E.Doc 乌克兰会计软件
└── 方法: 利用漏洞获取初始访问
Stage 2-3: 武器化 + 投递
├── 恶意更新包: 通过 M.E.Doc 自动更新
├── 注入代码: ExPetr/Petya 变种
└── 伪装: 勒索软件,实际是数据销毁
Stage 4-5: 利用 + 安装
├── 本地扩散: WMExec (WMI 执行)
├── 横向移动: PsExec、永恒之蓝
└── 凭据窃取: 内存明文密码
Stage 6-7: C2 + 行动
├── 加密: MBR 覆写 (MBT)
├── 勒索: $300 比特币赎金
└── 破坏: 数据不可恢复教训:
关键问题:
├── 补丁未及时安装 (永恒之蓝 MS17-010)
├── 域管理员凭据复用
├── 网络分段不足
└── 备份策略不完善
改进措施:
├── 及时打补丁
├── 最小权限原则
├── 网络分段隔离
└── 离线备份十二、检测规则实战
12.1 完整检测规则集
钓鱼邮件投递检测:
规则名称: Phishing_Attachment_Detection
战术: Delivery (Kill Chain Stage 3)
条件:
- 邮件附件类型: exe/js/vbs/ps1/cpl
- 或 邮件包含短链接 < 20 字符
- 或 发件人域名 ≠ SPF/DKIM 验证
严重级别: High
动作:
- 隔离邮件
- 创建事件工单
- 通知安全团队恶意执行检测:
规则名称: Suspicious_Process_Execution
战术: Execution (Kill Chain Stage 4)
条件:
- 父进程: outlook, word, excel, iexplore
- 子进程: powershell, cmd, wscript
- 命令行包含: -enc, -encoded, DownloadString
严重级别: Critical
动作:
- 告警
- 保存进程链
- 触发调查持久化检测:
规则名称: Persistence_Registry_Modification
战术: Installation (Kill Chain Stage 5)
条件:
- 注册表写入: HKCU\...\Run
- 进程不是已知的安装程序
- 写入的值包含 http:// 或 UNC 路径
严重级别: High
动作:
- 告警
- 备份注册表
- 触发响应C2 检测:
规则名称: C2_Beaconing_Detection
战术: Command and Control (Kill Chain Stage 6)
条件:
- 同一外部 IP 持续连接 > 10 次
- 请求间隔标准差 < 5% (固定心跳)
- 请求大小标准差 < 20%
- JA3 不在已知白名单
严重级别: Critical
动作:
- 隔离主机
- 保存网络流量
- 触发事件调查数据外传检测:
规则名称: Data_Exfiltration_Detection
战术: Actions on Objective (Kill Chain Stage 7)
条件:
- 主机外传流量 > 100MB 在 5 分钟内
- 目标端口非业务常用端口
- 数据目的地非已知业务 IP
- 异常协议: DNS、TFTP、ICMP
严重级别: Critical
动作:
- 告警
- 保存流量
- 阻断连接十三、防御成熟度评估
13.1 防御能力自评表
| Kill Chain 阶段 | 基础 (1) | 发展 (2) | 成熟 (3) | 优化 (4) |
|---|---|---|---|---|
| 侦察 | 日志保留 | 流量监控 | 威胁情报集成 | AI 异常检测 |
| 武器化 | 基础扫描 | 沙箱部署 | 动态行为分析 | 自动化响应 |
| 投递 | 邮件过滤 | URL 过滤 | 沙箱检测 | 远程浏览器隔离 |
| 利用 | 防病毒 | EDR | 行为检测 | 内存保护 |
| 安装 | 日志审计 | 注册表监控 | 完整性检测 | 应用白名单 |
| C2 | FW 日志 | NDR | JA3 指纹 | AI C2 检测 |
| 行动 | 备份 | DLP | 流量监控 | 威胁狩猎 |
13.2 成熟度特征
| 级别 | 名称 | 检测时间 | 响应时间 | 自动化程度 |
|---|---|---|---|---|
| L1 | 初始级 | > 24 小时 | > 1 天 | 无 |
| L2 | 基础级 | < 24 小时 | < 4 小时 | 基础 |
| L3 | 发展级 | < 1 小时 | < 1 小时 | 部分 |
| L4 | 成熟级 | < 10 分钟 | < 30 分钟 | 大部分 |
| L5 | 优化级 | < 1 分钟 | < 5 分钟 | 全面 |
十四、参考链接
| 资源 | 链接 |
|---|---|
| Lockheed Martin 官网 | https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html |
| 原始论文 | 《Intelligence-Driven Computer Network Defense》 |
| MITRE ATT&CK | https://attack.mitre.org/ |
| CISA 网络防御 | https://www.cisa.gov/cyber-incident-response |
| Verizon DBIR | https://www.verizon.com/business/resources/reports/dbir/ |
Last updated: 2026-06-02