【翻译】如何反制Empire C2攻击
字数 1819 2025-08-23 18:31:34
Empire C2 攻击反制技术详解
0X00 前言
Empire C2 Framework (<5.9.3版本)存在多个安全漏洞,攻击者可利用这些漏洞获取C2服务器的root权限。本文详细分析这些漏洞的利用方式,并为攻防团队提供防御建议。
0X01 Empire漏洞概述
Empire框架存在目录遍历漏洞的历史根源可追溯到@zeroSteiner发现的Skywalker漏洞。虽然后续版本修复了这些问题,但由于基础架构变更,路径遍历漏洞在后续版本中重新出现。
0X02 Stagers载荷分析
Empire提供的预生成启动器包含两个关键信息:
- 分发密钥:用于代理认证
- C2服务器URL
任何拥有分发密钥的实体都可以伪装成合法代理注册到监听器。
0X03 Stagers载荷分发流程
Empire启动器通过三个阶段引导代理:
STAGE0
- 目的:减小启动器体积
- 功能:加载第二阶段必需的数据包处理、加密和引导类
- 对攻击者:此阶段不必要
STAGE1
- 功能:请求第二阶段并建立新会话密钥
- 关键点:攻击者可在此阶段指定任意8字节长的会话ID
STAGE2
- 功能:发送系统信息并获取主代理类
- 关键点:代理收集用户和操作系统信息并用新会话密钥加密
0X04 Empire任务分配机制
Empire的任务类型包括:
- TASK_SYSINFO:更新代理宿主信息
- TASK_SHELL:执行shell命令
- TASK_UPLOAD:上传文件到受害者系统
- TASK_DOWNLOAD:从受害者系统下载文件
重要发现:服务器处理响应不要求存在任务分配,攻击者可通过发送未经请求的"响应"强制服务器处理任务数据。
0X05 目录穿越漏洞(方式一)
漏洞位置
TASK_DOWNLOAD任务处理路径
利用条件
- 攻击者可控制会话ID(STAGE1阶段指定)
- 服务器未对会话ID进行清洗
利用方法
将会话ID设置为./../../,服务器会将其追加到下载目录路径:
/<安装路径>/empire/server/downloads/
影响
可覆盖downloads目录上方一级或两级的文件,如:
empire/server/server.py:可被后门覆盖empire/server/config.yml:可修改下载目录为root
限制
需要服务器重启才能使修改生效
0X06 Skywalker检测绕过技术
原始检测逻辑
safe_path = download_dir.absolute()
if not str(save_file.absolute()).startswith(str(safe_path)):
# 检测到Skywalker利用
绕过原理
absolute()方法不规范化路径,仅解析相对路径- 路径不以
/开头时,路径遍历仍能满足startswith()条件
0X07 目录穿越漏洞(方式二)
漏洞位置
save_module_file()函数,由以下任务类型调用:
- TASK_CMD_WAIT_SAVE
- TASK_CMD_JOB_SAVE
利用方法
- 通过STAGE2响应控制主机名(无长度限制)
- 构造特殊文件名实现路径穿越:
- 15字节前缀:用于目录穿越
- 5字节扩展名:用于额外穿越(如
/../a)
具体步骤
- 设置主机名为穿越路径
- 创建特殊文件名:
_2024-02-09_16-25-32.aaaaa - 利用扩展名进行额外穿越(如设置为
/../a) - 在同一秒内发送第二个请求绕过目录创建错误
0X08 防御建议
攻击方防护措施
-
基础设施隔离
- 阻止超出范围IP访问监听器
- 为不同任务搭建独立基础设施
- 实施安全边界隔离
-
密钥管理
- 每次行动后更换代理/植入物密钥
- 特别是分发和会话密钥
-
监控与响应
- 实施C2基础设施监控
- 制定快速隔离受损C2服务器的计划
- 行动后彻底销毁C2服务器和窃取数据
-
日志管理
- 将日志与C2服务器分开存储
- 监控关键日志来源:
- C2服务器(teamserver)日志
- 认证日志(auth.log)
- Web服务器或文件服务器日志
防御方检测措施
-
文件监控
- 监控C2框架文件的异常修改
- 关注服务工作目录中的文件变更
-
日志分析
- 保留并分析Web访问和服务日志
- 查找路径穿越字符串特征
-
服务监控
- 识别定期运行的脚本和可执行文件
- 监控这些文件的异常修改
总结
Empire C2框架(<5.9.3)存在严重的目录遍历漏洞,攻击者可利用这些漏洞获取服务器控制权。通过理解这些漏洞的利用机制,攻防双方都能更好地保护自身安全。BC Security已在Empire v5.9.3中修复了这些漏洞,建议所有用户尽快升级。