web-dev-qa-db-fra.com

Comment détecter un enregistreur de frappe sur un clavier USB? Un clavier USB peut-il héberger un enregistreur de frappe?

J'ai récemment obtenu un clavier USB. Je veux savoir si le microcontrôleur du clavier peut héberger un enregistreur de frappe et comment pourrait-il interagir avec un système d'exploitation Windows. Ma compréhension est que, une fois que Windows reconnaît le périphérique USB, il obtiendra le pilote approprié à partir d'une base de données Microsoft sécurisée, donc même s'il enregistre les frappes, il ne peut exécuter seul aucun logiciel SW pour les envoyer n'importe où. Je laisse de côté la possibilité d'avoir un enregistreur de frappe SW.

Est-il possible qu'un clavier USB puisse héberger un enregistreur de frappe et que Windows puisse lui donner le contrôle d'exécuter un processus pour envoyer les informations à une adresse?

7
Alex

Les enregistreurs de clés USB classiques qui exfiltrent leurs données via Bluetooth ou WiFi peuvent facilement être cachés dans un clavier. Les enregistreurs Bluetooth exigent que l'attaquant soit à portée pour vider leur contenu, mais un adaptateur basé sur WiFi qui est préconfiguré avec une clé réseau ne nécessite même pas que l'attaquant soit présent pour gagner. Il peut le brancher et le laisser reposer là pour toujours. Ces enregistreurs de frappe sont disponibles dans le commerce depuis de nombreuses années. Il existe même des implémentations open source disponibles à partir du projet NSA Playset, qui sont des appareils conçus pour émuler les appareils espions trouvés dans le catalogue ANT divulgué et désormais infâme de NSA. Mais maintenant, il y a de nouvelles options qui sont encore plus sophistiqué.

Le BashBunny est une implémentation matérielle disponible dans le commerce d'un caméléon USB qui effectue ce genre de tâches; le USB Rubber Ducky est tout simplement un simulateur de clavier maléfique. Le BashBunny fonctionne en exécutant un petit ordinateur Linux qui émule des claviers USB génériques, des périphériques de stockage de masse USB, des ports série USB et/ou des adaptateurs réseau USB. Les périphériques émulés exploitent les pilotes Windows signés existants qui sont utilisés par les chipsets génériques. De tels appareils peuvent exfiltrer les données capturées via le PC victime simplement en émulant un clavier USB et en tapant des instructions pour les envoyer ailleurs.

Voici un exemple simpliste de la façon dont ils pourraient exfiltrer des données via le PC victime. Imaginez que le périphérique USB caché contienne un enregistreur de données et enregistre vos secrets pendant un jour ou deux. (Le BashBunny ne contient pas d'enregistreur de frappe; il tire ses données de l'analyse du système hôte. Bien sûr, il pourrait installer un enregistreur de frappe, puis récolter les données ultérieurement.) Lorsqu'il est temps d'envoyer les données, il génère des messages USB qui contiennent des frappes, mais l'utilisateur ne les tape pas. En appuyant sur <Windows>R, puis en tapant http://www.evilhax0rs.invalid/key_logger_dump_page.php * il peut faire apparaître une page d'aspect essentiellement vide avec une zone de saisie cachée située si loin en bas de l'écran que vous avez besoin de barres de défilement pour la trouver. Maintenant, imaginez le clavier escroc frapper <Windows><Shift><Down-Arrow> pour faire glisser complètement la fenêtre du navigateur hors de l'écran, en la cachant à la vue de l'utilisateur. Ensuite, le faux clavier commence à taper toutes ses frappes enregistrées dans la zone de saisie (encodé en base64, naturellement) et à frapper <Enter> Une fois terminé. Enfin, après que tous les secrets ont quitté le bâtiment, il tape <Windows><Shift><Up-Arrow> pour restaurer le navigateur, puis saisissez rapidement <Control>F4 pour fermer l'onglet. Même si l'utilisateur a remarqué que les fenêtres s'ouvraient avant de glisser hors de la vue, cela peut arriver si vite que la victime typique n'aura pas la chance de comprendre ce qui se passe.

Comme je l'ai dit, ce sont des produits open source disponibles dans le commerce que vous pouvez acheter aujourd'hui; le code source des appareils malveillants et les "scripts ducky" qui font la saisie fantôme sont tous hébergés sur github.

* pas une vraie page.

9
John Deters

Je lis la question et je vois "pourrait le clavier" et ce qui me vient à l'esprit est que la plupart des claviers que j'ai ouverts ont un contrôleur Atmel32u [4,8, X], ces contrôleurs exécutent un firmware programmable sur site ( bien qu'ils puissent ne pas être faciles à atteindre pour les jtag/uart.) Il existe des projets open source (Openhardware) que les amateurs de claviers ont construits depuis plus d'une décennie autour des processeurs de la série Atmel32u.

Ce ne serait pas anodin, mais il est tout à fait possible d'écrire un enregistreur de frappe en utilisant les bases de code open source comme point de départ (TMK étant le plus établi: https://github.com/tmk/tmk_keyboard ) You pourrait alors utiliser la même méthodologie qu'un canard en caoutchouc et envoyer des commandes via le clavier lui-même pour créer l'agent qui envoie les frappes à distance.

Certains micrologiciels de claviers ont déjà été rétroconçus (encore une fois les amateurs de clavier) et les fournisseurs ont même essayé de chiffrer les packages de micrologiciels pour éviter cela. Pourtant, ce n'est pas en dehors du domaine des possibilités.

2
Ori