
APOLOGEE é um script Python e módulo Metasploit que enumera um diretório oculto em Controladores de Automação BACnet Siemens APOGEE PXC (todas as versões anteriores à V3.5) e Controladores de Automação BACnet TALON TC (todas as versões anteriores à V3.5). Com um CVSS 7.5, este exploit permite que um atacante realize um bypass de autenticação usando um caminho ou canal alternativo para acessar diretórios ocultos no servidor web. Este repositório explora a CVE-2017-9947.
APOLOGEE é um script Python e módulo Metasploit que enumera um diretório oculto nos Controladores de Automação BACnet Siemens APOGEE PXC (todas as versões anteriores à V3.5) e Controladores de Automação BACnet TALON TC (todas as versões anteriores à V3.5). Com um CVSS de 7.5, esta exploração permite que um atacante realize um bypass de autenticação usando um caminho ou canal alternativo para acessar diretórios ocultos no servidor web. Este repositório aproveita o CVE-2017-9947.
Os Painéis de Campo Siemens fornecem principalmente controles de processo para sistemas de automação predial (BAS). Um sistema de automação predial (BAS) é uma rede projetada para conectar e automatizar certas funções dentro de um edifício. Todos os sistemas de controle predial, desde iluminação e HVAC (Aquecimento, Ventilação e Ar Condicionado) até sistemas de incêndio e segurança—todos conectados através de um conjunto de controles. Então, o que isso significa? Usando o repositório APOLOGEE, você pode enumerar os dispositivos que controlam os processos de automação predial para obter informações sobre suas localizações, configurações e muito mais!
Um atacante com acesso de rede ao servidor web integrado (Portas 80/TCP e 443/TCP) poderia contornar a autenticação e baixar informações confidenciais do dispositivo.
Uma vulnerabilidade de travessia de diretório poderia permitir que um atacante remoto com acesso de rede ao servidor web integrado (Portas 80/TCP e 443/TCP) obtenha informações sobre a estrutura do sistema de arquivos dos dispositivos afetados.
A Siemens forneceu a versão de firmware V3.5 para módulos avançados de Painéis de Campo BACnet, que corrige as vulnerabilidades, e recomenda que os usuários atualizem para a nova versão corrigida. Os usuários devem entrar em contato com a organização de serviço local para obter mais informações sobre como obter e aplicar a V3.5. O formulário web está disponível no seguinte local no site da Siemens:
http://w3.usa.siemens.com/buildingtechnologies/us/en/contact-us/Pages/bt-contact-form.aspx
Regra Suricata para detecção:
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;)
Dois scripts Python estão disponíveis: siemens_field_panel_scanner.py e APOLOGEE.py. O script siemens_field_panel_scanner.py é um módulo Metasploit que pode ser carregado no framework para usos auxiliares simples em redes internas de Tecnologia Operacional e Sistemas de Controle Industrial (ICS). O script APOLOGEE.py é um programa independente para enumerar painéis de campo usando argumentos de linha de comando padrão.
Baixar o repositório:
$ mkdir APOLOGEE
$ cd APOLOGEE/
$ sudo git clone https://github.com/RoseSecurity/APOLOGEE.git
Uso do APOLOGEE.py:
# python3 APOLOGEE.py <Siemens Field Panel IP>
$ python3 APOLOGEE.py 192.168.1.22
Uso do siemens_field_panel_scanner.py:
Para carregar o script no 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
Inicie o Metasploit:
$ msfconsole -q
# Reload modules
msf> reload_all
msf> use /modules/auxiliary/scanner/scada/siemens_field_panel_scanner.py
Se encontrar algum erro, verifique o seguinte log:
$ tail ~/.msf4/logs/framework.log
Se você estiver interessado em escrever seus próprios módulos Python para Metasploit, confira: https://docs.metasploit.com/docs/development/developing-modules/external-modules/writing-external-python-modules.html