
APOLOGEEは、Siemens APOGEE PXC BACnet Automation Controllers(V3.5より前の全バージョン)およびTALON TC BACnet Automation Controllers(V3.5より前の全バージョン)上の隠しディレクトリを列挙するPythonスクリプトおよびMetasploitモジュールです。CVSS 7.5のこのエクスプロイトにより、攻撃者は代替パスまたはチャネルを使用して認証バイパスを実行し、Webサーバーの隠しディレクトリにアクセスできます。このリポジトリはCVE-2017-9947を利用します。
APOLOGEEは、シーメンスAPOGEE PXC BACnet自動制御コントローラ(V3.5より前の全バージョン)およびTALON TC BACnet自動制御コントローラ(V3.5より前の全バージョン)の隠しディレクトリを列挙するPythonスクリプトおよびMetasploitモジュールです。CVSS 7.5のこのエクスプロイトにより、攻撃者は代替パスまたはチャネルを使用して認証バイパスを実行し、Webサーバーの隠しディレクトリにアクセスできます。このリポジトリはCVE-2017-9947を利用しています。
シーメンスフィールドパネルは、主にビルディングオートメーションシステム(BAS)のプロセス制御を提供します。ビルディングオートメーションシステム(BAS)は、建物内の特定の機能を接続して自動化するために設計されたネットワークです。照明やHVAC(暖房、換気、空調)から消防・セキュリティシステムに至るまで、すべてのビル制御システムが1つの制御システムで配線されています。では、これは何を意味するのでしょうか?APOLOGEEリポジトリを使用することで、ビルオートメーションプロセスを制御するデバイスを列挙し、その位置情報、構成などを入手できます!
統合Webサーバー(ポート80/TCPおよび443/TCP)にネットワークアクセスできる攻撃者は、認証をバイパスしてデバイスから機密情報をダウンロードする可能性があります。
ディレクトリトラバーサルの脆弱性により、統合Webサーバー(ポート80/TCPおよび443/TCP)にネットワークアクセスできるリモートの攻撃者が、影響を受けるデバイスのファイルシステム構造に関する情報を取得できる可能性があります。
シーメンスは、BACnetフィールドパネルアドバンストモジュール向けに脆弱性を修正したファームウェアバージョンV3.5を提供しており、ユーザーに新しい修正版へのアップデートを推奨しています。ユーザーは、V3.5の入手方法と適用方法についての詳細情報を得るために、地域のサービス組織に問い合わせる必要があります。WebフォームはシーメンスのWebサイトの次の場所で入手可能です:
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;)
2つのPythonスクリプトが利用可能です: siemens_field_panel_scanner.py と APOLOGEE.py。siemens_field_panel_scanner.py スクリプトはMetasploitモジュールで、内部の運用技術(OT)および産業用制御システム(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
独自のPythonモジュールをMetasploit向けに作成することに興味がある場合は、次を参照してください: https://docs.metasploit.com/docs/development/developing-modules/external-modules/writing-external-python-modules.html