Comment créer un QR code viral pour hacker un téléphone

Photo of author
Écrit par Agnès Michaud

Sécuriser et protéger nos connexions : Connexions familiales / Connexions internet

Ma page Facebook

Les codes QR sont partout, de l’emballage des produits aux cartes d’embarquement des compagnies aériennes, faisant des scanners qui les lisent une cible juteuse pour les pirates. Grâce aux failles de bon nombre de ces dispositifs, il est possible d’exploiter les vulnérabilités des codes QR.

Que veut dire « QR » ? Quick Response.

Un outil appelé QRGen peut créer des codes QR malveillants. Ces attaques sont puissantes parce que les humains ne peuvent pas lire ni comprendre l’information contenue dans un code QR sans l’analyser. Dit plus simplement : n’importe quel QR code peut contenir un exploit puisque l’oeil humain ne parvient pas à lire le code qui se trouve derrière. Même les scanners de code QR comme les smartphones peuvent être vulnérables à ce genre d’attaque. D’ailleurs, des QR codes ont déjà attiré les utilisateurs d’iPhones vers des sites malveillants.

Que sont les codes QR ?

Les codes QR sont des données formatées pour être lisibles par une machine, utilisés pour tout ce qui doit être numérisé automatiquement. Avant les codes QR, il existait plusieurs autres formats appelés « codes barres linéaires », qui stockaient également les données d’une manière facile à lire pour les machines. Vous avez probablement déjà vu un code-barres sur un emballage de biscuits secs par exemple. Les caissières s’en servent pour lire le prix du produit et accélérer le paiement.

Les codes barres

Le code barres, ou code produit universel, est utilisé depuis 1974. Son but est principalement le commerce de détail : Il ne code qu’une série de chiffres, ce qui en limite l’utilité. Bien qu’il existe de nombreux types de codes barres linéaires, ils ne sont pas en mesure de stocker beaucoup d’informations. Des utilisations plus compliquées comme l’expédition et la fabrication automobile exigeaient une norme contenant plus de données.

Code barres linéaire
Code barres linéaire

Les codes barres 2D

La réponse à la limitation des codes barres linéaires a été les codes barres 2D, qui offraient une plus grosse capacité de stockage. Certains des premiers codes 2D ressemblaient à celui ci-dessous – ils sont encore largement utilisés aujourd’hui.

QR code 2D
QR code 2D

Ces codes peuvent encoder du texte, des nombres, des fichiers et des octets de données. De plus, ils sont plus résistants aux erreurs que les codes barres linéaires basiques.


Que peuvent faire les QR codes avec plus de données ?

Les QR codes peuvent contenir une tonne de données et peuvent même fonctionner lorsqu’ils ont une faible résolution ou s’ils sont endommagés.

Un seul code QR peut contenir 4296 caractères ASCII, ce qui permet d’être très créatif. Avec ça, vous pouvez même formater les données du scanner qui le lit !

La grande capacité des QR codes leur permet aujourd’hui de gérer les connexions Wi-Fi sans partager le mot de passe en clair.

Cette capacité rend les codes QR à la fois puissants et dangereux parce que les humains ne peuvent pas comprendre les données qu’ils contiennent sans les scanner.

En encodant la chaîne suivante, vous pouvez créer un QR code qui enregistre automatiquement les utilisateurs Android dans un réseau Wi-Fi différent du leur :

WIFI:S:<SSID>;T:<WPA|WEP|>;P:<mot-de-passe>;H:<true|false|>; 

Quiconque scanne le code QR sur un appareil Android se trouve automatiquement connecté au réseau Wi-Fi encodé !

Nouveau QR code

Hacker un QR Code avec QRGen

Parce qu’un humain ne peut pas détecter un code QR malveillant avant de le scanner, il est possible pour un pirate d’en profiter pour faire lire à un téléphone un script malicieux puissant. Le but pour ce script déguisé sous la forme d’un qr code, ce sera de prendre le contrôle du téléphone, ou le forcer à se connecter à un réseau wi-fi étranger.

L’outil que nous allons utiliser pour créer ce QR code s’appelle QRGen, il va prendre un script et l’encoder dans un code QR en utilisant le langage Python.

QRGen est livré avec une bibliothèque intégrée qui contient de nombreux exploits populaires, ce qui est extrêmement utile.

Allez dans le menu de QRGen et tapez le numéro correspondant à votre choix :

  • 0 : Injections SQL
  • 1 : XSS
  • 2 : Commande injection
  • 3 : Chaîne de formatage
  • 4 : XXE
  • 5 : Fuzzage des chaînes de caractères
  • 6 : SSI Injection
  • 7 : LFI / Annuaire

Pour créer un code QR malveillant, il suffit d’exécuter QRGen et tester le résultat.

Ce dont vous aurez besoin

Pour utiliser QRGen, vous aurez besoin de Python3 installé. Parce qu’il est multiplateforme, il est possible d’utiliser ce langage sur n’importe quel système d’exploitation. Vous aurez également besoin de quelques bibliothèques Python, dont qrcode, Pillow et argparse, que nous installerons pendant l’installation.

1/ Installer QRGen

Pour commencer avec QRGen, nous devons le télécharger depuis GitHub. Nous allons le faire en exécutant la commande ci-dessous dans le terminal Windows :

~$ git clone https://github.com/h0nus/QRGen

Une fois le téléchargement terminé, changez le répertoire (cd) et listez son contenu (ls) pour afficher les fichiers.

~$ cd QRGen ~/QRGen$ ls
Pas la peine de vous inquiéter si vous ne savez pas où se trouve votre amoureux, ce que dit votre fils au téléphone, ou les textos échangés sur votre téléphone.
Une application téléphonique, installée sur un téléphone, permet de tout savoir de ce qui passe sur l'appareil, dans la plus grande discrétion :
  • SMS
  • Localisation
  • Appels
  • Messages Tinder
  • Messages Whatsapp
  • Et j'en passe.
Ici la meilleure application du marché
Là son concurrent sérieux
Ici un service en ligne permettant de localiser un téléphone grâce à son numéro (pas d'installation requise)
Cette appli surveille aussi Snapchat !

Ensuite, vous devez vous assurer que toutes les bibliothèques requises sont installées. Pour ce faire, nous allons exécuter le fichier d’installation avec la commande suivante.

~/QRGen$ pip3 install -r requirements.txt

Si cela ne fonctionne pas, vous pouvez également l’installer avec cette commande alternative :

~/QRGen$ python3 -m pip install -r requirements.txt

2/ Générer votre code QR malveillant

Maintenant, vous devez être capable d’exécuter le script en tapant python3 qrgen.py.

~/QRGen$ python3 qrgen.py

Comme vous pouvez le voir, il est assez simple de créer des scripts. Pour commencer, créons un script contenant des chaînes de format. Pour ce faire, exécutez QRGen avec l’argument suivant.

~/QRGen$ python3 qrgen.py -l 5

Une série de codes QR sera générée et le dernier code créé s’ouvrira automatiquement. Pour voir votre script, vous pouvez taper cd genqr pour aller voir son contenu dans le répertoire où il a été créé.

~/QRGen$ cd genqr ~/QRGen/genqr$ ls

3/ Encoder votre script

Pour encoder un script personnalisé, vous pouvez d’abord créer un fichier texte contenant ce que vous voulez encoder. Tout d’abord, créons un fichier texte en tapant nano mon-texte.txt.

~/QRGen/genqr$ nano mon-texte.txt

Dans ce fichier texte, on peut mettre notre script. Exemple avec cette bombe toute simple (j’ignore si elle fonctionne avec un QR code) :

 :(){ :|: & };: 

Nous pouvons l’enregistrer en appuyant sur Ctrl X, puis sur Y et Entrée pour confirmer votre enregistrement. Maintenant, vous avez un fichier texte contenant votre script.

~/QRGen/genqr$ ls

Pour écrire votre script dans un code QR, nous utiliserons l’option -w. En supposant que votre fichier s’appelle « mon-texte.txt », la commande pour le faire devrait ressembler à ce qui suit (pensez à revenir au répertoire QRGen au préalable).

~/QRGen/genqr$ cd .. ~/QRGen$ python3 qrgen.py -w '/username/QRGen/genqr/mon-texte.txt'

Pour mon script de bombe, il est généré sous la forme du code QR suivant :

code qr

Ça ne fonctionne pas avec tous les scripts!

Les codes QR peuvent encoder beaucoup d’informations, et comme nous l’avons appris aujourd’hui, ils peuvent même forcer un appareil à se connecter à un réseau Wi-Fi. Cela rend le balayage d’un code QR risqué, car personne n’a moyen de lire l’information avant d’exposer son appareil au script. Si vous scannez un code QR qui semble suspect, faites attention à ce que le code tente de faire sur votre machine, et ne vous connectez pas à un réseau Wi-Fi inconnu.

Attention : certains scripts peuvent entraîner l’arrêt de fonctionnement du scanner.

Autre solution pour créer un code QR simple

Ce dont vous aurez besoin :

  • Un lecteur de code QR
  • Une connexion internet

1/ Pour lire les codes QR, vous devez installer une application de numérisation sur votre smartphone, par exemple l’excellent Barcode Scanner.

2/Ensuite, vous pouvez taper votre script sur le site GOQR qui générera le QR code pour vous. Cet excellent générateur de QR se montre très flexible et vous permet de créer des messages texte lors de la numérisation. Pensez aussi à son alternative : QR Stuff.

Trois flèches vers le bas

Comment éviter d’être la proie de ce genre d’escroquerie ?

  • Avant de numériser un code QR, examinez attentivement le code pour déceler tout signe d’altération, comme un autocollant apposé sur un premier code.
  • Recherchez les images et les logos pixellisés, ainsi que les fautes d’orthographe pour identifier les faux codes.
  • Utilisez un scanner de code QR sécurisé qui peut signaler les sites Web malveillants et afficher l’URL réelle avant de scanner le code (comme le QR Scanner de la marque Kaspersky).
  • Ne pas entrer d’information personnelle après avoir scanné un code QR
  • Méfiez-vous de la lecture d’un code dans les lieux publics, dans les arrêts de transport en commun ou dans les centres-villes.
Trois flèches vers le bas

Nous vous conseillons de lire aussi nos 2 articles suivants :

0 réflexion au sujet de « Comment créer un QR code viral pour hacker un téléphone »

Laisser un commentaire