PastJacking : l'attaque par copier-coller

Par:
fredericmazue

lun, 30/05/2016 - 15:29

En ce début de semaine, de nombreux sites se font écho de ce qui serait une nouvelle méthode de hacking : le PasteJacking, ou attaque par copier-coller.

En fait le concept n'est pas nouveau, mais c'est une bonne occasion de rappeler que le danger existe bel et bien.

L'informaticien Dylan Ayray l'a tout récemment illustré par deux exemples. Avec JavaScript, il est possible de modifier le contenu du presse-papier lorsque l'internaute fait un Ctrl-C depuis une page Web.

Tout un chacun a eu l'occasion de le remarquer en faisant un copier-coller d'un fragment de texte d'une page web. Bien souvent le site ajoute un petit contenu du genre : En savoir plus ainsi qu'une URL.

Mais si le contenu du presse-papier était modifié afin de contenir du code malveillant ? Tout administrateur système à un jour ou l'autre fait, par paresse, un copier-coller d'une ligne de commande Shell prise par exemple sur un didacticiel en ligne.

Il est toujours bon de se rappeler que c'est imprudent. Le premier exemple de Dylan vous propose de copier une ligne de code :

echo "not evil"       

mais cette ligne collée dans un shell exécute en fait

touch ~/.evil
clear
echo "not evil"

Autrement dit, elle crée un fichier sous votre nez, sans que vous le voyiez.

Un second exemple vous propose de copier le même texte, mais vous copiez en fait une macro vim :

echo "evil"
 :!cat /etc/passwd

le contneu du presse-papier ayant été bidouillé comme ceci :

copyTextToClipboard('echo "evil"\n \x1b:!cat /etc/passwd\n');

Ce qui est une bonne illustration du fait qu'une attaque de PasteJacking peut-être très dangereuse, tant il y a de possibilités de nuire.

Pour l'administrateur système prudent, une bonne pratique est de ne jamais coller directement dans son Shell un contenu copié ici ou là sur le Web. Il convient de d'abord le coller dans un éditeur neutre comme le Notepad de Windows par exemple, puis de là reprendre le texte et le copier ensuite dans le Shell.

Dylan Ayray, dans un billet sur GitHub https://github.com/dxa4481/Pastejacking donne le conseil d'utiliser des terminaux tels que iTerm, qui émettent un avertissement si le contenu qui y est collé se termine par un caractère de nouvelle ligne.