Retour à l’Académie

CLR-4 · Lab pratique · Facile ·environ 25 min

Un serveur web sous sondage

Une boutique en ligne a ramé un après-midi. Lis son journal d’accès en défenseur : repère le scanner, le fichier oublié qu’il a trouvé, et deux attaques contre l’app, dont une a réussi.

La mission

Ton SOC surveille shop.novaretail.example, un site d’e-commerce public. Cet après-midi il a ramé, et l’équipe ops t’a donné le journal d’accès du serveur web.

Tu le lis en défenseur : l’attaque a déjà eu lieu, et ton rôle est de la comprendre à partir des traces qu’elle a laissées. Le journal est au format combined, une requête par ligne :

IP - - [date] "METHODE chemin HTTP/1.1" statut taille "referer" "user-agent"

Ce qu’il faut reconstituer :

  1. Qui : un seul client est derrière presque tout le bruit.
  2. Ce qui a fuité par accident : un scanner trouve des fichiers que personne ne voulait publier.
  3. Ce qui a été attaqué exprès : une injection SQL sur la recherche produits, et une traversée de répertoire sur un lien de téléchargement. Pour chacune, le code de statut te dit si elle a marché (200) ou été bloquée (403/500).

Rappelle-toi que les serveurs stockent les URL encodées : %27 = ', %20 = espace, %2f = /, %2C = ,. Commence par cat case-0533/NOTE.txt, puis compte les IP avec cut et sort | uniq -c. Tout est simulé : domaines réservés et plages d’IP de documentation uniquement.

Terminal

Tapez help pour voir les commandes disponibles. Tab pour compléter, ↑ ↓ pour l’historique.

Questions

  1. Une seule adresse IP est responsable de presque toutes les erreurs et du sondage. Laquelle ?25 XP

    1. Pendant son sondage, le scanner a demandé beaucoup de fichiers inexistants, mais un seul a renvoyé 200 avec un gros corps : un fichier qui n’aurait jamais dû être en ligne. Quel est son chemin exact ?25 XP

      1. L’attaquant a ensuite visé /products avec une injection SQL. Une tentative a renvoyé 200 et une grosse réponse. De quelle table de la base ce payload lit-il les données ?25 XP

        1. L’attaquant a aussi essayé de lire des fichiers du serveur via le point d’entrée /download (traversée de répertoire, les séquences ../). Une de ces requêtes a renvoyé 200. Quel fichier a-t-il réussi à lire ?25 XP