Un keylogger sous Linux en 30 lignes de langage C

Un keylogger sous Linux en 30 lignes de langage C

Un keylogger (ou enregistreur de frappe en français) est un moyen matériel ou logiciel de récupérer les frappes faites au clavier d’ordinateur. L’intérêt de ce genre de dispositif est de voler les mots de passe.

A partir du moment où un mot de passe est entré au clavier, même s’il est caché à l’écran un dispositif de keylogging le récupère sans problème. Il existe pléthore de logiciels de ce type sous Windows (il y en a même un en natif dans le système). Sous Linux, il y a quantité de manières d’implémenter un keylogger logiciel. On peut le faire via un module noyau de type gestion du clavier par exemple.

Ce qui m’intéresse ici c’est de montrer comment la programmation d’un tel programme en C en utilisant X11 est finalement assez simple.

Le code source du programme est disponible ici. On le compile par la commande : gcc keyloggerX11.c -o keyloggerX11 -lX11 -lXi

Une petite vidéo qui montre le programme en action.

L’intérêt de ce genre de démo, au delà de l’apprentissage des techniques de programmation qui sont passionnantes, est de prendre conscience de la puissance de ce genre d’outils que sont les keyloggers. Un simple clic malencontreux sur un lien malveillant dans un email et vous avez un programme tordu comme celui-ci (en mieux, celui-ci est volontairement basique) qui s’installe dans votre dos, et là c’est fini, le pirate qui est au bout du fil récupère tous vos mots de passe.