APOLOGEE 是一个 Python 脚本和 Metasploit 模块,用于枚举西门子 APOGEE PXC BACnet 自动化控制器(所有早于 V3.5 的版本)和 TALON TC BACnet 自动化控制器(所有早于 V3.5 的版本)上的隐藏目录。该漏洞利用的 CVSS 评分为 7.5,允许攻击者通过备用路径或通道绕过身份验证,从而访问 Web 服务器中的隐藏目录。此仓库利用了 CVE-2017-9947。
APOLOGEE 是一个 Python 脚本和 Metasploit 模块,用于枚举西门子 APOGEE PXC BACnet 自动化控制器(所有 V3.5 之前的版本)和 TALON TC BACnet 自动化控制器(所有 V3.5 之前的版本)上的隐藏目录。该漏洞利用 CVSS 7.5 分,允许攻击者通过备用路径或通道绕过身份验证,访问 Web 服务器中的隐藏目录。此存储库利用 CVE-2017-9947。
西门子现场面板主要为楼宇自动化系统(BAS)提供过程控制。楼宇自动化系统(BAS)是一种旨在连接和自动化建筑物内特定功能的网络。所有楼宇控制系统,从照明和 HVAC(供暖、通风和空调)到消防和安全系统,都通过一套控制装置连接。这意味着什么?通过使用 APOLOGEE 存储库,您可以枚举控制楼宇自动化过程的设备,获取有关其位置、配置等更多信息!
具有网络访问集成 Web 服务器(80/TCP 和 443/TCP 端口)的攻击者可以绕过身份验证并从设备下载敏感信息。
目录遍历漏洞可能允许具有网络访问集成 Web 服务器(80/TCP 和 443/TCP 端口)的远程攻击者获取受影响设备文件系统结构的信息。
西门子已为 BACnet 现场面板高级模块提供了固件版本 V3.5,该版本修复了漏洞,并建议用户更新到新的修复版本。用户应联系当地服务组织,以获取有关如何获取和应用 V3.5 的更多信息。以下网址可在西门子网站上找到网络表单:
http://w3.usa.siemens.com/buildingtechnologies/us/en/contact-us/Pages/bt-contact-form.aspx
用于检测的 Suricata 规则:
alert http any any -> any any (msg:"Siemens Field Panel Authentication Bypass Using an Alternate Path or Channel, Path Traversal"; http.method; content:"GET"; content:”FieldPanel.xml”; http_uri; reference: cve, CVE-2017-9947; priority:1; sid: 1000001; rev: 1;)
提供了两个 Python 脚本:siemens_field_panel_scanner.py 和 APOLOGEE.py。siemens_field_panel_scanner.py 脚本是一个 Metasploit 模块,可以加载到框架中,用于内部操作技术和工业控制系统(ICS)网络上的简单辅助使用。APOLOGEE.py 脚本是一个独立程序,用于使用标准命令行参数枚举现场面板。
下载存储库:
$ mkdir APOLOGEE
$ cd APOLOGEE/
$ sudo git clone https://github.com/RoseSecurity/APOLOGEE.git
APOLOGEE.py 使用方法:
# python3 APOLOGEE.py <Siemens Field Panel IP>
$ python3 APOLOGEE.py 192.168.1.22
siemens_field_panel_scanner.py 使用方法:
要将脚本加载到 Metasploit 中:
# Make the script executable
$ chmod +x siemens_field_panel_scanner.py
# Create directory for module
$ mkdir -p ~/.msf4/modules/auxiliary/scanner/scada
# Move script into folder
$ mv siemens_field_panel_scanner.py ~/.msf4/modules/auxiliary/scanner/scada
启动 Metasploit:
$ msfconsole -q
# Reload modules
msf> reload_all
msf> use /modules/auxiliary/scanner/scada/siemens_field_panel_scanner.py
如果遇到任何错误,请检查以下日志:
$ tail ~/.msf4/logs/framework.log
如果您有兴趣为 Metasploit 编写自己的 Python 模块,请查看:https://docs.metasploit.com/docs/development/developing-modules/external-modules/writing-external-python-modules.html