Vous êtes sur le site public du Cert-IST
Le "Cross-Site Printing" ou comment "attaquer" des imprimantes depuis Internet

Date :28 Février 2008

Publication: Article

Une étude [1] publiée fin 2007 tente de faire la lumière sur un nouveau type d'attaque. Cette nouvelle menace permet d'utiliser, depuis Internet, une imprimante réseau située sur le réseau local, en encourageant un utilisateur à visiter un site web malveillant ou à ouvrir un e-mail au format HTML. 

Cette nouvelle attaque, nommée "Cross-Site Printing", s'appuie sur les techniques éprouvées et utilisées pour les attaques de type "Cross-Site Scripting".

Cependant, cette menace reste limitée du fait de la nécessité de connaître au préalable l'adresse IP d'une imprimante interne et du fait du comportement aléatoire de l'imprimante cible vis-à-vis du code d'attaque envoyé.


Analyse :

Le "Cross-Site Printing" s'appuie sur le fait qu'une imprimante réseau interne possède le port réseau TCP 9100 d'ouvert. Ce port est associé au service d'impression appelé "JetDirect", "Raw" ou "AppSocket". Il fait généralement partie des ports standards présents sur les imprimantes réseau (avec les ports 515/TCP – LPD – et 631/TCP – IPP).

Le port 9100 peut être utilisé pour envoyer des travaux d'impression vers l'équipement d'édition sans authentification préalable. Ainsi une simple connexion "telnet" sur ce port permet d'imprimer les caractères qui seront saisis dans la session courante. L'impression s'effectuera lors de la fin de session.

Ce type de comportement peut être également reproduit depuis un navigateur web en se connectant en HTTP sur le port 9100 d'une imprimante réseau (http://adresse_IP_imprimante:9100).

Dès lors, il devient tout à fait possible de reproduire ce type d'action via une page web. Pour ce type d'action à l'insu de la victime, l'attaquant peut insérer dans sa page web une balise HTML de type image (<img>) contenant une connexion HTTP comme mentionné précédemment. Ainsi, lorsque la victime visualise une page web de ce type située sur un serveur web ou contenue dans un e-mail au format HTML, une connexion sur le port 9100 de l'adresse IP contenue "en dur" dans le code d'attaque est effectuée.

Il est intéressant de noter que déjà à ce niveau-là, l'attaquant doit préalablement connaître l'adresse IP de l'imprimante cible.

Jusqu'à présent, l'attaquant ne peut imprimer que des caractères texte sur l'équipement d'édition visé. Cependant en utilisant dans son code d'attaque le langage PCL ("Printer Control Language " [2] et [3]), l'attaquant pourra imprimer des pages formatées comme une impression classique. Des outils existent aujourd'hui afin de permettre le codage de documents bureautique ou HTML en commandes PCL prêtes à être soumises à une imprimante.

Il existe également dans le langage PCL des commandes intéressantes qui permettent d'expédier des fax. L'utilisation de ce type de commandes dans un code d'attaque peut alors devenir relativement problématique si l'équipement ciblé est une imprimante multifonctions (imprimante, copieur, fax). Il devient alors théoriquement possible à un attaquant de faire envoyer un fax par un utilisateur visitant sa page web malicieuse. Par contre, l'implémentation des commandes PCL liées aux fonctions de fax reste très dépendante de l'imprimante cible. Cet état a pour effet de limiter les effets d'une attaque massive.

L'étude sur le "Cross-Site Printing" indique également que d'autres commandes PCL permettraient d'insérer une page d'en-tête ("banner") lors de chaque impression.

Dès lors, ces techniques peuvent être ainsi utilisées par des personnes malintentionnées pour mettre en œuvre des activités de spam version "papier".

Néanmoins, ce type d'attaque ne peut être utilisé que de manière ciblée et nécessite une très bonne connaissance de l'environnement attaqué.

Cependant, ces techniques restent intéressantes car elles viennent compléter la panoplie des attaques ciblant les imprimantes réseau et peuvent s'associer à des attaques de type "Cross-Site Request Forgery" (XSRF) [4], théoriquement possibles sur les interfaces d'administration web des équipements d'édition.


Recommandations :

Afin d'éviter ce type de malveillance il est recommandé de :

  • Désactiver le port TCP 9100 sur les imprimantes où il n'est pas nécessaire
  • Filtrer l'accès aux services d'impression offerts par les imprimantes (limiter l'accès par exemple aux seuls serveurs d'impression)
  • Mettre à jour le "firmware" des imprimantes afin de prendre en compte les derniers correctifs de sécurité.

Pour se prémunir des attaques de type "Cross-Site Request Forgery", il est recommandé en plus de :

  • Filtrer l'accès aux services d'administration offerts par les imprimantes
  • Définir des mots de passe robustes sur les interfaces web d'administration
  • Ne pas utiliser des PC bureautiques possédant des connexions vers Internet (web et e-mail) pour l'administration des moyens d'édition (utiliser des stations d'administration dédiées).

Pour plus d'information :