Analyse de T0rn
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ButLe but de cet article est d'informer la communauté des administrateurs d'IDS des signatures liées au rootkit T0rn. Cet article ne servira pas de guide d'utilisation du rootkit T0rn; il est plutôt conçu pour identifier des binaires et des ports que T0rn utilise. Cet article fournira également les md5sums des binaires et une analyse sur la façon de détecter T0rn.Rootkit T0rnLe rootkit T0rn est conçu pour la vitesse. Par cela je veux dire qu'il a été conçu pour s'installer rapidement sur des machines Linux. T0rn peut faire ceci parce qu'il necessite de faibles compétences pour etre installer et fonctionner. Tous les binaires dont l'attaquant aurait besoin viennent pré-compilé et le procédé d'installation sont aussi simples que ./t0rn. T0rn vient en standart avec un nettoyeur de logs appelé t0rnsb, un sniffer nommé t0rns et un programme d'analyse de logs appelé le t0rnp. Details Red Hat 6.1T0rn a beaucoup de détails qui doivent être discutés et analysés afin de le détecter. L'ordinateur qui a été utilisé dans cette analyse est un systeme RH 6.1 sans patches appliqués, le fichier inetd.conf avait été securisé, le mot de passe avait 6 caractères et la machine etait reliée à un réseau interne. Afin d'analyser T0rn, j'ai dû regrouper des données de préinstallation t0rn qui inclus les tailles et les dates de création des binaires de RH et des binaires pré-compilés de T0rn. D'abord, nous voulons jeter un coup d'oeil sur les binaires de la Red Hat 6.1 (avant l'installation de t0rn) leurs dates, tailles et leurs timestamps. La figure 1 est une liste de certains binaires et de leurs caracteristiques..
Figure 1. Binaires et propietes RH 6.1 Pourquoi cette information est-elle importante? Comme vous verrez dans une minute, la taille des fichiers est un indicateur cle pour la detection de t0rn. Un autre morceau de données que j'ai rassemblées était le md5sums des binaires de la RH 6.1. J'ai pensé que le créateur de ce rootkit pourrait pouvoir masquer le timestamp de taille et de création de fichier qui sont inclus dans ce rootkit avec les bons dans les systèmes d'exploitation. Mais il y aurait peu de chance qu'il ait pu recréer les md5sums. Le schéma 2 illustre les md5sums des binaires de la RH 6.1. qui seraient par la suite remplaces par t0rn.
Figure 2. RH 6.1 md5sums (avant t0rn) J'ai aussi copie la plupart des binaires de la RH 6.1 vers un repertoire different, ainsi je pourrais les utiliser apres que les binaires du trojan soient charges. Details T0rnMaintenant que nous avons analysé les binaires de Redhat, jetons un coup d'oeil aux binaires de t0rn avant installation. Après avoir decompresser t0rn, j'ai fait une liste (schéma 3) des binaires de t0rn et de leurs propriétés (n'a pas obtenu l'année mais ce n'est pas important).
Figure 3. Binaires et propietes t0rn (avant installation) Après avoir documenté les tailles et les propriétés des fichiers de t0rn, j'ai également exécuté un md5sum sur les binaires de t0rn. Ils apparaissent sur le schéma 4. Ces totaux de contrôle (checksums) peuvent être critiques pour déterminer si t0rn a été installé sur votre Linux.
Figure 4. md5sums t0rn Detecter t0rnQuand t0rn est installé, plusieurs choses se produisent. D'abord, il crée son propre répertoire /usr/src/.puta. Là vous trouverez tous les fichiers (sniffeur, nettoyeur de logs, ...) nécessaire pour l'exécuter. Il n'est pas vraiment difficile a détecter dans installation par defaut. La première commande que j'ai exécutée après installation du rootkit était ps -ef. Le resultat de ps -ef était totalement différent du resultat du binaire /bin/ps. La prochaine mesure que j'ai prise était le controle de la taille et le timestamp des fichiers. T0rn est rusé pour cela, les binaires infectes par le trojan ont le même timestamp que les bons binaires. Ce qui sautemt aux yeux est la taille des fichiers. Un exemple de ceci est /bin/ps. Normalement, si vous deviez exécuter ls -al /bin/ps (RH 6.1) vous auriez le resultat suivant: -r-xr-xr-x 1 root root 61244 Sept 26 1999 Si t0rn est installe, l'utilisateur verra: -r-xr-xr-x 1 root root 31336 Sept 26 1999 Notons la difference de taille du fichier. Cela est vrai pour tous les binaires de t0rn. Le binaire que j'ai trouve le plus insteressant etait netstat. Pourquoi? parce que la version netstat de t0rn provoque un segmentation fault. T0rn peut etre detecter en utilsant lsof. (Oui, les gars qui ont ecrit le rootkit t0rn ont oublie de changer cet outil important.) Le lancement de lsof | grep LISTEN montrera que le port 47017 (en rouge) est en ecoute (schema 5).
Figure 5. resultat de lsof | grep LISTEN Ce port est le port par defaut utiliser par t0rn. En utilisant lsof | grep t0rn, une personne peut voir que tout fonctionne sous en tant que t0rn. La figure 6 nous montre les resultats de lsof -grep t0rn
Figure 6. Resultat de lsof Ici, nous allons quelques elements cles. D'abord, nous voyans que le fichier /usr/src/.puta/t0rns (sniffer) en execution (en rouge). Nous voyons aussi que /usr/src/.puta, encore une fois, c'est le repertoire cache utiliser par t0rn. Ces deux fichiers peuvent etre des indicateurs cles pour identifier t0rn. Enfin, j'ai aussi trouve t0rn en lancant nmap et en scannant les ports de destination 45k -48k. Le resultat de nmap ressemble a: Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ ) Interesting ports on (192.168.1.3): (The 4000 ports scanned but not shown below are in state: closed) Port State Service 47017/tcp open unknown TCP Sequence Prediction: Class=random positive increments Difficulty=3980866 (Good luck!) Remote operating system guess: Linux 2.1.122 - 2.2.16 Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds RecommendationsLe detection de t0rn ou de n'importe quel autre rootkit exige une planification en installant les systèmes d'exploitation. Le meilleur moyen d'empêcher ce genres d'attaques est d'utilisant des programmes comme Tripwire, de bonnes sauvegardes et de suivre les derniers patches. Une autre suggestion est d'exécuter md5sum sur des binaires tels que /bin/ps, /bin/ls et beaucoup d'autres et de les garder dans un endroit sur. ConclusionT0rn est un toolkit très sneaky et peut être dur a détecter si un administrateur ne sait pas quoi rechercher. Si une personne suit les recommandations indiquées ci-dessus, il ou elle pourrait eviter beaucoup de maux de tete et de temps perdu pour rechercher des programmes comme celui-la.
Traduit par NightBird http://www.nightbird.free.fr/ |