Vous avez des doutes sur la sureté de votre machine ? Vous avez vu des modification bizarres, que vous n’avez pas faites ? Peut-être même un mot de passe changé ? Et vous n’êtes pas du genre à soupçonner votre poisson rouge …
Il y a pleins de façons de se faire pirater un compte, parmi les moins connues de l’utilisateur lambda, il y a le keylogger.
/!\ Tutoriel exclusivement Windows /!\
Qu’est-ce qu’un Keylogger ?
Traduction : un Enregistreur de touches
Concrètement c’est un programme espion, qui enregistre toutes vos entrées clavier, avec le nom de la fenêtre qui à le focus au moment de la saisie, etc … qui tourne sur la machine de la victime, le plus souvent, c’est une application client, et qui envoie les données centralisées sur l’application serveur, s’exécutant elle sur le poste du pirate.
En gros, tout ce que vous tapez au clavier va être connu de votre indésirable espion, et il connaitra aussi dans quel contexte vous avez tapé ceci et cela. Il peut donc récupérer facilement des mots de passe, des données personnelles, espionner vos conversations écrites, etc …
Comment ça marche ?
Le structure classique de ces derniers est tout d’abord d’être des processus, et ils possèdent en général ces caractéristiques :
- Lancement au démarrage de la machine (Écriture de clés dans la base de registres Windows)
- Utilisant les hooks clavier et les threads, pour une utilisation minimale de CPU
- Utilisant une connexion TCP via les sockets pour envoyer les logs
Comment s’en débarrasser ?
Alors, il faut savoir que il n’y a pas de procédures « type » à suivre pour repérer un tel malware (logiciel malicieux = une mauvaise herbe dans un jardin !), et que, sachant qu’il existe de multiples façons de programmer un keylogger, et bien aucune méthode ne sera vraiment sûre à 100%, sauf si on connait déjà l’origine du programme et son fonctionnement bien sûr.
Je vais donc ici, à tâtons, tenter de nous donner le plus de chances possible pour y parvenir.
- Premier réflexe, afficher le Gestionnaire de tâches, en faisant « Ctrl + Shift + Echap » ou alors « Ctrl+Alt+Suppr » puis en cliquant sur « Gestionnaire de tâches ». Ensuite, choisissez l’onglet « Performance » puis cliquez sur « Moniteur de ressources ». Enfin, pour trier, cliquez dans le panneau de gauche sur la « barre » Réseau (ou sur l’onglet Réseau !). Vous devriez avoir quelque chose ressemblant à ceci :
Et vous pouvez donc voir ici tout les processus qui envoient ou reçoivent des paquets, bien évidemment, peut-être qu’au moment ou vous regardez le keylogger n’envoie ni ne reçois rien, mais en laissant le moniteur ouvert, il gardera en historique tout les programmes qui ont eu une interaction avec votre carte réseau. Ensuite, on note le nom du processus suspicieux, on fait une recherche sur le net, et très souvent on trouvera que c’est un processus natif à votre machine, totalement inoffensif.
- Si maintenant, vous avez un doute, un processus avec un nom inconnu, qui envoie toutes les heures des paquets (j’exagère sur le niveau de surveillance que j’apporte au processus :p ), vous pouvez utiliser un sniffer réseau, pour surveiller les trames envoyées par celui-ci. Je m’explique :Un sniffer réseau permet d’analyser les trames échangées avec votre machine et l’exterieur, je vous conseille d’utiliser Wireshark car il est gratuit, extrêmement puissant, disponible en français et possède une grande communauté d’utilisateurs (besoin d’autres raisons ?);
Et ici on écoutera les trames qui transitent sur via le protocole TCP, et sauf si elles sont cryptées, on pourra voir le contenu ASCII (le texte, ce que vous avez tapé) en clair. Il existe beaucoup de tutoriels pour apprendre à utiliser Wireshark, et comme ce n’est ici pas le sujet, je ne développerais pas. Toutefois, sachez que cette manipulation est vraiment basique et ne prend que très peu de temps à être assimilée pour une personne ayant des connaissances de bases dans l’informatique. - Vérifier ses clés registres : Faites Menu Démarrer > Exécuter, puis tapez « regedit » et entrez. La gestion de la base de registre s’ouvre, et vous allez vous rendre, en naviguant dans l’arborescence, dans : « HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run«
Puis vérifiez les chemins de chaque programme, car c’est ICI même que sont inscrites les clés registres indiquant le chemin des programmes à exécuter au démarrage de Windows ( ou aussi dans « l’Observateur d’évènement, accessible en tapant » Journaux d’évènements » dans Démarrer > Exécuter ).
- Si malgré tout cela, vous voulez encore procéder à des vérifications, il existe un petit soft, permettant même de repérer des keyloggers intégrés dans un logiciel saint : Keylogger Detector. Et si le logiciel est récalcitrant à la désinstallation, mettez lui donc un coup de pression, en le forçant à se désinstaller avec : IOBit Uninstaller.
Vérification des services
Nous allons aussi procéder à une petite vérification des services, car ceux-ci peuvent envoyer des informations, au travers de svhost.exe. Même procédure qu’au dessus, ouvrez le gestionnaire de tâches.
Repérez les processus svhost.exe qui tournent sur votre machine (affichez les processus de tous les utilisateurs), et un à un, on va les analyser comme suit, faire un « clic droit > Accéder aux processus » :
Puis vous devriez voir les services, surlignés en bleu, qui sont utilisés par l’instance de svhost.exe que vous avez « dépliée ». On va ensuite ouvrir msconfig.exe, dans le Menu Démarrer et la barre d’éxécution (ou appuyer sur la touche Windows + R, et entrez « msconfig.exe »), et nous allons aller dans l’onglet « Services » :
Cherchez ainsi, les services qui ont étés surlignés (vous pouvez masquer les Services Microsoft, qui sont de confiance) et ouvrez ensuite l’application services.msc en l’ouvrant de la même manière que msconfig.exe. Vous devriez avoir une description des services que vous cherchez, ainsi, regardez les services louches, servez vous d’internet pour aider à les répertorier :
Quand vous avez fait votre liste des services suspects utilisés par svhost.exe, vous pouvez les arrêter dans services.msc puis décocher la case du Lancement au démarrage dans msconfig.exe, ce qui aura pour effet de ne plus démarrer ces services automatiquement.
Voila pour ce qui est du repérage « basique » pour trouver un logiciel espion sur son PC. Ici je ne fais pas de recherches « poussées » comme le fait Keylogger Detector, mais personnellement, je préfère m’en sortir seul, avant d’avoir recours à des softs inconnus. Si vous voulez vous pouvez également télécharger MalwareByte (ce logiciel est payant mais une version d’essai gratuite est disponible), puis lancer un SCAN. Ce logiciel va scanner vos fichiers, .dll, cookies et j’en passe … afin de mettre en isolement tout type de programme non-désirés. Il suffit ensuite de choisir manuellement les fichiers que l’on veut supprimer (un à un ou en batterie).
Bien sûr il existe des keylogger extrêmement performants, permettant même jusqu’à filtrer grâce à un hook, les entrées récupérées par le Gestionnaire de tâches, et de lui empêcher d’afficher son existence dans la liste ! Mais bon, souvent il y a d’autre défauts, ou encore des choses impossibles à cacher (aux analyseurs bas niveau !)
J’espère que vous avez trouvé cet article intéressant !
Es-ce possible de voir la provenance d’un keylogger? Sur qu’elle ordi ou pc va l’information car nous croyons que l’ex de mon chum en a installer un et esperons pouvoir la coincer. Merci bcp d’avance!
Oui en analysant l’en-tête des trames envoyées depuis ton pc, si le keylogger est de type client/serveur et connecté en TCP. Si celui-ci envoie un mail régulièrement en caché, on ne peut malheureusement voir que l’adresse du serveur de messagerie auquel est envoyé l’info. Tout ceci se fait encore une fois avec Wireshark.
est ce possible de trouvé le keylogger et de l’inversé c’est a dire victime->voie ce que fait le coupable et coupable->voit ne voit pas ce que fait la victime
Bien sûr avec un bon coup de baguette magique ! 😀 non plus sérieusement, ce n’est pas possible sauf si le créateur du virus s’est amusé à inclure le coté client/serveur dans son programme (un peu à la manière des logiciels comme Teamviewer complet, depuis lequel on peut prendre le contrôle d’une machine ou se faire assister a distance avec le même package). Mais cela ne présenterait strictement aucun intérêt, donc je ne pense pas.
Bonjour, pour vérifier les clés registre, une fois dans Run, vous indiquez « vérifiez les chemins de chaque programme » mais je n’y connais rien, comment on fait cela ? que doit-on regarder ?
Merci d’avance pour votre réponse.
Cécile
Bonjour,
Normalement quand vous êtes dans la section « Run », vous observez les programmes qui se lancent au démarrage (en plus de ceux qui sont liés au compte utilisateur, que l’on peut plus facilement retrouver avec Windows 10, en allant dans l’onglet « Démarrage » du Gestionnaire de tâches). Les chemins indiquent l’endroit ou sont stockés les executables . En gros, cela indique l’emplacement du programme qui est lancé, par ex pour le chemin suivant « C:\Users\cecile\Documents\tmp\programme_innocent.exe » on voit donc qu’une application « programme_innocent » se trouve dans un dossier « tmp » dans vos Documents. Donc, si il y a dans ces chemins, des programmes que vous ne connaissez pas, vérifiez leur identité avec une recherche sur Internet.
Bonjour Alexandre, merci pour votre réponse, bonne journée.