Les en-têtes racontent
L'application de commandes répond toujours avec des en-têtes HTTP, et ils en disent souvent plus qu'ils ne devraient. Regarde ce que le serveur déclare sur la page principale : un en-tête suspect cache le chemin vers une page réservée.
Laboratoire 5 sur 6 du parcours Recon & Scanning. Si tu bloques, tu as 3 indices, du plus vague au plus précis : ils coûtent 0, 40 et 150 XP.
Ce que tu apprends
Les objectifs se valident tout seuls pendant que tu travailles dans le terminal ; chacun rapporte des points d’expérience :
- Scanner l'hôte des commandes (80 XP)
- Lire les en-têtes de la page principale (100 XP)
- Décoder la valeur suspecte (120 XP)
- Ouvrir la page réservée (150 XP)
Thèmes : recon, http, headers, base64.
Les commandes que tu utiliseras
Le terminal est simulé et comprend une quarantaine de commandes Linux. Dans ce laboratoire, tu auras surtout besoin de celles-ci :
nmap: découvre les hôtes actifs d’un réseau et les ports ouverts d’une machine, avec services et versions. La défense l’utilise pour comparer le vrai réseau avec l’inventaire.curl: envoie des requêtes HTTP depuis le terminal et montre la réponse brute du serveur, en-têtes compris.echo: affiche un texte ou la valeur d’une variable, comme $HOME.base64: encode et décode le Base64, le format qui transforme des octets en texte. Il ne protège rien : il s’annule sans clé.|: la barre verticale | enchaîne les commandes : la sortie de la première devient l’entrée de la suivante, et de petits outils forment une analyse complète.
L’environnement simulé
La cible est un hôte imaginaire sur un réseau privé simulé : tu ne l'atteins que depuis le terminal du jeu.
La cible expose ces services :
- SSH: l’accès distant chiffré à la ligne de commande ; on le protège avec des clés plutôt que des mots de passe et sans connexion directe en root.
- Web (HTTP): un serveur web avec des pages, des API ou des panneaux d’administration : la partie la plus exposée de presque toute organisation.
La leçon de défense
Une fois le laboratoire résolu, le compte rendu explique ce qui a mal tourné et comment se protéger :
Des en-têtes comme Server et X-Powered-By annoncent logiciels et versions (que l'attaquant cherche aussitôt dans les listes de vulnérabilités), et des en-têtes de debug oubliés en production peuvent révéler des chemins et des jetons. Base64 est un encodage, pas un chiffrement : y cacher quelque chose ne protège rien. Défense : ServerTokens Prod / server_tokens off, retirer X-Powered-By (expose_php Off), aucun en-tête de debug en production, et protéger les pages réservées par une vraie authentification côté serveur plutôt que par des adresses « secrètes ».
Avant et après ce laboratoire
Pour l’ouvrir, tu dois avoir résolu :
- Qui est sur le réseau ? (Recon & Scanning, moyen)
- Base64 n'est pas un secret (Encodages et secrets, facile)
Après ce laboratoire, tu peux passer à :
- Reconnaissance complète (Recon & Scanning, difficile)
Le parcours Recon & Scanning
Recon & Scanning, c'est la reconnaissance : avant de défendre un réseau, ou de le tester avec autorisation, il faut savoir ce qu'il contient. Tu apprends à découvrir les hôtes actifs, à lister ports et services, à lire les bannières par lesquelles les services se présentent et à interroger le DNS et les en-têtes HTTP. Chaque laboratoire montre aussi le point de vue de la défense : un inventaire des actifs à jour, des bannières minimales, un DNS interne séparé du DNS public et rien d'oublié qui reste allumé.