Ambiente e cronologia
Sei subentrato a un collega e ti ha lasciato la sua shell. Interroga l'ambiente e la cronologia dei comandi per recuperare le credenziali del database di produzione... e scopri perché non vanno mai scritte sulla riga di comando.
Laboratorio 9 di 9 del percorso Fondamenti Linux. Se ti blocchi hai 3 aiuti, dal più vago al più preciso: costano 0, 50 e 150 XP.
Cosa impari
Gli obiettivi si completano da soli mentre lavori nel terminale; ognuno vale punti esperienza:
- Elencare le variabili d'ambiente con env (100 XP)
- Leggere una variabile con echo $NOME (120 XP)
- Consultare la cronologia dei comandi (130 XP)
Argomenti: linux, ambiente, history.
I comandi che userai
Il terminale è simulato e capisce una quarantina di comandi Linux. In questo laboratorio ti servono soprattutto questi:
cat: stampa il contenuto di un file: il modo più diretto di leggere configurazioni, note e registri.env: elenca le variabili d'ambiente della shell, dove a volte finiscono configurazioni e credenziali.echo: stampa un testo o il valore di una variabile, come $HOME.history: mostra la cronologia dei comandi digitati: racconta chi ha fatto cosa, a volte con password scritte sulla riga di comando.grep: cerca le righe che contengono una parola, anche in intere cartelle con -r. È lo strumento principale per analizzare testo e registri.|: la barra verticale | collega i comandi: l'uscita del primo diventa l'ingresso del successivo, così piccoli strumenti formano un'analisi completa.
L'ambiente simulato
Lavori su una shell Linux simulata, nella home dell'utente runner: file e cartelle inventati, nessun bersaglio in rete.
La lezione di difesa
A laboratorio risolto, il writeup spiega cosa è andato storto e come ci si protegge:
Ambiente e cronologia raccontano molto: chi ha usato la shell, con quali utenti e a volte con quali password. Scrivere una password nella riga di comando (-p'...') la lascia in ~/.bash_history e nell'elenco dei processi (ps), visibile ad altri utenti. Difesa: lascia vuota l'opzione (-p: la password si digita al prompt), usa file con permessi 600 o un gestore di segreti; con HISTCONTROL=ignorespace un comando che inizia con uno spazio non viene salvato; e cambia subito ogni password finita in una cronologia.
Prima e dopo questo laboratorio
Per aprirlo devi aver risolto:
- Permessi e proprietari (Fondamenti Linux, medio)
Dopo questo laboratorio puoi passare a:
- Segreti dimenticati (Privilege Escalation, medio)
Il percorso Fondamenti Linux
Fondamenti Linux è il punto di partenza. Quasi tutti i server, i dispositivi di rete e gli strumenti di sicurezza girano su Linux, e chi difende un sistema (o lo mette alla prova con permesso) passa gran parte del tempo in un terminale. Qui impari a muoverti nel filesystem, a trovare i file nascosti, a leggere a pezzi registri lunghissimi, a cercare parole con grep, a collegare comandi con le pipe e a capire permessi, variabili d'ambiente e cronologia: le basi che userai in tutti gli altri percorsi.