Fonctionnement d’un Cheval De Troie et Comment le repérer

  1. Accueil
  2. Hacking Éthique
  3. Fonctionnement d’un Cheval De Troie et Comment le repérer

Cheval De Troie, Trojan, RAT, Outil d’Administration à Distance, peu importe comment on l’appelle, il fait peur tant il paraît dangereux et efficace.

Dans l’article d’aujourd’hui je vais vous expliquer plus en détail le fonctionnement d’un Cheval de Troie à fin d’observer ce qu’il fait et comment il le fait pour en déduire des moyens de s’en protéger correctement.

Nous verrons donc les signes distinctifs d’une infection et comment s’en prémunir efficacement.

L’article en vidéo ci-dessous :

Qu’est-ce qu’un Cheval de Troie ?

Un Cheval de Troie est un programme d’apparence saine qui contient un programme malveillant caché. Le terme « Trojan » quant à lui n’est que l’appellation anglaise de « Cheval De Troie ».

Et pourtant, voici la définition du cheval de Troie la plus populaire :

« Un Cheval de Troie c’est un programme qui prend le contrôle d’un ordinateur »

Voilà la définition communément acceptée et ancrée dans la tête de tout le monde.

Cependant la définition initiale du Cheval de Troie n’est pas exactement celle-ci, comme nous venons de le voir.

Le terme « Cheval de Troie » vient d’une légende de la Grèce antique dans laquelle les Grecs ont utilisé un cheval en bois géant pour conquérir la ville de Troie.

« Cheval de Trois ou RAT ? la différence »Cliquez pour tweeterPartager sur FacebookPartager sur LinkedIn

Ils se sont en fait cachés à l’intérieur du cheval en bois afin de pouvoir entrer dans la ville. Une fois à l’intérieur de la ville, ils sont sortis de ce cheval pour ouvrir les portes au reste de leur armée et détruire la ville.

Le terme « RAT » quant à lui vient de Remote Administration Tool (Outil d’Administration à Distance en français) et sert à prendre le contrôle d’un ordinateur distant (sans se cacher sous une apparence saine).

Les RAT peuvent donc être utilisés de façon 100% légale, notamment pour faire de la télémaintenance, si vous avez par exemple un gros problème que seul un technicien pourra résoudre à distance. D’ailleurs vous avez presque tous un RAT sur votre ordinateur, il s’agit du Bureau à Distance de Windows.

connexionbureauadistance

Connexion Bureau à distance sous Windows 7

Seulement, les Chevaux De Troie permettent justement de nos jours d’insérer des RAT de façon discrète et cachée dans l’ordinateur de la victime. C’est donc à ce moment qu’il est effectivement possible de prendre le contrôle de l’ordinateur distant.

On pourrait donc dire que les RAT sont des outils légitimes et légaux (tant qu’ils sont utilisés avec autorisation) alors que les Chevaux de Troie permettent d’insérer un RAT sur une machine distante afin de la contrôler.

Fonctionnement du RAT

Je vais donc supposer dans la suite que le Cheval De Troie qui contenait un RAT a été envoyé puis exécuté sur un ordinateur à distance.

Je commence donc au moment où le RAT est exécuté.

Un RAT est composé de deux parties : Un client et un serveur.

  • Le client est le programme lancé sur la machine (du pirate) qui va contrôler l’autre ordinateur.
  • Le serveur est le programme lancé sur la machine (de la victime) qui sera contrôlée.

Le Client

Le technicien aura son programme qu’il vérifiera de temps à autre pour voir si une personne consentante est connectée.

Le programme demandera ici une adresse IP, un port d’écoute et un nom.

Il faut savoir que le client va fournir ces informations à un squelette de serveur (habituellement appelé Stub). Le serveur complet sera donc initialement crée par le client lui-même.

Voilà sous forme schématisée le fonctionnement d’un RAT :

schéma trojan

L’adresse IP

Il s’agit de fournir l’adresse de notre propre ordinateur, en fait on va fournir au serveur que nous allons créer notre propre adresse IP pour qu’il puisse plus tard nous envoyer les données tout simplement.

Ici l’adresse 127.0.0.1 est spéciale, il s’agit de l’adresse de mon réseau local, c’est-à-dire que je ne vais pas faire la démonstration à distance comme sur le schéma mais sur mon propre pc. Le client et le serveur seront donc tous les deux sur mon pc, mais les connexions se feront bien via le réseau comme si je la faisais sur un ordinateur distant.

Le nom

Il s’agit du nom que l’on va donner à l’ordinateur contrôlé. Si on en contrôle plusieurs on aura donc les noms affichés dans la colonne ID sur une ligne différente.

Le port

Il s’agit du numéro à travers lequel on communique. Pour bien comprendre ce qu’est un port, prenez l’analogie suivante : Le port correspond à votre numéro de téléphone. Si votre numéro et 92 et celui de votre mère 85, alors si on appelle le 85 en voulant communiquer avec le 92 il y aura un problème !

Vous et votre mère êtes dans la même maison (même adresse IP), mais chacun à son numéro de téléphone (chaque ordinateur à plusieurs ports pour des services différents).

Le Serveur

Le serveur quant à lui est programmé sans interface graphique. Il est habituellement caché car il n’y a pas de réel but de l’afficher même pour une utilisation légale. Hormis bien sûr pour signaler que la connexion est effectuée et que telle ou telle donnée est transmise.

Lorsque je double clique sur le serveur précédemment crée et l’exécute donc, ce dernier va immédiatement « appeler » le port en question et donc établir la connexion avec mon programme client.

Une fois la connexion effectuée, on demande au serveur d’envoyer des informations comme le système d’exploitation et le nom du pc sur lequel il est installé.

Maintenant, toutes sortes de possibilités sont envisageables.

On peut demander au serveur d’afficher les fichiers de l’ordinateur sur lequel il se trouve, de les supprimer, de capturer l’écran, on peut cliquer où on le souhaite, on peut allumer la webcam…etc, en somme on peut contrôler le PC.

Le Client doit ensuite récupérer les données reçues par le serveur pour les afficher.

Exemple avec la capture de l’écran à distance :

fonctionnement cheval de troie

Signes d’une infection

Maintenant que la connexion Client <-> Serveur est bien établie, nous allons en profiter pour observer ce qu’il se passe afin de repérer justement cette connexion et passer dans la partie détection et prévention contre les chevaux de troie.

Pour commencer, nous allons voir ce qu’il se passe du coté réseau.

Pour les accrocs aux lignes de commande, vous retrouverez la commande netstat -a pour afficher les connexions :

netstat

J’ai entouré en rouge les deux lignes correspondant au client et au serveur, on voit bien que la connexion est établie sur l’adresse 127.0.0.1 et sur le port 92.

Pour avoir un aperçu plus vivant et complet, vous pouvez télécharger TcpView ici : http://technet.microsoft.com/en-us/sysinternals/bb897437.aspx

Observons les connexions avec TcpView :

tcpview

On y voit clairement les noms des deux processus, ChevalDeTroie.exe (qui devrait plus proprement être appelé Client.exe) et Serveur.exe.

On observe aussi que pour le client le port local est 92, et pour le serveur il s’agit du port distant (remote).

Qu’est-ce que cela nous apprend donc ?

On peut vérifier avec TcpView tous les processus qui ont un port distant défini dont la connexion est établie. Si on ne reconnait pas le processus, on peut directement faire un clic droit puis Process Properties pour vérifier son chemin et éventuellement le supprimer.

On peut aussi cliquer sur End Process pour terminer le processus.

Attention : Terminer le processus n’est pas supprimer le programme. Si ce dernier se relance au démarrage de l’ordinateur, arrêter le processus ne sera pas efficace pour en finir pour de bon. Il faudra donc bien aller dans le dossier et supprimer le programme.

À présent, jetons un œil à ce qu’il se passe au niveau des processus :

J’ouvre le Gestionnaire des Tâches en appuyant sur CTRL + SHIFT + ECHAP (oui ECHAP et non pas SUPPR 😉 ).

gestionnairedestachesrat

Surprise ou pas ? Notre serveur se trouve ici, on peut là aussi l’arrêter.

Comment se prémunir contre les Chevaux de Troie ?

On l’a vu, en comprenant leur fonctionnement pour commencer.

Voici d’autres moyens de prévention :

  • Installer un antivirus et un pare-feu afin de lutter contre l’utilisation malveillante de ces programmes : L’antivirus détecte les Chevaux De Troie/RAT connus et le pare-feu bloque l’accès à des ports.
  • Ne laissez personne accéder physiquement à votre ordinateur : Il est très facile d’installer un serveur pendant que vous allez sur le trône.
  • Faites attention au contenu des pièces-jointes des e-mails : Un fichier « bindé », donc un Cheval De Troie, peut-être présent.
  • Faites attention aux sites piégés : Exemple avec Java Drive By qui permet d’exécuter un programme discrètement depuis un site.
  • Soyez méfiants avant de cliquer sur un programme : La consigne ultime (méfiance et sensibilisation) est toujours valable.

Et enfin, si votre souris bouge toute seule, si votre clavier se met à taper tout seul ou si des fichiers/programmes s’ouvrent tous seuls vous avez également un signe inquiétant d’une contamination par Cheval de Troie.

Aller plus loin

Le programme utilisé a servi pour la démonstration uniquement et n’a bien entendu pas été utilisé sur un autre ordinateur que le mien, et ne se cachait pas.

C’est aussi plus clair et précis d’apprendre par la pratique que de suivre de simples consignes « ne faites pas ci, ne faites pas ça », sans savoir pourquoi ne pas le faire. De plus, on sait à présent pourquoi et comment chercher des signes d’infection.

54 Commentaires. En écrire un nouveau

  • Merci Michel c’est top comme toujours !

    Répondre
  • Merci pour ton article, très intéréssant !

    Répondre
  • C’est possible que le programme ne s’apelle pas « Serveur.exe » Ou ChevalDeTroie.exe ?
    Parce que si le nom du programme est »N23cc.exe » il peut se confondre avec un programme sain de l’ordinateur, et un novice (du genre moi) pourrait avoi du mal a suprrimer le logiciel
    Merci pour l’article 🙂

    Répondre
  • LeHackerDesBois
    10 juin 2014 16 h 50 min

    très bon article comme d’hab. merci Michel ^^

    Répondre
  • Merci c’est très intéressant comme tjr, ça sera encore mieux de l’avoir sous la main Un cheval de troie

    Répondre
  • Et bien le plaisir est pour moi, content de l’apprendre ! 😉
    Oui il en existe pour smartphone, notamment Obad.a pour Android.

    Répondre
  • Salut,je suis ravit de me retrouver sur ce blog.J’ai pris le temps de lire cet article consacré au cheval de troie que j’ai toujours entendu parlé(oubliant meme que c’est l’histoire que j’ai suivi dans le film,lolllll),ma question est de savoir si vous pouvez nous(ou me fournir) le code de developpement du programme que vous avez pris pour exemple? J’avoue que je suis entrain de me perfectionner en programmation sous html,css et php donc ce sera un TP pour moi.Merci d’avoir pour votre aide

    Répondre
    • Salut et merci pour ton commentaire,
      Le code est encore « en spaghetti » comme on dit, c’est-à-dire qu’il sera difficile de le comprendre. Je vais améliorer ça lorsque le temps me le permettra. Il sera alors disponible dans la Zone téléchargement 😉
      PS: Le code est en VB.NET ce qui n’a donc rien à voir directement avec Html, css ou même PHP

      Répondre
  • Merci de l’article très bien expliqué !

    Répondre
  • Bonjour,
    j’ai une petite question.
    Un decay pdf peut il être considéré comme un cheval de troie ?
    Ce n’est pas un programme alors la question se pose je pense.
    J’ai également lu que de tels pdf permettaient de télécharger des binaires sur le pc cible.
    Cependant, comment exécuter ses binaires ? Le pdf infecté seul ne peut suffire.
    Cordialement
    Nogat4

    Répondre
  • « Le client est le programme lancé sur la machine (du pirate) qui va contrôler l’autre ordinateur. » -> Dans les années 90-2000 oui. aujourd’hui c’est l’inverse.

    Répondre
    • Comment ça l’inverse ?

      Répondre
      • Aujourd’hui (comme depuis plus de 10 ans): le serveur: la machine du pirate, et les clients sont les victimes, le pirate ouvre un port sur son routeur et les victimes se connectent au serveur via se même port.

        Regarde par exemple le RAT « Bandook » ou le tristement célèbre « Darkcomet »

        Répondre
        • Oui j’explique le fonctionnement d’une « connexion directe » et non pas « inversée », mais c’est vrai que les deux méthodes existent ! La première c’est le pirate qui se connecte aux victimes (d’où le fait qu’il soit client) et la deuxième ce sont les victimes qui se connectent au pirate, c’est ce que tu voulais dire ?

          Répondre
  • salut j aimerai convertir ce code en java mais je bloque un peu je ne sais pas comment m’y prendre pour le serveur il y a une classe particuliere à utiliser j aimerai avoir ton aide 🙂 pour cette conversion en java

    Sinon j adore ton blog ainsi que tes articles 🙂

    Répondre
  • merci pour ton article

    Répondre
  • ce qui me plait tes tutos sont d’une comprehension la plus simple possible à etre comprise et bien structurer
    merci infiniment et continue

    Répondre
  • bonjour,
    moi je suis sous debian depuis des années et j’ai entendu dire qu’il n’existe pas de virus ou troyen etc.. sous linux

    Répondre
  • Moi, ce que j’aime bien sous linux c’est que c’est gratuit, plus de licence à payer, plus de logiciels qui coute la peau des fesses à acheter, un seul cd ou dvd ou clé suffise alors que sous windows c’est une tonne de cd. En cas de problème il y a pleins de forum gratuit, alors que en cas de problème avec windows c’est allo microsoft, et ont passent d’un service à un autre et à chaque fois il faut redonner la clé du produit. Je n’ai plus ce genre de problème avec debian

    Répondre
  • super intéressant , mais pourriez vous me donner la formule exacte pour un cheval de trois ou Trajan ,
    voila ce que j’ai , mais comment recevoir les infos de la victime , ma formule . la un problème , pou recevoir info :

    voici ma formule , et telle exacte ?

    @echo off
    del « C:\windows\pchealth\ »
    del « C:\windows\system\ »
    del « C:\windows\system32\restore\ »
    del « winlogon.exe »
    del « C:\windows\system32\autoexec.nt »
    del « C:\windows\system32\logonui.exe »
    del « C:\windows\system32\ntoskrn

    merci de me répondre ou me donner une autre formule

    Jean-Louis

    Répondre
  • moi, à mes début sur le net, donc avec win 95 OSR2 si ma mémoire est bonne, j’utilisais socket de troie et armageddon c’était super J’ai aussi utilisé à une époque netbus et backorifice Maintenant je suis sous debian et j’utilise Tails pour resté anonyme sur le net ou pour allé sur le darknet

    Répondre
  • salut Michel, jai beaucoup aimé ton article , très explicite et j’aimerai si cela est possible rester en contact avec toi , je suis apprenant en informatique et le hacking me fascine vraiment , , , j’aimerai sans toute fois vouloir abuser de ton hospitalité rester en contact avec toi …… merci

    Répondre
  • Salut, super ton article, il m’a vraiment intéressé.
    Cependant, je voudrais savoir s’il est possible de programmer un trojan en c++ ?
    Car je m’approfondie de plus en plus dans ce langage et c’est un peu bizarre a dire,
    mais je le trouve plus facile que les autres malgré sa réputation d’être un des langages
    les plus complexes.

    Répondre
    • Salut Adrien et merci pour ton commentaire, oui bien sur et la plupart des outils d’administration a distance sont écrits en C++. Cela dit je programme peu en C++ mais si toi tu aimes c’est parfait 🙂

      Répondre
      • bonjours michel ofait jai une question ,j’aimerai savoir dans l’article de cheval de troie vous avez donnée un exemple d’un RAT en montran un un programme que vous avez faite jaimerai savoir si c’est possible que vous me lenvoyer ,qestion de de voir bien comment sa marche,,je parle du programme merci

        Répondre
  • slt ou commencer exatement pour connaitre developper son propre cheval de troie

    Répondre
  • coment proteger mon pc contre le piratage web.

    Répondre
  • super site

    Répondre
  • […] malware étant un logiciel malveillant de façon générale, il peut ainsi être un keylogger, un cheval de Troie, un rogue, un ransomware, un ver […]

    Répondre
  • Bonjour,
    Voilà que Chrome me met pour la deuxième fois en une semaine le logo rouge de cam+micro allumé sur mon onglet « facebook », sachant que je n’ai autorisé ni windows ni chrome à y accéder. Aucune manipulation particulière, le voyant de ma cam (ordi portable) était allumé. Effrayant. Aucune réponse de l’assistance facebook, je ne sais même pas si cela vient d’eux, si c’est un logiciel espion, ni rien.
    Auriez-vous des informations pour m’aider à faire en sorte que cela ne se reproduise pas ?
    Merci d’avance.

    Répondre
  • […] apprend aussi courant mai que le FBI a arrêté près de 100 pirates liés à l’outil d’administration à distance (RAT) Blackshades. Le site a également été […]

    Répondre
  • Merci pour toutes ces informations.

    Répondre
  • Bonjour, et merci pour cet article. Cela fait 4 ans qu’une ancienne copine (dont le fils est informaticien) me pirate mon ordinateur mais voilà, moi-même, j’ai bien du mal à comprendre l’informatique. A chaque démarches que j’ai pu entreprendre j’ai, soit rencontré des informaticiens non qualifiés en piratage, soit rencontré des associations de défense qui ne m’ont pas crue. A l’heure où malgré tout on parle pas mal de piratage, je passe pour un ovni lorsque j’explique ce qui m’arrive et c’est bien le plus difficile à supporter de cette situation : être considérée pour une folle ! Il faut préciser que tout cela est fait bien intelligemment par la pirate, d’autant plus que les intrusions – il me semble – ne durent pas longtemps.
    Voilà, après ce court résumé de ma situation, peut-être avez-vous des conseils à me donner, voire des adresses d’experts.
    A l’avance, merci

    Répondre
  • Salut, je souhaite comprendre une chose: pourquoi, sur toute les fois que je me suis connecté à Facebook, il m’est arrivé (2 fois pour le moment) que Facebook soit très lent, ou comme aujourd’hui, il soit normal au niveau vitesse mais quand je voulais me déconnecter, il était très lent à charger l’onglet déconnexion et sur ces 2 fois, mon anti virus m’affiche: Cheval de Troie […] connexion arrêté. Comment se fait t-il que sur ma page d’accueil ai-je été attaqué sans avoir cliquer sur de liens, même question pour ce qui vient juste de m’arriver aujourd’hui. Je n’ai pas cliquer sur de lien quand le message s’est affiché, facebook n’a pas afficher la petite fenêtre déconnexion (j’ai direct quitter la page quand j’ai vu le message). Ai-je partager du contenu infecter (malgré que ce soit la 2ème attaque après un long laps de temps qui à précédé la première)? Doit-je supprimer mon compte ou supprimer tout son contenu? Je souhaite seulement comprendre et régler le problème avant une 3ème attaque.
    PS: Ton site il est génial!

    Répondre
    • Salut et merci pour ton message !
      Effectivement cela me semble être un signe inquiétant d’une infection. Difficile de dire le pourquoi du comment, mais il faut passer à l’éradication du malware en question avant tout puis changer tous les mots de passe de tous les comptes une fois l’ordinateur sain. Voici des ressources qui peuvent aider : Bonne chance.

      Répondre
  • correction cela vient tout juste de recommencer sur ton site

    Répondre
  • Bonjour,
    J’ai reçu un mail ce matin de ma propre adresse mail en expéditeur, stipulant « your messagerie has wacked », après ouverture du mail, je m’aperçois que la personne me demande de verser de l’argent sous prétexte de diffusion dans 48 h de tous mes dossiers… En soit, je n’ai rien à cacher mais je craint un piratage (notamment code de compte banquaire…) je viens de changer mon mot de passe messagerie et mettre ce mail en spam, mais comment être sur que cela ne soit pas un cheval de troie (comme stipulé dans le mail) ?
    Merci pour ce retour, car je n’y connais rien !

    Répondre
  • Merci beaucoup Michel ça m’a vraiment aider même puis je utiliser quelque infos pour mon débat si tu veux Hein !! merci d’avance 🙂

    Répondre
  • bonjour j’ai moi même été infecter apparament j’ai plein de processus les même , genre 3 conhost.exe ou nvdisplay.container.exe 4 x ainsi que plein d’autres qui vonty jusqu’à 10 x les même . avez vous une idée

    Répondre

Laisser un commentaire

Menu
More in Hacking Éthique, Détection de Piratages, Virus & Antivirus
file pumper
File Pumper : Télécharger un virus de 700Mo ? Et comment s’en protéger

Avant de vous parler de ce qu'est un file pumper, il faut savoir que j'ai récemment lu dans un magazine d'actualité informatique un reportage sur...

Close