1. Introduction

J'ai toujours été impressionné de voir des vidéos ou des articles sur Internet de gens qui trouvent de moyens de changer le fonctionnement d'un service informatique. La cybersécurité/hacking m’intéresse et c'est pour ça que j'ai décidé de faire un keylogger pour mon projet P.

Qu'on l'appelle keylogger, spyware ou logiciel de monitoring, il peut être l'équivalent de la surveillance numérique, révélant chaque clic et chaque frappe, chaque téléchargement et chaque conversation.

Un keylogger (abréviation de keystroke logger) est un logiciel qui suit ou enregistre les touches frappées sur votre clavier, généralement de manière dissimulée, afin que vous ne sachiez pas que vos actions sont surveillées. Cela se fait généralement dans l'intention malveillante de recueillir des informations sur votre compte, vos numéros de carte de crédit, vos noms d'utilisateur, vos mots de passe et d'autres données privées.

Il existe cependant des utilisations légitimes pour les enregistreurs de frappe. Les parents peuvent surveiller l'activité en ligne de leurs enfants ou les forces de l'ordre peuvent s'en servir pour analyser et suivre les incidents liés à l'utilisation d'ordinateurs personnels, et les employeurs peuvent s'assurer que leurs employés travaillent au lieu de surfer toute la journée sur le web.

Il y a des keyloggers déjà tout faits qu'il faut juste télécharger, des librairies pour différents langages de haut niveau (comme python), ou même des clés USB à acheter directement sur Amazon.

Il existe deux types de keylogger: le keylogger "hardware" (clé USB dans laquelle on branche le clavier) et le keylogger "software" qui est juste un programme qui va lire la mémoire tampon du clavier (buffer). Dans ce projet nous allons nous concentrer sur ce dernier type d' enregistreur de frappe.

L'objectif de ce travail est donc de coder un keylogger en C, un langage de programmation de bas niveau. Ce programme va devoir lire le buffer, l'interpréter et écrire les touches frappées dans un fichier TXT qui sera ensuite envoyé par mail.

2. Matériel et méthodes

2.1 Matériel

  • Un ordinateur avec un système d'exploitation Linux.
  • Un IDE pour C, j'ai personnellement utilisé Code::Blocks.
  • Internet.

2.2 Méthode

2.2.1 Préparatifs

Il faut commencer par télécharger Code::Blocks pour nous permettre d'exécuter du code en C. Code::Blocks va aussi compiler le programme en fichier exécutable qui, ducoup, pourra être lancé sur n'importe quel ordinateur Linux, même si cet ordinateur n'a pas Code::Blocks.

J'ai ensuite suivi quelques cours en ligne sur les bases de C. Il en existe plein sur internet mais celui que j'ai personnellement utiliser et que je ne peux que recommander sur trouve sur le site OpenClassrooms (et en plus de ça les cours sont en français si l'anglais pose problème). Je suis allé jusqu'à la moitié du programme environ étant donné qu'après ce point les choses enseignées ne concernaient pas mon projet (plutôt de la création de jeux vidéos).

3. Résultats

4. Discussion

5. Conclusion

Références