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

Trouver une attaque dans un journal

Après cette leçon: Je peux repérer dans un journal les traces d'une attaque par essais de mots de passe.

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

Comment prouve-t-on qu'un serveur a été piraté ?

Un journal est un fichier où une machine écrit ce qui se passe : qui s'est connecté, quand, depuis où. Après une attaque, c'est la preuve principale.

Aujourd'hui, tu apprends à lire un journal et à en tirer une chronologie. Un enquêteur ne devine pas : il compte et il ordonne.

À la fin de cette leçon

Remarque

Je peux repérer dans un journal les traces d'une attaque par essais de mots de passe.

Mots clés

MotCe que ça veut direExemple
Journalun fichier où une machine note ce qui se passe
Adresse IPle numéro d'une machine sur le réseau203.0.113.9
Chronologieles événements rangés dans l'ordre du temps
Preuveune trace qu'on garde sans la changer
Persistancece que laisse un intrus pour revenir plus tard

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

La règle de ce lab

Important

Tu travailles seulement sur les preuves de ta propre copie du lab, avec la permission de ton enseignant. Le dossier est de faux journaux : aucun vrai serveur n'est visé. Ne cherche jamais de traces sur une machine qui n'est pas à toi. On apprend à enquêter pour mieux défendre.

Comment lire une ligne de journal ?

Une ligne de journal répond à quatre questions : quand, sur quelle machine, quel programme, que s'est-il passé. Une ligne d'échec ressemble à l'exemple du tableau.

Les adresses IP des exemples de ce module sont inventées. Elles viennent d'une plage réservée aux exemples.

Exemple : une ligne de journal inventée

MorceauValeurCe que ça dit
Date et heureOct 14 03:12:07Quand
Machineweb01Sur quel serveur
ProgrammesshdLe service de connexion à distance
ÉvénementFailed password for rootUn mot de passe faux pour le compte root
Originefrom 203.0.113.9L'adresse d'où vient l'essai

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

Avant de commencer

Remarque

Appuie sur Start the lab et attends que la machine soit prête. Ses preuves sont dans le dossier case, en lecture seule. Dans cette leçon, tu regardes la forme du dossier. L'enquête elle-même est le travail du lab.

Regarde ce que contient le dossier de preuves

Commande
ls case

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.

Lis la première ligne des dates de modification

Commande
head -n 1 case/mtimes.txt

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.

Compte les comptes de la machine copiée

Commande
wc -l < case/etc/passwd

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.

Comment repérer une attaque par essais ?

Une attaque par essais laisse beaucoup de lignes d'échec venant de la même adresse, en peu de temps. Compter les échecs par adresse montre qui insiste.

On compte avec une chaîne de commandes : grep garde les lignes d'échec, cut garde l'adresse, sort range, uniq -c compte les doublons.

Écris un petit journal inventé de six lignes

Commande
printf '10.0.0.5 echec\n10.0.0.9 echec\n10.0.0.5 echec\n10.0.0.5 echec\n10.0.0.9 reussi\n10.0.0.5 reussi\n' > exemple.log

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.

Compte les échecs de chaque adresse

Commande
grep echec exemple.log | cut -d' ' -f1 | sort | uniq -c

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.

Exemple : le résultat sur le journal inventé

AdresseÉchecsA fini par réussir ?
10.0.0.53Oui, à la dernière ligne
10.0.0.91Oui, à la ligne 5

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

Une erreur fréquente

Attention

Beaucoup pensent que l'adresse qui échoue le plus est celle de l'intrus. Ce n'est pas sûr : un robot peut échouer toute la journée sans jamais entrer. Regarde aussi qui réussit après des échecs, et à quelle heure.

Comment bâtir une chronologie ?

Une chronologie range les faits dans l'ordre du temps : les essais, la première connexion réussie, puis ce qui change sur la machine après.

Une trace laissée avant l'arrivée de l'intrus ne peut pas être la sienne. Une trace laissée juste après sa connexion peut l'être.

Pour aller plus loin : le rapport d'incident

Un rapport d'incident dit ce qu'on a trouvé, quand, et à quelle preuve on le doit. Il ne contient pas de supposition présentée comme un fait.

Écris trois lignes de rapport pour le petit journal inventé de cette leçon : l'adresse, le nombre d'échecs et l'heure de la réussite.

À 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.