Secrets oubliés
Le sysadmin de la Biscuiterie Crumiro est en vacances et a laissé le panneau de déploiement derrière un mot de passe que personne ne connaît. Mais quand on est pressé, on laisse des traces : fouille l'historique des commandes et les fichiers du service, puis entre dans le panneau.
Laboratoire 2 sur 5 du parcours Privilege Escalation. Si tu bloques, tu as 3 indices, du plus vague au plus précis : ils coûtent 0, 50 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 :
- Lire l'historique des commandes (100 XP)
- Chercher « password » dans les fichiers du service (150 XP)
- Entrer dans le panneau de déploiement avec le bon identifiant (200 XP)
Thèmes : privesc, secrets, history, audit.
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 :
history: montre l’historique des commandes tapées : il raconte qui a fait quoi, parfois avec des mots de passe écrits sur la ligne de commande.grep: cherche les lignes qui contiennent un mot, même dans des dossiers entiers avec -r. C’est l’outil principal pour analyser du texte et des journaux.cat: affiche le contenu d’un fichier : la façon la plus directe de lire configurations, notes et journaux.curl: envoie des requêtes HTTP depuis le terminal et montre la réponse brute du serveur, en-têtes compris.
L’environnement simulé
Tu travailles dans un shell Linux simulé, dans le dossier personnel de l'utilisateur runner : fichiers et dossiers imaginaires, aucune cible réseau.
En plus du dossier personnel, il y a un système simulé complet, avec des fichiers de configuration, des journaux, des utilisateurs et des permissions à examiner.
Des services locaux tournent aussi sur la machine :
- 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.
- Base de données: une base de données (MySQL, MariaDB ou PostgreSQL), qui ne devrait répondre qu’aux services qui l’utilisent et jamais à tout le réseau.
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 :
Les identifiants finissent là où ils ne devraient pas : fichiers de configuration lisibles par tous, scripts, historique du shell (un mot de passe tapé sur la ligne de commande reste dans .bash_history). Leçon défensive : les secrets vont dans un gestionnaire de secrets ou dans des fichiers en permissions 600, jamais dans le code ; on les renouvelle dès qu'ils sont exposés et on les cherche soi-même (secret scanning, un grep -r périodique) avant que quelqu'un d'autre le fasse.
Avant et après ce laboratoire
Pour l’ouvrir, tu dois avoir résolu :
- Qui suis-je et que puis-je faire ? (Privilege Escalation, moyen)
- Environnement et historique (Bases de Linux, moyen)
Après ce laboratoire, tu peux passer à :
- Secrets dans les processus et les services locaux (Privilege Escalation, moyen)
Le parcours Privilege Escalation
Privilege Escalation est ici un parcours d'audit : tu es sur un serveur en tant qu'utilisateur normal et tu vérifies si une mauvaise configuration permet d'obtenir plus de privilèges que prévu. Tu examines les règles sudo, les programmes avec le bit SUID, les identifiants oubliés dans l'historique et dans des fichiers, et les secrets passés en arguments des processus. Ce sont les mêmes contrôles que ceux de qui sécurise un système, et chaque laboratoire se termine par le principe qui les résume tous : le moindre privilège.