Référence des ports
Port 47808 (UDP) – BACnet
BACnet/IP — protocole de GTB contrôlant CVC, éclairage et accès via les propriétés des appareils et objets.
État par défaut
Ouvert sur les contrôleurs BACnet/IP et appareils de GTB (CVC, éclairage), sans authentification sur le protocole.
Attaques courantes
- Énumération d'appareils et d'objets via Who-Is / bacnet-info
- Divulgation de la configuration du bâtiment par ReadProperty non autorisé
- Abus de WriteProperty pour modifier consignes et sorties
- Déni de service contre les contrôleurs via des APDU malformées
Durcissement
- Ne jamais exposer le port 47808 à Internet — isoler BACnet sur un réseau OT/GTB
- Segmenter avec des pare-feu et restreindre les diffusions (portée BBMD)
- Utiliser BACnet/SC (Secure Connect) lorsque les appareils le prennent en charge
- Surveiller avec un IDS ICS pour le trafic WriteProperty inattendu
Commande nmap
nmap -sU -p47808 --script bacnet-info <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Ce qui s'exécute sur le port 47808
Le port 47808 (0xBAC0) héberge BACnet/IP, le protocole de GTB dominant pour le CVC, l'éclairage, le contrôle d'accès et la gestion de l'énergie. Les appareils se modélisent comme des objets dotés de propriétés ; contrôleurs et postes de travail utilisent des services comme Who-Is, ReadProperty et WriteProperty pour découvrir les appareils et lire ou modifier consignes et sorties. Il fonctionne sur UDP et utilise des diffusions, souvent pontées entre sous-réseaux par un BBMD.
Pourquoi c'est important pour la sécurité
Le BACnet/IP classique n'a aucune authentification ni chiffrement. Tout hôte qui atteint l'UDP 47808 peut énumérer chaque appareil avec Who-Is, lire la configuration du bâtiment et utiliser WriteProperty pour modifier les consignes CVC, forcer des sorties ou désactiver des équipements. Comme BACnet gouverne les systèmes de confort et de sécurité dans les hôpitaux, centres de données et bureaux, son abus peut causer des dommages physiques et opérationnels réels.
Comment il est attaqué
Les attaquants envoient des diffusions Who-Is ou exécutent le script nmap
bacnet-info (UDP) pour énumérer les ID d'appareils, fabricant et listes
d'objets, trouvant souvent des points de terminaison exposés sur Shodan. Ils
font ensuite ReadProperty pour cartographier le système et WriteProperty pour
manipuler consignes et sorties. Des APDU malformées peuvent aussi planter les
contrôleurs pour un déni de service.
Liste de durcissement
N'exposez jamais le port 47808 à Internet — gardez BACnet sur un réseau OT/GTB isolé derrière des pare-feu, et limitez la portée des diffusions via une configuration BBMD maîtrisée. Adoptez BACnet/SC (Secure Connect) lorsque les appareils le prennent en charge pour une authentification basée sur TLS, restreignez l'accès aux postes de travail autorisés, et déployez un IDS ICS pour alerter sur le trafic WriteProperty inattendu. N'utilisez la commande nmap ci-dessus que sur les systèmes que vous êtes autorisé à tester.
Ports liés
Questions fréquentes
- BACnet dispose-t-il d'une authentification ?
- Le BACnet/IP classique n'a aucune réelle authentification ni chiffrement, donc tout hôte atteignant l'UDP 47808 peut énumérer les appareils et lire ou écrire les propriétés d'objets. BACnet/SC (Secure Connect) ajoute une sécurité basée sur TLS mais n'est pas encore largement déployé.
- Que peut faire un attaquant via BACnet ?
- Il peut découvrir les contrôleurs avec Who-Is, lire la configuration du bâtiment via ReadProperty, et utiliser WriteProperty pour modifier les consignes CVC, forcer des sorties ou perturber les systèmes de confort et de sécurité d'un bâtiment.