
APOLOGEE est un script Python et un module Metasploit qui énumère un répertoire caché sur les contrôleurs d'automatisation BACnet Siemens APOGEE PXC (toutes les versions antérieures à V3.5) et les contrôleurs d'automatisation BACnet TALON TC (toutes les versions antérieures à V3.5). Avec un score CVSS de 7,5, cet exploit permet à un attaquant d'effectuer un contournement d'authentification en utilisant un chemin ou canal alternatif pour accéder à des répertoires cachés dans le serveur web. Ce dépôt exploite CVE-2017-9947.
APOLOGEE est un script Python et un module Metasploit qui énumère un répertoire caché sur les contrôleurs d'automatisation BACnet Siemens APOGEE PXC (toutes versions antérieures à V3.5) et les contrôleurs d'automatisation BACnet TALON TC (toutes versions antérieures à V3.5). Avec un score CVSS de 7,5, cet exploit permet à un attaquant de contourner l'authentification en utilisant un chemin ou un canal alternatif pour accéder à des répertoires cachés dans le serveur web. Ce dépôt exploite CVE-2017-9947.
Les panneaux de terrain Siemens fournissent principalement des contrôles de processus pour les systèmes d'automatisation de bâtiments (BAS). Un système d'automatisation de bâtiments (BAS) est un réseau conçu pour connecter et automatiser certaines fonctions à l'intérieur d'un bâtiment. Tous les systèmes de contrôle du bâtiment, de l'éclairage et du CVC (Chauffage, Ventilation et Climatisation) aux systèmes d'incendie et de sécurité, sont tous câblés via un seul ensemble de commandes. Alors, qu'est-ce que cela signifie ? En utilisant le dépôt APOLOGEE, vous pouvez énumérer les appareils contrôlant les processus d'automatisation des bâtiments pour obtenir des informations sur leurs emplacements, configurations, et bien plus encore !
Un attaquant ayant un accès réseau au serveur web intégré (ports 80/TCP et 443/TCP) pourrait contourner l'authentification et télécharger des informations sensibles de l'appareil.
Une vulnérabilité de traversée de répertoire pourrait permettre à un attaquant distant ayant un accès réseau au serveur web intégré (ports 80/TCP et 443/TCP) d'obtenir des informations sur la structure du système de fichiers des appareils concernés.

Siemens a fourni la version de firmware V3.5 pour les modules avancés des panneaux de terrain BACnet, qui corrige les vulnérabilités, et recommande aux utilisateurs de mettre à jour vers la nouvelle version corrigée. Les utilisateurs doivent contacter l'organisation de service locale pour plus d'informations sur la façon d'obtenir et d'appliquer V3.5. Le formulaire web est disponible à l'adresse suivante sur le site web de Siemens :
Règle Suricata pour la détection :
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;)
Deux scripts Python sont disponibles : siemens_field_panel_scanner.py et APOLOGEE.py. Le script siemens_field_panel_scanner.py est un module Metasploit qui peut être chargé dans le framework pour des utilisations auxiliaires simples sur les réseaux internes de technologies opérationnelles (OT) et de systèmes de contrôle industriels (ICS). Le script APOLOGEE.py est un programme autonome pour énumérer les panneaux de terrain en utilisant des arguments de ligne de commande standard.
Télécharger le dépôt :
$ mkdir APOLOGEE
$ cd APOLOGEE/
$ sudo git clone https://github.com/RoseSecurity/APOLOGEE.git
Utilisation de APOLOGEE.py :
# python3 APOLOGEE.py <Siemens Field Panel IP>
$ python3 APOLOGEE.py 192.168.1.22
Utilisation de siemens_field_panel_scanner.py :
Pour charger le script dans Metasploit :
# Rendre le script exécutable
$ chmod +x siemens_field_panel_scanner.py
# Créer le répertoire pour le module
$ mkdir -p ~/.msf4/modules/auxiliary/scanner/scada
# Déplacer le script dans le dossier
$ mv siemens_field_panel_scanner.py ~/.msf4/modules/auxiliary/scanner/scada
Lancez Metasploit :
$ msfconsole -q
# Recharger les modules
msf> reload_all
msf> use /modules/auxiliary/scanner/scada/siemens_field_panel_scanner.py
Si vous rencontrez des erreurs, consultez le journal suivant :
$ tail ~/.msf4/logs/framework.log
Si vous êtes intéressé par l'écriture de vos propres modules Python pour Metasploit, consultez : https://docs.metasploit.com/docs/development/developing-modules/external-modules/writing-external-python-modules.html