Repérer efficacement un keylogger sur sa machine 2

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.

  1. 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 :
    Moniteur de ressources

    Moniteur de ressources

    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.

  2. 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.
  3. 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 ).
  4. 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 » :

process_analyze

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 » :CaptureServicesmscfg

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 :dsxcrservices

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 !

2 thoughts on “Repérer efficacement un keylogger sur sa machine

  1. Répondre Tanya jan 7, 2013 18 h 36 min

    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!

    • Répondre Alexandre jan 7, 2013 19 h 12 min

      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.

Laisser un commentaire