| name | implementing-attack-path-analysis-with-xm-cyber |
| description | 部署 XM Cyber 持续暴露管理平台,映射攻击路径、识别阻塞点(Choke Points),并对威胁关键资产的 2% 高风险暴露点进行优先排序。
|
| domain | cybersecurity |
| subdomain | vulnerability-management |
| tags | ["xm-cyber","attack-path-analysis","exposure-management","ctem","choke-points","breach-simulation","attack-surface"] |
| version | 1.0 |
| author | mahipal |
| license | Apache-2.0 |
使用 XM Cyber 实施攻击路径分析(Implementing Attack Path Analysis with XM Cyber)
概述
XM Cyber 是一个持续暴露管理平台,通过攻击图分析识别攻击者如何将漏洞、错误配置、身份风险和凭据弱点串联起来,进而触达关键业务资产。根据 XM Cyber 2024 年的研究(分析了 1,150 万个实体中的超过 4,000 万个暴露点),企业平均约有 15,000 个可利用暴露点,但传统 CVE 漏洞不足总暴露点的 1%。该平台发现,只有 2% 的暴露点位于多条攻击路径汇聚的"阻塞点"上,使安全团队能够以最小工作量消除最大风险。
前置条件
- XM Cyber 平台授权和租户访问权限
- 与受监控环境的网络连通性(本地、云、混合)
- 用于 Agent 部署或无代理集成的管理员访问权限
- 云提供商 API 访问权限(AWS、Azure、GCP),用于云攻击路径分析
- Active Directory 只读访问权限,用于基于身份的攻击路径建模
- 定义关键业务资产的 CMDB 或资产清单
核心概念
攻击图分析
与时间点漏洞扫描不同,XM Cyber 对整个环境中所有可能的攻击路径进行持续建模:
| 传统扫描 | XM Cyber 攻击路径分析 |
|---|
| 列出单个漏洞 | 映射串联攻击路径 |
| 按 CVSS 评分 | 按可达关键资产的距离评分 |
| 时间点评估 | 持续实时建模 |
| 不考虑横向移动 | 建模完整横向移动链 |
| 独立处理每个漏洞 | 展示漏洞如何串联组合 |
XM Cyber 研究关键指标(2024)
| 发现 | 数据 |
|---|
| 企业平均暴露点数量 | ~15,000 |
| 基于 CVE 的暴露点 | < 总量的 1% |
| 基于错误配置的暴露点 | ~总量的 80% |
| 位于关键阻塞点的暴露点 | 2% |
| 攻击者可从本地横向进入云端的企业 | 70% |
| 云端关键资产可在 2 步内被攻陷 | 93% |
| 云平台中存在暴露的关键资产 | 56% |
阻塞点概念
阻塞点(Choke Point)是位于多条通向关键资产的攻击路径交汇处的单一实体(主机、身份、凭据、错误配置)。修复一个阻塞点可同时消除多条攻击路径,以最小修复工作量实现最大风险降低。
攻击路径 1:Web 服务器 -> SQL 注入 -> 数据库管理员凭据
\
攻击路径 2:VPN -> 被盗凭据 -> 文件服务器 -> 域控制器
/ (关键资产)
攻击路径 3:工作站 -> Mimikatz -> 缓存凭据
^
阻塞点
(缓存的域管理员凭据)
暴露点类别
| 类别 | 占比 | 示例 |
|---|
| 身份与凭据 | 40% | 缓存凭据、过度授权账号、可 Kerberoast 的 SPN |
| 错误配置 | 38% | 开放共享、弱权限、缺少加固配置 |
| 网络暴露 | 12% | 开放端口、平面网络、缺少分段 |
| 软件漏洞 | 8% | 未修补的 CVE、过时软件 |
| 云暴露 | 2% | IAM 错误配置、公开存储、过度宽松角色 |
实施步骤
步骤 1:定义关键资产(业务上下文)
关键资产定义:
一级 - 核心资产(Crown Jewels):
- 域控制器(Active Directory)
- 含 PII/财务数据的数据库服务器
- ERP 系统(SAP、Oracle)
- 证书颁发机构服务器
- 备份基础设施(Veeam、Commvault)
二级 - 高价值资产:
- 邮件服务器(Exchange)
- 含知识产权/商业机密的文件服务器
- CI/CD 流水线服务器
- 跳板服务器 / PAM 保险库
三级 - 支撑基础设施:
- DNS/DHCP 服务器
- 监控系统
- 日志基础设施
步骤 2:部署 XM Cyber 传感器
部署架构:
本地部署:
- 在管理服务器上安装 XM Cyber 传感器
- 配置 AD 集成(只读服务账号)
- 启用网络发现协议
- 设置扫描范围(IP 范围、AD OU)
云端(AWS):
- 通过 CloudFormation 部署 XM Cyber CloudConnect
- 配置具有只读权限的 IAM 角色
- 为多账号组织启用跨账号扫描
云端(Azure):
- 通过 Azure Marketplace 部署
- 配置 Entra ID(Azure AD)集成
- 在订阅上授予 Reader 角色
混合环境:
- 配置跨环境路径分析
- 映射本地到云端的信任关系
- 启用跨环境的身份关联
步骤 3:配置攻击场景
场景 1:外部攻击者到域管理员
起始点: 互联网暴露资产
目标: 域管理员权限
攻击技术:利用公开 CVE、凭据窃取、横向移动、权限提升
场景 2:内部威胁到财务数据
起始点: 任何企业工作站
目标: 财务数据库服务器
攻击技术:凭据收集、共享枚举、权限提升、数据访问
场景 3:云账号接管
起始点: 受攻陷的云 IAM 用户
目标: 生产云基础设施
攻击技术:IAM 权限提升、跨账号横移、存储访问、计算资源攻陷
场景 4:勒索软件传播
起始点: 被钓鱼的工作站
目标: 最大化主机攻陷(横向扩散)
攻击技术:凭据复用、SMB 利用、PsExec/WMI 横向移动
步骤 4:分析攻击路径结果
def analyze_choke_points(attack_graph_results):
"""分析攻击图结果,确定优先修复目标。"""
choke_points = []
for entity in attack_graph_results.get("entities", []):
if entity.get("is_choke_point"):
choke_points.append({
"entity_name": entity["name"],
"entity_type": entity["type"],
"attack_paths_blocked": entity["paths_through"],
"critical_assets_protected": entity["protects_assets"],
"remediation_complexity": entity["fix_complexity"],
"exposure_type": entity["exposure_category"],
})
choke_points.sort(
key=lambda x: x["attack_paths_blocked"] * len(x["critical_assets_protected"]),
reverse=True
)
print(f"识别到的阻塞点总数: {len(choke_points)}")
print(f"\n最大风险降低的前 10 个阻塞点:")
for i, cp in enumerate(choke_points[:10], 1):
print(f" {i}. {cp['entity_name']} ({cp['entity_type']})")
()
()
()
()
choke_points
步骤 5:按影响优先排序修复
修复优先级矩阵:
优先级 1(立即 - 48 小时):
- 通向一级资产路径上的阻塞点
- 身份暴露(缓存的域管理员凭据)
- 有攻击路径的互联网暴露漏洞
优先级 2(紧急 - 7 天):
- 通向二级资产路径上的阻塞点
- 带权限提升的云 IAM 错误配置
- 使横向移动成为可能的网络分段缺口
优先级 3(重要 - 30 天):
- 剩余阻塞点
- 降低纵深防御效果的错误配置
- 攻击路径上的非关键软件漏洞
优先级 4(常规 - 90 天):
- 不在任何通向关键资产路径上的暴露点
- 信息性发现
- 加固建议
最佳实践
- 在部署平台前先定义关键资产;没有目标上下文的攻击路径毫无意义
- 优先修复阻塞点;修复 2% 的暴露点即可消除大部分风险
- 使用攻击路径上下文向 IT 团队说明修复紧迫性(展示完整链条,而不只是漏洞本身)
- 每次修复后重新运行攻击路径分析,验证路径是否真正消除
- 将云环境纳入分析;56% 的关键资产暴露点存在于云平台中
- 监控因基础设施变更(新增服务器、权限变更)产生的新攻击路径
- 与工单系统集成,实现自动化修复追踪
常见误区
- 只关注 CVE,而 80% 的暴露点来自错误配置
- 未定义关键资产,导致攻击路径分析无的放矢
- 同等对待所有暴露点,而不聚焦于阻塞点
- 忽视基于身份的攻击路径(缓存凭据、可 Kerberoast 账号)
- 混合环境中不关联本地和云端攻击路径
- 只做一次分析而非持续运行
相关技能
- implementing-continuous-security-validation-with-bas
- performing-asset-criticality-scoring-for-vulns
- detecting-lateral-movement-in-network
- exploiting-active-directory-with-bloodhound