本仓库中的代码和材料仅供教育、研究和授权的安全测试目的使用。
这是一个用于检测CVE-2024-23113的Python脚本。该漏洞是FortiGate FGFM服务(FortiGate到FortiManager协议)中的一个格式化字符串漏洞,通常运行在TCP端口541上。 FortiGate FGFM服务是FortiGate防火墙与FortiManager中央管理工具之间的通信链路。它是一个专用通道,用于从一个管理面板远程管理、更新和配置防火墙。 攻击者可以通过精心构造的请求控制格式化字符串,这可能导致远程代码执行(RCE)、拒绝服务(DoS)或其他有害影响。
本脚本的灵感来源于WatchTowr关于CVE-2024-23113的文章。
https://labs.watchtowr.com/fortinet-fortigate-cve-2024-23113-a-super-complex-vulnerability-in-a-super-secure-appliance-in-2024/
hostname 变量的值替换为目标IP地址。ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:997),则目标存在漏洞。ssl.SSLError: [SSL: TLSV1_ALERT_UNKNOWN_CA] tlsv1 alert unknown ca (_ssl.c:997),并且服务没有 certificate_authorities 扩展状态,则目标存在漏洞。注意:但你还需关注“需要由配置的CA签名的证书”设置。
这一点在WatchTowr文章的“我们观察,我们比较”部分得到了很好的阐述。强烈建议你访问该文章并阅读。内容有技术性但易于理解。检测的关键点是TLS协商详情中的 certificate_authorities 扩展状态。
将已签名证书要求的检测技术与我的脚本结合,你将能够以100%的准确率检测此漏洞。