Audit sudo et SUID
Logistique Éclair trie 40 000 colis par jour et personne n'a jamais fait d'audit. Le serveur contient plusieurs erreurs de configuration qui, isolées, semblent inoffensives mais qui ensemble ouvrent le coffre des lots. Trouve-les avec les outils de l'audit et rassemble les pièces : seule la dernière étape mène au rapport.
Laboratoire 5 sur 5 du parcours Privilege Escalation. Si tu bloques, tu as 3 indices, du plus vague au plus précis : ils coûtent 0, 80 et 200 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 les règles sudo : que peut vraiment faire ton utilisateur ? (100 XP)
- Lister les programmes avec le bit SUID (150 XP)
- Contrôler les processus en cours (150 XP)
- Lire avec sudo la clé protégée (250 XP)
Thèmes : privesc, sudo, suid, audit, boss.
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 :
cat: affiche le contenu d’un fichier : la façon la plus directe de lire configurations, notes et journaux.sudo: exécute une commande avec les privilèges d’un autre utilisateur, en général root ; avec -l il liste ce qui t’est permis. Chaque règle trop large est un risque.find: cherche des fichiers par nom, type ou permissions dans toute une arborescence ; lors d’un audit, il déniche clés, copies oubliées et programmes aux permissions dangereuses.ps: liste les processus en cours avec leurs arguments, visibles par tous les utilisateurs de la machine.ls: liste les fichiers d’un dossier ; avec -l il montre permissions et propriétaires, avec -a les fichiers cachés aussi. C’est la première commande sur n’importe quelle machine.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.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 :
- 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 :
Aucune erreur, seule, n'ouvrait le coffre : sudo sur grep pour lire les logs, une clé bien protégée, un programme SUID qui n'affiche qu'un numéro, un agent dont l'utilisateur est écrit sur la ligne de commande. Ensemble, elles forment une chaîne. Leçon défensive : auditer les configurations ensemble, pas un contrôle à la fois ; moindre privilège (sudo grep lit n'importe quel fichier : mieux vaut un groupe avec lecture sur les seuls logs), pas de SUID inutiles, aucun détail de service dans les arguments des processus, clés renouvelées et audit répété à chaque modification.
Avant et après ce laboratoire
Pour l’ouvrir, tu dois avoir résolu :
- Exécutables avec le bit SUID (Privilege Escalation, moyen)
- Secrets dans les processus et les services locaux (Privilege Escalation, moyen)
C’est l’un des laboratoires finaux : aucun autre laboratoire ne le requiert.
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.