Référence des ports
Port 9100 (TCP) – Imprimante JetDirect / node_exporter
Impression TCP brute (HP JetDirect/PDL) sur les imprimantes ; aussi les métriques hôte du node_exporter Prometheus.
État par défaut
Ouvert sur les imprimantes réseau pour l'impression brute, et sur les hôtes exécutant node_exporter. Les deux sont souvent laissés non authentifiés sur le LAN.
Attaques courantes
- Injection de travaux d'impression bruts et déni de service de l'imprimante
- Abus PJL/PostScript pour lire ou écrire le système de fichiers de l'imprimante (PRET)
- Vol de documents en file d'attente et modification des réglages de l'appareil
- Métriques node_exporter exposées révélant les détails de l'hôte pour la reconnaissance
Durcissement
- Restreindre le 9100 aux serveurs d'impression / VLAN de gestion ; bloquer au périmètre
- Désactiver l'accès aux fichiers PJL/PostScript et mettre à jour le firmware de l'imprimante
- Exiger une authentification pour l'admin de l'imprimante et désactiver le 9100 brut si inutilisé
- Lier node_exporter à localhost ou le scraper via un réseau privé
- Placer node_exporter derrière auth/TLS et restreindre les scrapers par liste d'IP
Commande nmap
nmap -p9100 --script banner,pjl-ready-message <target>Remplacez <target> par l’hôte ou la plage que vous êtes autorisé à scanner.
Qu'est-ce qui tourne sur le port 9100 ?
Le port 9100 a deux occupants courants. Sur les imprimantes, c'est le port d'impression TCP brute (HP JetDirect / PDL) : l'appareil écoute les travaux d'impression envoyés directement sous forme de flux d'octets, sans négociation de protocole. Sur les serveurs, le même numéro de port est utilisé par le node_exporter Prometheus pour exposer les métriques de l'hôte au scraping.
Pourquoi c'est important pour la sécurité
L'impression brute n'a aucune authentification — tout ce qui se connecte peut imprimer, et les langages de description de page comme PJL et PostScript peuvent lire et écrire le système de fichiers de l'appareil, modifier les réglages et accéder aux documents en file d'attente. Quand node_exporter occupe le 9100, ses métriques divulguent OS, matériel et détails de processus utiles à la reconnaissance.
Comment il est attaqué
Les attaquants injectent des travaux d'impression bruts, provoquent un déni de service, et utilisent des outils comme PRET pour abuser de PJL/PostScript afin d'obtenir un accès au système de fichiers et voler des documents sur l'imprimante. Contre node_exporter, ils scrapent les métriques hôte exposées pour identifier le système, énumérer systèmes de fichiers et services, et planifier d'autres attaques.
Liste de durcissement
Restreignez le 9100 à des serveurs d'impression dédiés ou un VLAN de gestion et bloquez-le au périmètre. Désactivez l'accès aux fichiers PJL/PostScript, mettez à jour le firmware de l'imprimante et exigez une authentification pour l'admin de l'imprimante (désactivez le 9100 brut si inutilisé). Pour node_exporter, liez-le à localhost ou scrapez via un réseau privé, placez-le derrière auth/TLS et restreignez les scrapers par liste d'IP. Utilisez la commande nmap pour vérifier l'exposition sur les systèmes que vous êtes autorisé à tester. </content>
Ports liés
Questions fréquentes
- À quoi sert le port 9100 ?
- C'est le port d'impression TCP brute (HP JetDirect/PDL) sur lequel les imprimantes écoutent pour recevoir directement les travaux d'impression. Le même numéro de port est aussi utilisé par le node_exporter Prometheus pour exposer les métriques de l'hôte.
- Pourquoi le port 9100 est-il risqué ?
- L'impression brute n'a aucune authentification : des outils comme PRET peuvent abuser de PJL/PostScript pour lire les documents en file ou le système de fichiers de l'imprimante. Si node_exporter tourne ici, les métriques exposées divulguent les détails de l'hôte. Restreignez le 9100 aux réseaux de confiance.