Environnement et historique
Tu as repris le poste d'un collègue et il t'a laissé son shell. Interroge l'environnement et l'historique des commandes pour récupérer les identifiants de la base de production... et découvre pourquoi on ne doit jamais les taper sur la ligne de commande.
Laboratoire 9 sur 9 du parcours Bases de Linux. 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 :
- Lister les variables d'environnement avec env (100 XP)
- Lire une variable avec echo $NOM (120 XP)
- Consulter l'historique des commandes (130 XP)
Thèmes : linux, ambiente, history.
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.env: liste les variables d’environnement du shell, où finissent parfois des configurations et des identifiants.echo: affiche un texte ou la valeur d’une variable, comme $HOME.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.|: 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é
Tu travailles dans un shell Linux simulé, dans le dossier personnel de l'utilisateur runner : fichiers et dossiers imaginaires, aucune cible 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 :
L'environnement et l'historique en disent long : qui a utilisé le shell, avec quels utilisateurs et parfois avec quels mots de passe. Taper un mot de passe sur la ligne de commande (-p'...') le laisse dans ~/.bash_history et dans la liste des processus (ps), visible par les autres utilisateurs. Défense : laisse l'option vide (-p : le mot de passe se saisit à l'invite), utilise des fichiers en permissions 600 ou un gestionnaire de secrets ; avec HISTCONTROL=ignorespace une commande qui commence par un espace n'est pas enregistrée ; et change aussitôt tout mot de passe qui a fini dans un historique.
Avant et après ce laboratoire
Pour l’ouvrir, tu dois avoir résolu :
- Permissions et propriétaires (Bases de Linux, moyen)
Après ce laboratoire, tu peux passer à :
- Secrets oubliés (Privilege Escalation, moyen)
Le parcours Bases de Linux
Bases de Linux est le point de départ. Presque tous les serveurs, les équipements réseau et les outils de sécurité tournent sous Linux, et qui défend un système (ou le teste avec autorisation) passe une bonne partie de son temps dans un terminal. Ici, tu apprends à te déplacer dans le système de fichiers, à trouver les fichiers cachés, à lire par morceaux des journaux interminables, à chercher des mots avec grep, à enchaîner des commandes avec des pipes et à comprendre permissions, variables d'environnement et historique : les bases que tu utiliseras dans tous les autres parcours.