Rootkit sous Linux â?? Comprendre comment ca fonctionne
Samedi, 27 août 2005
Masquage de présence dans le système
La situation dans Unix rappelle fortement celle de Windows.
L'attaquant installe le rootkit sur l'ordinateur une fois qu'il a
obtenu les accès privilèges (accès root).
Les accès root,
indispensables pour installer la majorité des rootkit, sont accessibles
via des vulnérabilités bien connues si le malfaiteur a accès au système
avec les mĂŞmes droits qu'un utilisateur ordinaire.
Dans ce cas-l? , il
peut utiliser un exploit local ou un utilitaire pour forcer les bases
protégées par mots de passe. Si le malfaiteur ne dispose pas des droits
nécessaires pour s'infiltrer dans le système, alors il peut utiliser un
exploit ? distance ou, par exemple, un sniffeur de claviers pour
obtenir les mots de passe.
L'interception de mots de passe peut ĂŞtre
utilisée pour de nombreux services (ftp, telnet etc.) du fait que ces
derniers transmettent les mots de passe sur le réseau non crypté.
En fonction de ces capacités, le rootkit peut contenir divers programmes malicieux trojan-DDoS, backdoor
et autres qui s'installent sur la machine compromise, et attendent de
la part de l'attaquant un ordre ? exécuter. De plus, les rootkit
peuvent contenir un patch qui colmate la brèche dans le système afin
d'éviter l'infiltration d'un attaquant tiers.
Tout comme dans Windows, Unix fait face ? des rootkit aussi bien au niveau des applications qu'au niveau du noyau.
Voyons les rootkits en mode utilisateur. En général, les rootkit se
composent de versions de programmes ordinaires 'infecté par trojan'
masquant la présence de ses composants dans le système, et de backdoor
assurant un passage secret dans le système. Comme exemple de rootkit en
mode utilisateur, on trouve lkr, trOn, ark et autres.
Prenons tr0n comme exemple de rootkit en mode utilisateur. Pour
cacher sa présence dans le système, ce rootkit exécute une série
d'actions. Au moment de son installation, il stoppe syslogd-demon, puis
remplace par ses Trojans les utilitaires de systèmes suivants: du,
find, ifconfig, login, ls, netstat, ps, top, sz. De plus, une version
Trojan de syslogd-demon est rajoutée dans le système. Enfin, un
sniffeur est demarré en tâche de fond, le lancement des daemons
telnetd, rsh, finger est rajouté dans inetd.conf, inetd est redémarré
et syslogd est démarré ? nouveau.
D'ordinaire, tr0n se situe dans /usr/src/.puta mais grâce au composant ls déj? installé, le catalogue est invisible.
Voyons maintenant le rootkit au niveau du noyau. Les rootkit de ce
type possèdent toutes les caractéristiques du type décrit précédemment,
mais ? un niveau plus bas. Les rootkit en mode utilisateur doivent
modifier chaque fichier binaire alors que les rootkit en mode noyau
doivent modifier uniquement le noyau, ce qui augmente considérablement
la « qualité » de camouflage de l'information.
Il existe plusieurs moyens d'introduire des rootkit dans le système noyau:
- l'utilisation de LKM, le noyau Linux (comme dans beaucoup
d'autres systèmes d'exploitation) permet de télécharger des modules (ou
des pilotes systèmes ) "? la volée", ce qui permet au malfaiteur de
modifier les requêtes système du noyau, et de donner des informations
erronées (par exemple une liste rectifiée de fichiers). Il est possible
d'empêcher de telles attaques en recompilant le noyau système sans le
LKM, mais cette méthode présente un défaut - il est indispensable
d'inclure tous les pilotes nécessaires dans le noyau; - une
entrée dans /dev/kmem qui accorde l'accès dans la zone mémoire occupée
par le noyau. L'entrée réécrit le noyau '? la volée'. De cette façon,
pour modifier le noyau, il faut simplement trouver une place en
mémoire, mais ce n'est pas un problème insoluble. Certaines
modifications peuvent être faites, interdisant d'écrire directement
dans /dev/kmem. Cela est réalisable par mmap; - l'infection de
modules existants; se distingue de la première méthode du fait que le
rootkit ne contient pas de module ? part et utilise l'infiltration dans
les modules existants. L'adoption d'une telle méthode permet de faire
le rootkit stable lors du redémarrage, en infectant quelques modules
qui seront téléchargés de toute façon (par exemple, le driver du
système fichiers).
La détection de Rootkit
Pour détecter des rootkit, il n'y a malheureusement pas de solutions
miracles, mais les conseils exposés ci-dessous permettent de détecter
la majorité des rootkit actuels:
- l'observation d'un comportement anormal des fichiers,
utilisation des ressources du réseau, démarrage de tâches selon un
horaire défini et au moment du démarrage, gestion des comptes
utilisateurs; - l'utilisation des utilitaires suivants, qui
aident ? mettre en évidence la présence de rootkit dans le système:
Saint Jude, Chrootkit, RkScan, Carbonite, Kstat, Rootkithunter,
Tripware, Samhain etc.
Publié par Webmaster | Pas de commentaire
Avant: Jouez ? “Medal Of Honor dĂ©barquemment alliĂ©” en natif sous Linux
Laisser un commentaire
Vous devez vous identifier pour laisser un commentaire.

