Browsing Tag Les Troyens

LES TROYENS : Etude de cas

LES TROYENS : Etude de cas

Les Troyens

Les troyens ou chevaux de Troie permettent à une personne malveillante d’ouvrir des brèches dans un système, c’est à dire d’ouvrir un port sur la machine distante qui va permettre aux deux machines de communiquer. Pour que la communication s’établisse il faut deux parties essentielles, un logiciel serveur qui doit être installé sur la machine distante et un logiciel client qui permettra de piloter l’ordinateur distant.

La première étape consiste à envoyer à la machine cible le logiciel serveur. Étant donné la nuisance que peut occasionner un cheval de Troie, l’utilisateur cible ne va pas de son plein gré exécuté le programme s’il sait de quoi il s’agit. Aussi, le cheval de Troie en lui-même va être présenté comme différent, un logiciel pour casser les mots de passe ou un antivirus par exemple, et lorsque l’utilisateur se plaindra que le programme ne fonctionne pas, la personne va s’en étonner en expliquant pour elle le logiciel ne présente pas de problème. Ainsi, ce déroule souvent une infection, à la suite d’un dialogue sur ICQ, IRC ou tout autre espace de chat.

Autre méthode, plus subversive, existe, elle consiste à introduire le troyen directement dans un logiciel, aussi divers soit-il, puis de le faire parvenir à la personne visée, dès lors tout programme peut être infecté ! De plus, selon la personne visé, ses intérêts, sa vigilance, le mode d’infection peut être personnalisé.

Après l’infection, il faut attendre l’exécution du programme. Dans ce cas deux solutions, soit le cheval de Troie a été exécuté seul, alors un message d’erreur s’affiche, soit le troyen incorporé dans un autre logiciel, s’exécute sans changer le comportement du logiciel.

La partie active du programme (soit le troyen en lui-même, soit la partie nocive d’un logiciel) va se renommer, prend un nom qui ne soit pas suspect (qui change avec le cheval de Troie) et se place dans un dossier généralement peu fréquenté (du type C:windows, ou C:windowssystem, où il existe un grand nombre de fichiers dont l’utilité est parfaitement inconnue.). De plus, le troyen va généralement écrire dans la base de registre pour pouvoir s’exécuter à chaque lancement de l’ordinateur.

A la suite de ces opérations, le cheval de Troie est actif et prêt à être utilisé, suivant la méthode utilisé par le troyen, celui-ci va attendre qu’il détecte la possibilité de se connecter à un serveur sur Internet ou alors que le pirate tente de se connecter à la machine. La technique est toujours la même, après une requête du pirate, le programme ouvre un port, qui permet par la suite toute communication entre les deux logiciels (serveur et client), de telle sorte que le pirate peut accéder à tous les fichiers de la personne infectées.

Dès lors, le pirate peut réaliser de très nombreuses choses sur l’ordinateurs distants. Lorsqu’une liaison est établie entre le serveur (la personne « infecté ») et le pirate de nombreux renseignements peuvent être récupérés :

*

nom du DNS
*

l’adresse IP (cependant celle-ci doit généralement être connu auparavant)
*

la présence d’un firewall qui pourrait empêcher la connection du pirate
*

la présence d’un proxy
*

de nombreuses information sur les interfaces (type, vitesse, etc.)
*

les caractéristiques de l’ordinateur (processeur, mémoire, disque dur…)
*

les navigateur installés(Internet Explorer, Netscape)
*

les logiciel de messagerie (Outlook, Eudora, etc.)
*

programmes enregistrés
*

nom réel d’utilisateur
*

nom d’utilisateur
*

adresse e-mail

De très nombreux troyens sont disponibles sur Internet, mais un certain nombre sont particulièrement répandus.

Quelques exemples de troyens les plus connus et facilement téléchargeables sur le Web :

* Socket de Troie (ou socket 2.3 français)
* Back Orifice (le plus connu, sorti en aout 1998, voir ici)
* NetBus
* Trojan Horse Construction Kit
* mIRC troyen
* script.ini (troyen sous mIRC)
* ICKiller (troyen pour ICQ)
* P2R Troyen (Peur2Rien)
Exemple détaillé : BackOrifice

1) Définition de « Back Orifice »

« Back Orifice » est une application client/serveur qui permet au logiciel client de surveiller, administrer, et effectuer à distance n’importe quelle action (réseau, multimédia, redémarrage, fichiers,…) sur la machine exécutant le serveur.

Actuellement, le serveur ne peut s’exécuter que sous Windows 95/98. Par contre, l’application cliente (en mode console ou en mode graphique) peut être lancée sous Windows 95/98 ou Windows NT, et même sous UNIX (interface console seulement)

2) Origine et buts de « Back Orifice »

Cette application a été développée en 1998 par un groupe de « hackers » nommé « Cult of the Dead Cow » (cDc) et diffusée sur Internet très rapidement, dans le but (d’après leurs auteurs) de mettre en évidence les trous de sécurité existant dans Windows  95/98 (et donc de dévaloriser ce système. L’intention « anti-MicroSoft » est clairement affichée, comme en témoigne le nom même de « Back Orifice », évoquant la suite bureautique de Microsoft « Back Office »).
Ce groupe n’est pas clandestin :

* adresse postale : cDc communications, PO Box 53011, Lubbock, TX, 79453, USA
* adresse Web : http://www.cultdeadcow.com

Il a été créé en 1984 et a adopté ce nom pour le moins étrange de « Culte de la Vache morte » par référence à une expression utilisée par Li Peng pour désigner (avec un certain mépris) le respect des Droits de l’Homme (Les hackers du cDc n’ont pas apprécié la rencontre de Bill Gates avec le président chinois en 1996).

Remarque importante : ce logiciel n’est pas un virus, en effet le programme ne se duplique pas automatiquement comme le fait un virus.

3) Composition de Back Orifice

Il peut être obtenu depuis différents sites Internet.
Pour l’application client et serveur Windows (exécutables – le fichier compressé a une taille de 278 ko).

Pour l’application cliente UNIX (source + makefile – le fichier compressé a une taille de 27 ko).

Back Orifice a été téléchargé 35 000 fois dans les 4 premières heures et 100 000 fois après 21 jours (à l’heure actuelle plus de 200 000 fois)

Une fois décompressé (version Windows) , « Back Orifice » se compose des fichiers suivants :

Nom


Taille (ko)


Implantation


Interface


Rôle


BOGUI.EXE 284
160
Client Graphique Application
cliente en mode graphique, permettant d’envoyer des commandes
vers la station serveur
BOCLIENT.EXE 57
856
Client Console Application
cliente en mode texte, permettant d’envoyer des commandes vers la
station serveur
BOCONFIG.EXE 28
672
Client Console Module de
configuration de l’exécutable serveur (nom, mot de passe, n° de
port IP)
FREEZE.EXE 33
280
Client Console Compresseur de
fichiers
MELT.EXE 29
184
Client Console Décompresseur de
fichiers
BOSERVE.EXE 124
928
Serveur


Néant Application
serveur lancée en tâche de fond sur la station Windows
95/98
BO.TXT 15
184
Client Documentation
générale
PLUGIN.TXT 914 Client Documentation sur
les extensions possibles

4)Installation de Back Orifice

Serveur

Il suffit d’exécuter le fichier exécutable BOSERVE.EXE

Cette exécution peut être effectuée :

* Volontairement par l’utilisateur de la station Windows 95/98. En effet, malgré sa réputation « sulfureuse », Back Orifice peut être un EXCELLENT outil de télémaintenance, au même titre que des produits commerciaux comme « PCAnyWhere ».
* Involontairement,à la suitede l’installation d’un autre logiciel dans lequel BOSERVE aura été ajouté, ou encore plus simplement en exécutant BOSERVE qui aura été renommé sous un nom quelconque et plus ou moins familier à l’utilisateur. Par exemple, on veut envisager le scénario suivant :

Un serveur FTP, HTTP, Notes,…met à la disposition de tout le monde un utilitaire de conversion de fichier (Word, PDF, ..), nommé (par exemple) « wordconf.exe ».
En réalité, cet exécutable n’est autre que « boserve.exe » renommé.
Une fois ce fichier téléchargé, il est vu comme un exécutable tout à fait inoffensif par n’importe quel antivirus. En effet, il ne possède aucune signature de réplication, et son exécution n’altère aucun secteur disque vital tel que le MBR (Master Boot Record, qui contient la table de partitions) ou un secteur de démarrage.
Son exécution, qui est totalement silencieuse, ne va générer aucun message. L’utilisateur n’y prêtera pas une attention particulière (dans le cas d’un filtre de conversion, il n’y a rien de « visible » qui doive se produire).

Lors de sa première exécution, BOSERVE.EXE va procéder aux 2 opérations suivantes :

* auto-renommage de « BOSERVE.EXE » en  » .EXE ».

Le nom du fichier se réduit à un espace, suivi de l’extension habituelle « exe » des exécutables!) Cela lui permet de passer presque inaperçu à l’utilisateur. En, effet, une commande DOS telle que « dir *.exe » va afficher le nom court de ce fichier, qui est alors « exe~1″ (sans extension)

* modification de la clé suivante de la base de registres :

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices
La valeur par défaut de cette clé, vide en temps normal, se voit affecter la chaîne  » .exe »

Conséquences :

La clé désignée ci-dessus contient la liste de toutes les applications lancées au démarrage de Windows, avant même l’ouverture d’une session utilisateur. Or l’éditeur de stratégies système « PolEdit » (fourni avec Windows) ne trouve aucune trace de Back Orifice (rubrique « Registre /Ordinateur local/ Système/ Programmes à exécuter/ Exécuter services » qui sert à afficher et/ou éditer la listes des services).
Cette anomalie s’explique simplement par le fait que Back Orifice, renommé en  » .exe », est un service sans nom puisque inscrit dans la valeur par défaut de la clé de la BDR.
Seul un examen approfondi de la BDR à l’aide de regedit peut repérer Back Orifice (et à la condition de connaître son nouveau nom  » .exe »)

Ce qu’il y a dans la base de registre :

Back Orifice fait appel à des API très importantes de Windows. Par exemple on dénote :

* accès et modification de la base de registre
* gestion de processus
* gestion réseau
* terminaison de Windows
* gestion de « hook » (détournement de messages Windows)

Client

Il suffit d’exécuter (sous Windows) l’un des deux programmes BOCLIENT.EXE (mode console) ou BOGUI.EXE (mode graphique).

Principe de communication client/serveur

Le client et le serveur échangent des paquets cryptés en UDP/IP (donc un mode non connecté) et utilisent par défaut le port n° 31337 .

Ce numéro peut être modifié à l’aide d’un utilitaire (boconfig.exe) appliqué sur le module serveur avant téléchargement vers le serveur. Il suffit ensuite que l’application cliente connaisse le hostname ou adresse IP du serveur, ainsi que le numéro de port retenu.

Dans le cas où le serveur n’a pas d’adresse IP statique (dans la plupart des cas, sauf liaisons cacles, ADSL…), il a été prévu dans l’application cliente une procédure de balayage de plages d’adresses IP, effectuant alors une série de « ping » jusqu’à ce que le serveur réponde.
Un nombre très important de commandes est disponible. Certaines sont des commandes TCP/IP encapsulées.

5) Tests

« System Info »

Affiche les caractéristiques principales du serveur :

* Processeur
* Système d’exploitation
* Mémoire vive
* Disques durs

« File view »

Affiche le contenu de n’importe quel fichier texte (dans l’exemple ci-contre, le fichier « notes.ini »)

« HTTP Enable »

Back Orifice serveur contient un serveur HTTP, dont on peut choisir le n° de port. Ici, on a retenu 8181.

Il est alors possible d’explorer les répertoires depuis n’importe quel navigateur Web.

« Process list »

Affiche la liste de tous les processus actifs sur le serveur.

« Reg list values »

Affiche la liste des valeurs contenues dans une clé de la base de registres. Dans l’exemple ci-contre, on affiche la liste des services.

« System Passwords »

Une des fonctionnalités les plus étonnantes (et dangereuses) : Back Orifice affiche en clair TOUS les mots de passe réseau mémorisés par le système !

(ces mots de passe ont été masqués dans l’exemple ci-contre!)

Les autres commandes existantes sont :

* transfert de fichiers via FTP
* arrêt puis redémarrage de Windows
* exécution d’un programme
* création / suppression de répertoires
* copie / suppression de fichiers
* compression / décompression de fichiers
* opérations « multimédia » (exécution d’un fichier son, clip vidéo,..)
* connexion / déconnexion réseau (montage / démontage de ressources)
* création / suppression de clés dans la BDR

6) Conséquences

Elles sont évidentes : Si le serveur Back Orifice a été introduit sur une station Windows 95/98 dans un but mal intentionné, toute station dotée du client Back Orifice pourra TOUT faire à distance sur cette machine (suppression de fichier, capture de mot de passe, exécution de n’importe quel programme,…)

Donc les conséquences peuvent être très graves !

Mais il faut noter que l’utilisation d’outils de télémaintenance tout à fait « officiels » comme « PCAnyWhere », « Carbon Copy », « LapLink », … peuvent de la même façon perturber le fonctionnement d’une machine s’ils sont mal utilisés.

Cette situation est due au fait qu’il n’y a aucune sécurité réelle dans Windows 95/98, à l’opposé de Windows NT et de tout système UNIX. Une fois que l’on a pu accéder par exemple au « menu démarrer », il n’y a pas de contrôle d’exécution par rapport à l’utilisateur en cours (Par exemple, sous Windows NT, l’accès à la base de registre est réservée aux administrateurs, de même, sous UNIX, seul le compte « root »‘ peut modifier les fichiers de configuration situés dans le répertoire /etc)

7) Les parades

Préventives

* S’assurer au maximum de la provenance des fichiers téléchargés depuis un serveur Internet.
* Travailler sous un système d’exploitation sécurisé : Windows NT, UNIX (Linux)

Curatives

Comme on a pu le voir précédemment, Back Orifice serveur est constitué d’un seul fichier (BOSERVER.EXE, renommé en  » .exe »), et d’une clé dans la Base de Registres. Donc pour enlever Back Orifice de sa machine, il suffit de :

* supprimer le fichier  » .exe » (situé dans le répertoire windowssysteme)
* supprimer la chaîne  » .exe » de la valeur par défaut de la clé

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices

* redémarrer la machine

Outils d’éradication ou de surveillance

Indépendamment des anti-virus habituels, différents outils ont été développés soit pour éradiquer Back Orifice, soit pour averir l’utilisateur qu’il est « espionné » par Back Orifice :

Antigen

Cet utilitaire gratuit sert à détecter, nettoyer et détruire Back Orifice. Il utilise une interface graphique pour guider l’utilisateur dans cette tâche. C’est un produit de Fresh Software.
Il est disponible à l’adresse suivante :

http://www.arez.com/fs/antigen/

Back Orifix

Ce logiciel est diffusé gratuitement sur Internet depuis le 1er septembre 1998. Il  émane de l’entreprise canadienne « GroupAxion ». Son but est de supprimer Back Orifice. Back Orifix effectue une recherche complète de Back Orifice, affiche le fichier le concernant puis le supprime. Par contre, il ne restaure pas la Base de registres, ce qui est un oubli important.
Il est disponible à l’adresse suivante :
http://www.groupaxion.com/BOrifix/telechargement.HTML

BOFreeze

Cet utilitaire gratuit a un rôle défensif. Il ne prémunit pas contre l’infiltration de Back Orifice et ne le supprime pas, par contre il peut avertir l’utilisateur d’une « attaque » de Back Orifice. Il  identifie les paquets UDP arrivant sur le PC, les décrypte et détecte la chaîne caractéristique de Back Orifice qui est   *!*QWTY? .
Ensuite il retourne au client Back Orifice des paquets volontairement malformés afin de le bloquer complètement.
Il est disponible à l’adresse suivante :
http://members.xoom.com/wzc/bof/main.HTML

NOBO

Cet utilitaire gratuit sert à détecter une attaque de Back Orifice. Il ne prémunit pas contre l’infiltration de Back Orifice et ne le supprime pas.Il engistre les paquets UDP arrivant sur le PC et les stocke dans un fichier journal.
Il est disponible à l’adresse suivante :
http://web.cip.com.br/nobo/nobo_en.HTML

mai 17, 2010 Par : admin Catégorie : Educatif Sécurité Informatique Tags:
1 Comments