Cheval De Troie, Trojan, RAT, Outil d’Administration à Distance, peu importe comment on l’appelle, il fait peur tant il est 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 comment il fonctionne. Cela nous permettra d’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 utilisée… et finalement acceptée.

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.

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.
« Fonctionnement d'un cheval de troie (trojan) »Cliquez pour tweeterPartager sur FacebookPartager sur LinkedIn

1. Le Client créer un Serveur pour établir une connexion

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 est le point central

Il s’agit de fournir l’adresse de notre propre ordinateur client. En effet, 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 en option

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 est fondamental

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).

2. Exécution du Serveur et établissement de la connexion

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 par un trojan/cheval de troie

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 sur les trojans ?

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 un Cheval 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.

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.

Des codes sources de trojan (ou devrais-je dire de R.A.T) existent sur Internet comme celui-ci : https://github.com/quasar/Quasar.

Il est d’ailleurs plus avancé que celui que j’ai créé pour la démonstration de cet article, mais n’en est pas illégal en soi pour autant. Les objectifs et le public destiné sont bien définis sur la page.

Articles similaires

Menu