Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Repérer un fichier ou un processus suspect

Après cette leçon: Je peux repérer un fichier ou un processus suspect.

Leçon de 65 min4 commandesLab de réponse à incident et d’investigation : enquêter sur un serveur compromis

Reconnaître ce qui ne devrait pas être là

Un processus est un programme en cours d’exécution, et un fichier suspect est un fichier qui n’a rien à faire à cet endroit. Pour les repérer, on compare ce que l’on voit avec ce que contient une machine saine.

Chez une comptable à Lille, le ventilateur tourne à fond sans raison. Un programme inconnu consomme tout. Il faut le trouver sans rien casser.

À la fin de cette leçon

Remarque

Je peux repérer un fichier ou un processus suspect.

Mots-clés

MotCe que ça veut direExemple
Processusun programme en cours d’exécution
PIDle numéro d’identité d’un processus2210
Processus parentle processus qui en a lancé un autre
Signature de fichierles premiers octets d’un fichier, qui disent son type
Extensionles lettres après le point dans un nom de fichier.jpg
Récupération par signatureretrouver un fichier en cherchant son début et sa fin

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lire un processus : numéro, parent, chemin

Chaque processus a un PID. Il a aussi un processus parent : celui qui l’a lancé. La liste des processus donne enfin le compte qui le fait tourner et la commande.

Un programme système connu vit dans un dossier système. Un programme qui se cache dans un dossier temporaire mérite un regard.

Exemple travaillé : une liste de processus

PIDParentCompteCommandeVerdict
10root/sbin/initNormal : le premier processus
4121root/usr/sbin/sshdNormal : le service de connexion
13801lea/usr/bin/bashNormal : un terminal
22101lea/tmp/sshdSuspect : même nom, mauvais dossier
23051www-data/usr/sbin/nginxNormal : le serveur web

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Le nom du premier processus de la machine

Commande
ps -o comm= -p 1

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Les premiers octets disent le vrai type

Un fichier commence presque toujours par quelques octets fixes : sa signature. Une image PNG commence par 89 50 4e 47. Un PDF commence par 25 50 44 46.

L’extension n’est qu’un morceau du nom. Quelqu’un la change en une seconde. La signature, elle, est dans le contenu.

Exemple travaillé : cinq signatures courantes

TypePremiers octets (hexadécimal)Extension attendue
Image PNG89 50 4e 47.png
Image JPEGff d8 ff.jpg
Document PDF25 50 44 46.pdf
Archive ZIP50 4b 03 04.zip
Programme Linux7f 45 4c 46aucune en général

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Fabriquer un faux jpg qui est un PNG

Commande
printf '\211PNG\r\n\032\n' > /tmp/photo.jpg

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Lire les quatre premiers octets de ce fichier

Commande
head -c 4 /tmp/photo.jpg | od -An -tx1

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Erreur fréquente

Attention

Beaucoup de gens pensent qu’un fichier nommé photo.jpg est forcément une image JPEG. L’extension se change à volonté. Regardez les premiers octets : ils disent le vrai type.

Retrouver un fichier effacé par sa signature

Quand on supprime un fichier, ses octets restent souvent sur le disque jusqu’à ce qu’on les écrase. On peut les retrouver sans le nom : c’est la récupération par signature (carving en anglais).

On cherche la signature de début, puis la marque de fin. Tout ce qui est entre les deux, bornes comprises, est le fichier.

Exemple travaillé : découper une image JPEG

ÉtapeOctets lusCe qu’on fait
161 62 63Du bruit avant : on ignore
2ff d8 ffSignature de début : on commence ici
378 79 7aLe contenu de l’image
4ff d9Marque de fin : on s’arrête après
564 65 66Du bruit après : on ignore

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Voir ces octets sur un exemple

Commande
printf 'abc\377\330\377xyz\377\331def' | od -An -tx1

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

À propos de ce labo et de sa source: Lab de réponse à incident et d’investigation : enquêter sur un serveur compromis

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.