PwnOS:从管理员到Root权限——利用CVE-2024-9474漏洞实现权限提升
PwnOS是一个非常简单(仅限企业版)的Linux机器,展示了如何利用CVE-2024-9474漏洞,这是一个影响Palo Alto Networks PAN-OS Web管理界面的权限提升漏洞。
该漏洞使经过身份验证的PAN-OS管理员能够通过createRemoteAppwebSession.php端点执行命令注入,并以root权限执行命令。本文将引导您了解该CVE漏洞、服务发现、PAN-OS指纹识别、漏洞利用和防御指南。
类别: 网络设备漏洞利用
平台: PAN-OS(防火墙)
重点: 命令注入、版本指纹识别、权限提升
什么是CVE-2024-9474?
类型: 通过命令注入实现权限提升
受影响版本: PAN-OS 10.1、10.2、11.0、11.1、11.2
所需权限: 管理UI的管理员访问权限
影响: 以root权限执行命令
易受攻击的流程滥用了createRemoteAppwebSession.php。精心构造的输入在服务器端执行,输出被重定向到可通过Web访问的路径以供检索。
CVE-2024-9474是一个权限提升漏洞,当攻击者可以向PAN-OS Web管理端点createRemoteAppwebSession.php提供精心构造的输入时,允许命令注入。该漏洞需要管理UI的管理员访问权限——但当管理平面暴露或管理员账户保护不当时,这一前提条件变得微不足道。成功利用会导致以root权限执行任意shell命令,输出通常重定向到可通过Web访问的路径(例如/unauth/1.php),为攻击者提供了简单的检索通道。
以下是这一点的重要性:防火墙上的管理平面被攻破使攻击者能够读取配置、收集凭据并持久化后门——所有这些都来自位于网络边界的设备。将任何管理平面漏洞视为高优先级。
您将使用的技能
- 网络基础:端口扫描、服务枚举
- Web分析:查看HTTP响应、端点
- 漏洞利用:使用受限payload进行命令注入
- 工具:nmap、PAN-OS指纹识别工具
- 防御:补丁管理、访问控制、监控
侦察和指纹识别
从完整的TCP扫描开始,以识别暴露的服务和管理界面。实验室中使用的原始命令是:
|
|
结果揭示:
- 22/tcp:OpenSSH 8.0
- 443/tcp:HTTPS,证书和资源中带有PAN-OS品牌标识
在浏览器中打开管理界面确认登录页面上的PAN-OS品牌标识。
PAN-OS指纹识别
为了确定运行的软件版本,我们使用noperator的panos-scanner。
|
|
此目标的典型输出识别:
|
|
指纹指向PAN-OS 10.2.8,该版本在受CVE-2024-9474影响的构建范围内。在对生产系统采取行动之前,请务必根据供应商公告交叉检查指纹识别的版本。
利用流程
可以使用公开的概念验证(PoC)重现该漏洞。实验室中使用的PoC可用并按以下方式执行:
|
|
预期运行(缩写):
|
|
输出显示uid=0(root),确认root级别的命令执行。请注意,payload可能受到长度限制;PoC通过使用短命令或分阶段写入来处理此问题。
您现在可以发出受限命令并从/unauth/1.php检索其输出。
标志检索(演示)
为了演示实际影响,可以使用PoC以root权限读取文件,例如实验室机器上的典型root标志:
|
|
再次强调:这是一个实验室演示。不要对您不拥有或没有明确测试权限的系统运行PoC。
底层原理
分解来看,该问题依赖于三个故障点:
- 端点滥用:createRemoteAppwebSession.php接受未经过适当清理的用户控制数据
- 命令注入:注入的shell命令在具有提升权限的上下文中的服务器端执行
- 输出重定向:命令结果被写入可通过Web访问的路径(例如/unauth/1.php),并可以通过HTTPS获取
高级请求流程:
- POST /php/utils/createRemoteAppwebSession.php/1.js.map └── 通过易受攻击的参数注入命令
- GET /index.php/.js.map └── 触发执行
- GET /unauth/1.php └── 检索命令输出
长度限制和输入清理问题可以通过拆分payload或使用短命令来绕过。关键点在于,一旦输出被重定向到/unauth/,攻击者可以轻松地远程获取它。
防御指南
1. 立即打补丁
遵循供应商公告并为受影响的PAN-OS构建应用官方热修复。
- PAN-OS 10.1:>= 10.1.3-h4
- PAN-OS 10.2:>= 10.2.0-h4
- PAN-OS 11.0:>= 11.0.0-h4
- PAN-OS 11.1:>= 11.1.0-h4
- PAN-OS 11.2:>= 11.2.0-h1
2. 限制管理平面
将UI/API访问限制为受信任的IP范围和管理网络。在可能的情况下,将PAN-OS管理接口放在跳板主机或VPN后面。
3. 要求更强的管理员身份验证
对管理员账户强制执行MFA并避免共享凭据。轮换默认凭据并在管理员角色上应用最小权限原则。
4. 强化和监控
启用全面的管理员操作日志记录。监视对/php/utils/createRemoteAppwebSession.php的POST请求和对/unauth/*的GET请求。对/unauth/下出现的意外文件以及包含shell元字符或不寻常base64 blob的POST正文发出警报。
5. 程序化卫生
订阅供应商公告,维护带有版本映射的设备清单,并建立定期的补丁节奏,结合部署前测试。
4个关键要点
- PAN-OS管理漏洞影响巨大。当管理平面暴露时,经过身份验证的管理员漏洞可能迅速转变为完整的设备被攻破。
- 当存在易受攻击的构建时,准确的指纹识别和有针对性的利用可以快速获得root访问权限。
- 简单的输出重定向将有限的命令注入转变为完整的读取/渗透原语。
- 防御措施简单明了但必须强制执行:及时打补丁、分段管理、要求MFA,并监控所述请求/输出模式。
参考资料
- Palo Alto Networks安全公告
- PAN-OS扫描器(noperator)
- PoC漏洞利用(k4nfr3)
- 获取Hack The Box的14天免费试用