确定Palo Alto网络防火墙Global Protect Portal上运行的版本
最近Palo Alto Networks发布了许多关键漏洞,详见: https://security.paloaltonetworks.com/?severity=CRITICAL&product=PAN-OS&sort=-date
这是一个PoC,通过检查favicon和login.esp的curl扫描中的etag,来确定防火墙使用的版本。
参考:
CWE-78影响: https://cwe.mitre.org/data/definitions/78
来自The Register: https://www.theregister.com/2020/07/09/palo_alto_fix/
来自Vulmon: https://vulmon.com/searchpage?q=paloaltonetworks

使用说明:
确保已安装最新的Python3
示例:
curl -skI https://example.com/global-protect/login.esp
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Connection: keep-alive ETag: "5e4c6-2f3g-5b650798"
为了确定版本,我们需要对某些URL的etag进行检查。通过这样做,我们将获取Etag的最后8个字符,它们以十六进制表示。将其转换为十进制,然后从纪元时间转换为人类可读时间,我们就能推断出所使用的版本,并检查它是否容易受到Palo Alto Networks最近发布的OS命令注入漏洞的影响。
从示例中,我们关注最后8个字符:
5b650798
将其从十六进制转换为十进制,然后从十进制纪元时间转换为人类可读时间。
你将得到: Sat Aug 4 04:55:36 EEST 2018
然后根据公布的版本检查它是否易受攻击。
运行此工具后,它将尝试完成这些操作。
法律免责声明 在未获得事先双方同意的情况下,使用此工具测试目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。开发者不承担任何责任,也不对因使用本程序造成的任何滥用或损害负责。