SlideShare une entreprise Scribd logo
Comment analyser une
machine linux compromise
Tarek MOHAMED CHFI, CEH, ESCP
http://www.linkedin.com/in/tarekmed

tarekmed.rachdi@gmail.com

[Tapez le résumé du document ici. Il s’agit généralement d’une courte synthèse du document. Tapez
le résumé du document ici. Il s’agit généralement d’une courte synthèse du document.]
Analyse d'un système linux suite
à une intrusion
L’inspection d’une machine Linux, suite à une attaque (directe où indirect), suite à la
détection d’un événement de sécurité suspect où suite à la détection d’un comportement
virale, doit suivre une certaine logique fondamentale qui nous permettra de comprendre le
scénario et préciser les vulnérabilités qui affectent notre système.
L’entité chargée de la mission d’investigation doit suivre les étapes suivantes :
1) Date et temps système : L’intervenant doit extraire la date et le temps système et les
synchronisés avec son horloge pour définir les écarts entre toutes les entités en
relation avec la machine en question.
Date et le temps système date de la machine compromise

Horloge de l’analyste

NB : il ya un avance de 59 seconde de la machine compromise par rapport à l’horloge de
l’intervenant.
2) Connexions réseaux:
a) Analyse interne : Il est très important de voir les connexions réseaux courantes (Port
TCP, UDP ouvert), pour détecter les connexions suspectes, pour cela la commande
«netstat» est disponible sur toutes les distributions Linux et qui nous permet
d’afficher les connexions réseau ouvertes, les tables de routage, les statistiques des
interfaces, les connexions masquées, les messages netlink et les membres multicast.
Afin de visualiser plus de détails sur les connexions réseaux courantes vous pouvez
utiliser les options de la commande « netstat» par exemple la commande « netstat –a»
vous permet de visualiser les connexions et des ports en écoute sur la machine.
Pour lister les noms des programmes qui ouvert les ports, nous allons exécuter la
commande « netstat –nap».
Une attaque peut modifier la table de routage pour rediriger les flux sortants de la
machine, afin de surpasser à travers les règles du pare-feu. Et pour afficher la table de
routage interne utilisez la commande «netstat –rn» ou à l’aide de la commande
« route –c ».
b) Analyse externe : Dans la plupart des incidents, les programmes malveillants (rootkits
, malwares, virus,..) infectent les machines linux en modifiant leurs binaires, en
particulier le binaire de « netstat » pour cacher les ports ouvertes et les connexions
réseaux camouflés par les programmes malveillants. Pour cela, on va utiliser le
l'analyseur réseau (sniffer) wireshark (www.wireshark.org) et le scanneur des ports
Nmap ( http://nmap.org).
-Wirshark : Connecter la machine de l’investigateur et la machine infectée sur le
même HUB ou SWITCH (brancher la machine d’investigation sur un port mirroring
pour pouvoir écouter et capter tous les trafics réseau). Ensuite, lancer wirshark et faites
un filtre sur l’adresse IP de la machine infectée.
Nmap : Lancer un scan avec l’outil nmap depuis l’extérieur sur la machine victime
infecté pour lister tous les ports ouverts.
3) Les programmes responsables sur l’ouverture des ports (TCP, UDP) et les
fichiers : Après l’identification des ports et les connexions distantes suspectes, il faut
vérifier les exécutables qui ouvet les fichiers et les ports TCP et UDP, pour cela,
utiliser l’outil « lsof » (LiSt Open File) et appliquer les filtres adéquats en utilisant les
options de la commande « losf » suivantes :
 lsof -i : afficher seulement les résultats en relation avec les services internet
TCP et UDP.
 lsof –i tcp : afficher seulement les résultats en relation avec les services
internet TCP.
 lsof –i udp : afficher seulement les résultats en relation avec les services
internet UDP.
 losf –i tcp :22 : Pour afficher seulement les résultats en relation avec les
services internet TCP sur le port 22.
 lsof -i @192.168.1.46 : (Pour afficher seulement les résultats en relation avec
les services internet avec l’adresse IP 192.168.1.46.

4) les processus actifs : Habituellement les programmes malveillants (malwares, virus,
rootkits,…) lancent des processus suspects. Donc il est très important de savoir les
processus en exécutions, et pour cela il suffit d’utiliser la commande « ps -aux ».

Dans l’exemple ci-dessus le processus ayant le PID=1199 est exécuté par le utilisateur
root.
Pour faire un filtre sur un processus vous pouvez utiliser la commande « ps –e | grep
nom_process » par exemple pour vérifier le processus ssh ; « ps –e|grep ssh ».
5) Tâches planifiées et services de démarrage :
D’une part, la plupart des incidents liées aux systèmes linux, l’attaquant infecte le
système en mettant des tâches planifiés ou des services au démarrage qui exécutent
certaines commandes ou lancent quelques processus pour ouvrir une porte dérobée
sur la machine victime.
Vérification des tâches planifiées : il suffit de taper « crontab –l » mais probablement
l’exécutable crontab peut être compromis donc il vaut mieux observer manuellement
le fichier /etc/crontab.
Vérification des services de démarrage : il vaut mieux vérifier sur quel niveau les
services démarrages (/etc/init.d/ et /etc/rc.local et /etc/xinit.d) sont chargés avec la
commande runlevel et selon ce niveau on visualise le contenue du dossier
correspondant (rc0.d/, rc1.d/, rc2.d/,rc3.d/, rc4.d/, rc5.d/, rc6.d/) et n’oubliez pas
d’analyse du fichier rc.sysinit.
D’autre part, l’évolution des attaques sophistiquées en particulier le rootkit kernel qui
s’installe au niveau du noyau, et pour identifier les modules suspectes chargés au
niveau du noyau, il suffit d’utiliser la commande « lsmod » qui affiche le nom du
module, leur taille et utilisateurs.
6) Les utilisateurs et leur historique :
L’identification des utilisateurs connectés sur la machine, les comptes utilisateurs et
l’historique des login pour détecter les utilisateurs suspects et voir les commandes qui
ont été exécuté par chaque utilisateur.
 La commande « last » pour lister toutes les connexions et déconnexions des
utilisateurs dans notre système qui ont journalisé dans « /var/log/wtmp »,
 La commande « Lastb » se comporte comme last, mais il journalise toutes les
tentatives des connexions infructueuses dans « /var/log/btmp».
 On peut aussi utiliser la commande « last » avec leurs options par exemple
« last -d» pour afficher seulement les connexions distantes ; le nom d'hôte
ainsi son adresse IP.

 La commande « w » pour afficher les utilisateurs qui ont actuellement
connectés sur la machine sont journalisés sous le log «/var/run/utmp»

 N’oubliez pas de vérifier la création de nouveaux comptes non autorisés, les
comptes sans mots de passe, les changements d’UID sur les comptes déjà
existant, pour cela afficher la contenu de fichier « /etc/passwd ».
 La commande « history » pour voir toutes commandes exécutées par chaque
utilisateur.
7) Intégrité des fichiers binaires :
Une attaque peut modifier les binaires usuels (netstat, ls, ps, su, telnet, ifconfig, find,
...) pour cacher leur identité en cas de l’utilisation des ces binaires au cours de la
mission d’investigation. Donc, il faut vérifier l’intégrité de ces programmes. Et pour la
vérification de l’intégrité des binaires ;
 Démarrer sur une distribution linux bootable (par exemple knoppix
http://knoppix.net) .Utiliser l’outil « md5sum » de la distribution bootable pour
calculer les signatures des binaires de la machine victime, les signatures de la
distribution bootable et comparer les deux résultats, si deux signatures d’un
même binaires différents alors la machine est certainement compromise par un
rootkit.
 Ttapez les commandes avec des options réellement inexistants tel que « -/ » ('
netstat -/ ', ' ps -/ ', ' ls-/’,..) , ces essais ne devraient retourner que des erreurs ;
dans le cas contraire, la machine est certainement compromise par un rootkit.
8) Recherche des fichiers cachés :
Généralement un intrus ou un malware dépose souvent dans un répertoire utilisateur,
des répertoires cachés avec des noms inhabituels (deux points suivis d’un espace, trois
points, deux points suivis d’un control G) ou bien des fichiers dont le nom paraîtrait
normal à première vue (".XX" ou ".mail").
Pour chercher ces dossiers cachés on va utiliser la commande suivante :
find / -name ".. " -print ou find / -name ".*" -print.
9) Recherche des fichiers setuid et setgid :
Recherchez les fichiers setuid et setgid (en particulier les fichiers setuid) dans toute
l’arborescence. Tout processus exécutant un fichier ayant setuid peut exécuter ces
tâches avec des permissions de super utilisateur root. En effet, la plupart des intrus
laissent des exécutables setuid pour pouvoir l’utiliser ultérieurement.
Vous pouvez utiliser les commandes suivantes afin de rechercher les fichiers setuid et
setgid :
find / -user root -perm -4000 -print
find / -group root -perm -2000 -print

Contenu connexe

PDF
l'ordinateur
PDF
Forensic artifacts in modern linux systems
PPTX
Asma hafsi les_data_centers_en_tunisie
PDF
Administration Reseau
PPTX
La sécurité informatique
PPTX
La Sécurité informatiques
PPTX
PACKET Sniffer IMPLEMENTATION
PPTX
Administration réseaux sous linux cours 1
l'ordinateur
Forensic artifacts in modern linux systems
Asma hafsi les_data_centers_en_tunisie
Administration Reseau
La sécurité informatique
La Sécurité informatiques
PACKET Sniffer IMPLEMENTATION
Administration réseaux sous linux cours 1

Tendances (20)

PPTX
Rtlinux
PDF
guide-cartographie-systeme-information-anssi-pa-046 (1).pdf
PDF
Arbre et algorithme de recherche
PPTX
Introduction-to-Security-Operations-Center (SOC)
PDF
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
PDF
Alphorm.com Formation Analyse de Malware 1/2 : Le guide complet
PDF
Study of Digital Forensics on Google Cloud Platform
PDF
Cours python avancé
PDF
Fiche TD sur les systèmes informatiques
PDF
BigData_TP3 : Spark
PPT
Cours traitement du son avec audacity
PDF
Principes fondamentaux de la sécurité du réseau.
PPTX
Ia project Apprentissage Automatique
PDF
Rapport d'activité de l'Institut Pasteur de Tunis 2018
PPTX
IDS,SNORT ET SÉCURITÉ RESEAU
PDF
BigData_TP1: Initiation à Hadoop et Map-Reduce
PDF
Cours système d'exploitation
PDF
05 visual basic .net - variables, procedures, arguments et structures de cont...
PDF
Introduction au Machine Learning
PDF
Kernel Process Management
Rtlinux
guide-cartographie-systeme-information-anssi-pa-046 (1).pdf
Arbre et algorithme de recherche
Introduction-to-Security-Operations-Center (SOC)
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Alphorm.com Formation Analyse de Malware 1/2 : Le guide complet
Study of Digital Forensics on Google Cloud Platform
Cours python avancé
Fiche TD sur les systèmes informatiques
BigData_TP3 : Spark
Cours traitement du son avec audacity
Principes fondamentaux de la sécurité du réseau.
Ia project Apprentissage Automatique
Rapport d'activité de l'Institut Pasteur de Tunis 2018
IDS,SNORT ET SÉCURITÉ RESEAU
BigData_TP1: Initiation à Hadoop et Map-Reduce
Cours système d'exploitation
05 visual basic .net - variables, procedures, arguments et structures de cont...
Introduction au Machine Learning
Kernel Process Management
Publicité

En vedette (20)

PDF
Alphorm.com Formation CEHV9 II
PDF
Lavavajillas Siemens SN24D206EU
PPTX
Espace laboratoire De la place Saint-Sauveur à la rue Caponière : diagnostic ...
PDF
Facebook fusion de pages - Terre & Côte Basques
PPTX
Louis 6c
PDF
Thermylis 2S - Atelier d'incinération de boues à 2 étages
PDF
Exploitez tout le potentiel des réseaux sociaux avec les social ads
PPTX
Noah en jonas
PPTX
Toolbox Light Entrepreneur 2012
PDF
Présentation Groupe de travail "BNDMR" (BNDMR-BaMaRa)_S.Amselem
PDF
4. le séquençage des reformes de finances publiques
PDF
Présentation de pro-info.be
PPTX
Administracion point
PPT
La plage
PDF
la plateforme d’information mobile et web de la maintenance immobilière
PPTX
REGLAMENTO ESTUDIANTIL-UPC
PPTX
tutorial sobre nectibles
PPTX
Les acteurs du changement destinataire
PDF
La créativité
PPSX
Electrónica analógica
Alphorm.com Formation CEHV9 II
Lavavajillas Siemens SN24D206EU
Espace laboratoire De la place Saint-Sauveur à la rue Caponière : diagnostic ...
Facebook fusion de pages - Terre & Côte Basques
Louis 6c
Thermylis 2S - Atelier d'incinération de boues à 2 étages
Exploitez tout le potentiel des réseaux sociaux avec les social ads
Noah en jonas
Toolbox Light Entrepreneur 2012
Présentation Groupe de travail "BNDMR" (BNDMR-BaMaRa)_S.Amselem
4. le séquençage des reformes de finances publiques
Présentation de pro-info.be
Administracion point
La plage
la plateforme d’information mobile et web de la maintenance immobilière
REGLAMENTO ESTUDIANTIL-UPC
tutorial sobre nectibles
Les acteurs du changement destinataire
La créativité
Electrónica analógica
Publicité

Similaire à Comment analyser une machine linux compromise (20)

PPTX
Gestion-des-parcs-informatiques Windows et Linux.pptx
PDF
Installation Et Configuration De Monkey Spider
PDF
Reverse Engineering d'un ransomware
PDF
TP1 analyse de mémoire.pdf
PDF
Premiers pas avec snort
PDF
Meetup Systemd vs sysvinit
PDF
Réseaux-et-Sécurité.pdf
PDF
Alphorm.com Formation Analyse de Malware 2/2 : Le guide complet
DOCX
Gestion et surveillance du reseau syslogng
PDF
Atelier IDS SNORT
PPTX
présentation sur l'utilisation de wireshark
PDF
Colloque cyber 2010 les botnets
PDF
Nettoyer et securiser son PC
PDF
Principes de fonctionnement unix
PPTX
Gestion des processus
PPTX
Expose linux gestion des processus
DOCX
Rapport projet
PDF
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...
Gestion-des-parcs-informatiques Windows et Linux.pptx
Installation Et Configuration De Monkey Spider
Reverse Engineering d'un ransomware
TP1 analyse de mémoire.pdf
Premiers pas avec snort
Meetup Systemd vs sysvinit
Réseaux-et-Sécurité.pdf
Alphorm.com Formation Analyse de Malware 2/2 : Le guide complet
Gestion et surveillance du reseau syslogng
Atelier IDS SNORT
présentation sur l'utilisation de wireshark
Colloque cyber 2010 les botnets
Nettoyer et securiser son PC
Principes de fonctionnement unix
Gestion des processus
Expose linux gestion des processus
Rapport projet
Mise en place d’un laboratoire de sécurité « Scénarios d’Attaques et Détectio...

Dernier (7)

PDF
COURS GCDs Chap 9.pdf tous les éléments.
PPTX
test pour la présentation foire de Chalôns V1
PDF
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
PPTX
Cours Electrotechnique L2 - Séance 6.pptx
PDF
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
PDF
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Architecture logicielle et Modeles de Conception
COURS GCDs Chap 9.pdf tous les éléments.
test pour la présentation foire de Chalôns V1
IPTV Meilleur - Le Meilleur Abonnement IPTV en France pour 2025
Cours Electrotechnique L2 - Séance 6.pptx
Analyse technique approfondie pour la gestion des transports dans SAP S/4HANA...
Frais et décompte dans SAP S/4HANA Transportation Management, S4TM3 Col26
Architecture logicielle et Modeles de Conception

Comment analyser une machine linux compromise

  • 1. Comment analyser une machine linux compromise Tarek MOHAMED CHFI, CEH, ESCP http://www.linkedin.com/in/tarekmed tarekmed.rachdi@gmail.com [Tapez le résumé du document ici. Il s’agit généralement d’une courte synthèse du document. Tapez le résumé du document ici. Il s’agit généralement d’une courte synthèse du document.]
  • 2. Analyse d'un système linux suite à une intrusion L’inspection d’une machine Linux, suite à une attaque (directe où indirect), suite à la détection d’un événement de sécurité suspect où suite à la détection d’un comportement virale, doit suivre une certaine logique fondamentale qui nous permettra de comprendre le scénario et préciser les vulnérabilités qui affectent notre système. L’entité chargée de la mission d’investigation doit suivre les étapes suivantes : 1) Date et temps système : L’intervenant doit extraire la date et le temps système et les synchronisés avec son horloge pour définir les écarts entre toutes les entités en relation avec la machine en question. Date et le temps système date de la machine compromise Horloge de l’analyste NB : il ya un avance de 59 seconde de la machine compromise par rapport à l’horloge de l’intervenant. 2) Connexions réseaux: a) Analyse interne : Il est très important de voir les connexions réseaux courantes (Port TCP, UDP ouvert), pour détecter les connexions suspectes, pour cela la commande «netstat» est disponible sur toutes les distributions Linux et qui nous permet d’afficher les connexions réseau ouvertes, les tables de routage, les statistiques des interfaces, les connexions masquées, les messages netlink et les membres multicast. Afin de visualiser plus de détails sur les connexions réseaux courantes vous pouvez utiliser les options de la commande « netstat» par exemple la commande « netstat –a» vous permet de visualiser les connexions et des ports en écoute sur la machine.
  • 3. Pour lister les noms des programmes qui ouvert les ports, nous allons exécuter la commande « netstat –nap». Une attaque peut modifier la table de routage pour rediriger les flux sortants de la machine, afin de surpasser à travers les règles du pare-feu. Et pour afficher la table de routage interne utilisez la commande «netstat –rn» ou à l’aide de la commande « route –c ». b) Analyse externe : Dans la plupart des incidents, les programmes malveillants (rootkits , malwares, virus,..) infectent les machines linux en modifiant leurs binaires, en particulier le binaire de « netstat » pour cacher les ports ouvertes et les connexions réseaux camouflés par les programmes malveillants. Pour cela, on va utiliser le l'analyseur réseau (sniffer) wireshark (www.wireshark.org) et le scanneur des ports Nmap ( http://nmap.org). -Wirshark : Connecter la machine de l’investigateur et la machine infectée sur le même HUB ou SWITCH (brancher la machine d’investigation sur un port mirroring pour pouvoir écouter et capter tous les trafics réseau). Ensuite, lancer wirshark et faites un filtre sur l’adresse IP de la machine infectée. Nmap : Lancer un scan avec l’outil nmap depuis l’extérieur sur la machine victime infecté pour lister tous les ports ouverts. 3) Les programmes responsables sur l’ouverture des ports (TCP, UDP) et les fichiers : Après l’identification des ports et les connexions distantes suspectes, il faut vérifier les exécutables qui ouvet les fichiers et les ports TCP et UDP, pour cela, utiliser l’outil « lsof » (LiSt Open File) et appliquer les filtres adéquats en utilisant les options de la commande « losf » suivantes :  lsof -i : afficher seulement les résultats en relation avec les services internet TCP et UDP.  lsof –i tcp : afficher seulement les résultats en relation avec les services internet TCP.  lsof –i udp : afficher seulement les résultats en relation avec les services internet UDP.
  • 4.  losf –i tcp :22 : Pour afficher seulement les résultats en relation avec les services internet TCP sur le port 22.  lsof -i @192.168.1.46 : (Pour afficher seulement les résultats en relation avec les services internet avec l’adresse IP 192.168.1.46. 4) les processus actifs : Habituellement les programmes malveillants (malwares, virus, rootkits,…) lancent des processus suspects. Donc il est très important de savoir les processus en exécutions, et pour cela il suffit d’utiliser la commande « ps -aux ». Dans l’exemple ci-dessus le processus ayant le PID=1199 est exécuté par le utilisateur root. Pour faire un filtre sur un processus vous pouvez utiliser la commande « ps –e | grep nom_process » par exemple pour vérifier le processus ssh ; « ps –e|grep ssh ». 5) Tâches planifiées et services de démarrage : D’une part, la plupart des incidents liées aux systèmes linux, l’attaquant infecte le système en mettant des tâches planifiés ou des services au démarrage qui exécutent certaines commandes ou lancent quelques processus pour ouvrir une porte dérobée sur la machine victime. Vérification des tâches planifiées : il suffit de taper « crontab –l » mais probablement l’exécutable crontab peut être compromis donc il vaut mieux observer manuellement le fichier /etc/crontab. Vérification des services de démarrage : il vaut mieux vérifier sur quel niveau les services démarrages (/etc/init.d/ et /etc/rc.local et /etc/xinit.d) sont chargés avec la commande runlevel et selon ce niveau on visualise le contenue du dossier correspondant (rc0.d/, rc1.d/, rc2.d/,rc3.d/, rc4.d/, rc5.d/, rc6.d/) et n’oubliez pas d’analyse du fichier rc.sysinit. D’autre part, l’évolution des attaques sophistiquées en particulier le rootkit kernel qui s’installe au niveau du noyau, et pour identifier les modules suspectes chargés au niveau du noyau, il suffit d’utiliser la commande « lsmod » qui affiche le nom du module, leur taille et utilisateurs. 6) Les utilisateurs et leur historique : L’identification des utilisateurs connectés sur la machine, les comptes utilisateurs et l’historique des login pour détecter les utilisateurs suspects et voir les commandes qui ont été exécuté par chaque utilisateur.  La commande « last » pour lister toutes les connexions et déconnexions des utilisateurs dans notre système qui ont journalisé dans « /var/log/wtmp »,  La commande « Lastb » se comporte comme last, mais il journalise toutes les tentatives des connexions infructueuses dans « /var/log/btmp».
  • 5.  On peut aussi utiliser la commande « last » avec leurs options par exemple « last -d» pour afficher seulement les connexions distantes ; le nom d'hôte ainsi son adresse IP.  La commande « w » pour afficher les utilisateurs qui ont actuellement connectés sur la machine sont journalisés sous le log «/var/run/utmp»  N’oubliez pas de vérifier la création de nouveaux comptes non autorisés, les comptes sans mots de passe, les changements d’UID sur les comptes déjà existant, pour cela afficher la contenu de fichier « /etc/passwd ».  La commande « history » pour voir toutes commandes exécutées par chaque utilisateur.
  • 6. 7) Intégrité des fichiers binaires : Une attaque peut modifier les binaires usuels (netstat, ls, ps, su, telnet, ifconfig, find, ...) pour cacher leur identité en cas de l’utilisation des ces binaires au cours de la mission d’investigation. Donc, il faut vérifier l’intégrité de ces programmes. Et pour la vérification de l’intégrité des binaires ;  Démarrer sur une distribution linux bootable (par exemple knoppix http://knoppix.net) .Utiliser l’outil « md5sum » de la distribution bootable pour calculer les signatures des binaires de la machine victime, les signatures de la distribution bootable et comparer les deux résultats, si deux signatures d’un même binaires différents alors la machine est certainement compromise par un rootkit.  Ttapez les commandes avec des options réellement inexistants tel que « -/ » (' netstat -/ ', ' ps -/ ', ' ls-/’,..) , ces essais ne devraient retourner que des erreurs ; dans le cas contraire, la machine est certainement compromise par un rootkit. 8) Recherche des fichiers cachés : Généralement un intrus ou un malware dépose souvent dans un répertoire utilisateur, des répertoires cachés avec des noms inhabituels (deux points suivis d’un espace, trois points, deux points suivis d’un control G) ou bien des fichiers dont le nom paraîtrait normal à première vue (".XX" ou ".mail"). Pour chercher ces dossiers cachés on va utiliser la commande suivante : find / -name ".. " -print ou find / -name ".*" -print. 9) Recherche des fichiers setuid et setgid : Recherchez les fichiers setuid et setgid (en particulier les fichiers setuid) dans toute l’arborescence. Tout processus exécutant un fichier ayant setuid peut exécuter ces tâches avec des permissions de super utilisateur root. En effet, la plupart des intrus laissent des exécutables setuid pour pouvoir l’utiliser ultérieurement. Vous pouvez utiliser les commandes suivantes afin de rechercher les fichiers setuid et setgid : find / -user root -perm -4000 -print find / -group root -perm -2000 -print