
APOLOGEE는 Siemens APOGEE PXC BACnet 자동화 컨트롤러(V3.5 이전의 모든 버전) 및 TALON TC BACnet 자동화 컨트롤러(V3.5 이전의 모든 버전)에서 숨겨진 디렉터리를 열거하는 Python 스크립트이자 Metasploit 모듈입니다. 7.5 CVSS를 가진 이 익스플로잇은 공격자가 대체 경로 또는 채널을 사용하여 인증 우회를 수행하고 웹 서버의 숨겨진 디렉터리에 접근할 수 있게 해줍니다. 이 저장소는 CVE-2017-9947을 활용합니다.
APOLOGEE는 Siemens APOGEE PXC BACnet 자동화 컨트롤러(V3.5 이전 모든 버전)와 TALON TC BACnet 자동화 컨트롤러(V3.5 이전 모든 버전)에서 숨겨진 디렉터리를 열거하는 Python 스크립트이자 Metasploit 모듈입니다. CVSS 점수 7.5를 가진 이 익스플로잇을 사용하면 공격자가 대체 경로 또는 채널을 사용하여 인증을 우회하고 웹 서버의 숨겨진 디렉터리에 액세스할 수 있습니다. 이 리포지토리는 CVE-2017-9947을 활용합니다.
지멘스 현장 패널은 주로 빌딩 자동화 시스템(BAS)을 위한 프로세스 제어를 제공합니다. BAS(Building Automation System)는 건물 내 특정 기능을 연결하고 자동화하도록 설계된 네트워크입니다. 조명 및 HVAC(난방, 환기 및 공조)에서 화재 및 보안 시스템에 이르기까지 모든 건물 제어 시스템이 하나의 제어 장치를 통해 유선으로 연결됩니다. 이것이 의미하는 바는 무엇일까요? APOLOGEE 리포지토리를 사용하면 빌딩 자동화 프로세스를 제어하는 장치를 열거하여 위치, 구성 등에 대한 정보를 얻을 수 있습니다!
내장 웹 서버(80/TCP 및 443/TCP 포트)에 네트워크 접근이 가능한 공격자는 인증을 우회하고 장치로부터 민감한 정보를 다운로드할 수 있습니다. 디렉터리 트래버설 취약점으로 인해 내장 웹 서버(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 모듈로, 프레임워크에 로드하여 내부 운영 기술(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
Metasploit용 Python 모듈을 직접 작성하는 데 관심이 있다면 다음을 참조하십시오: https://docs.metasploit.com/docs/development/developing-modules/external-modules/writing-external-python-modules.html