Segreti nei processi e nei servizi locali
Alla Lavanderia Bolla Blu gli agenti e i servizi si parlano sulla stessa macchina. Guarda cosa gira (e con quali argomenti), scopri quali servizi ascoltano in locale e verifica se un segreto può finire in mano a chi non dovrebbe averlo.
Laboratorio 4 di 5 del percorso Privilege Escalation. 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 i processi in esecuzione (100 XP)
- Leggere il banner del servizio locale sulla porta 7070 (150 XP)
- Autenticarsi all'hub con il segreto trovato (200 XP)
Argomenti: privesc, processi, segreti, audit.
I comandi che userai
Il terminale è simulato e capisce una quarantina di comandi Linux. In questo laboratorio ti servono soprattutto questi:
ps: elenca i processi in esecuzione con i loro argomenti, che sono visibili a tutti gli utenti della macchina.grep: cerca le righe che contengono una parola, anche in intere cartelle con -r. È lo strumento principale per analizzare testo e registri.nmap: scopre gli host attivi di una rete e le porte aperte di una macchina, con servizi e versioni. Chi difende lo usa per confrontare la rete vera con l'inventario.nc: netcat apre una connessione grezza verso una porta e mostra cosa risponde il servizio, compreso il suo messaggio di benvenuto (banner).curl: fa richieste HTTP dal terminale e mostra la risposta grezza del server, intestazioni comprese.|: 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.
Oltre alla home c'è un sistema simulato completo, con file di configurazione, registri, utenti e permessi da esaminare.
Sulla macchina girano anche servizi locali:
- SSH: l'accesso remoto cifrato alla riga di comando; si protegge con le chiavi al posto delle password e senza login diretto come root.
- Database: un database (MySQL, MariaDB o PostgreSQL), che dovrebbe rispondere solo ai servizi che lo usano e mai a tutta la rete.
- Web (HTTP): un server web con pagine, API o pannelli di gestione: la parte più esposta di quasi ogni organizzazione.
La lezione di difesa
A laboratorio risolto, il writeup spiega cosa è andato storto e come ci si protegge:
Gli argomenti dei processi sono pubblici: ps li mostra a tutti gli utenti (e finiscono anche nei log di audit). Un token passato con --token è come scriverlo su un cartello. Lezione difensiva: passa i segreti con variabili d'ambiente del servizio, file con permessi 600 o un gestore di segreti, mai come argomenti; monta /proc con hidepid=2, ruota il token appena è stato esposto e dai ai servizi locali credenziali per singolo client con portata minima.
Prima e dopo questo laboratorio
Per aprirlo devi aver risolto:
- Segreti dimenticati (Privilege Escalation, medio)
- Banner dei servizi (Recon & Scanning, facile)
Dopo questo laboratorio puoi passare a:
- Audit sudo e SUID (Privilege Escalation, difficile)
Il percorso Privilege Escalation
Privilege Escalation qui è un percorso di audit: sei su un server come utente normale e controlli se qualche configurazione sbagliata permette di ottenere più privilegi del dovuto. Esamini le regole sudo, i programmi con il bit SUID, le credenziali dimenticate nella cronologia e nei file, i segreti passati come argomenti dei processi. Sono gli stessi controlli che fa chi mette in sicurezza un sistema, e ogni laboratorio finisce con il principio che li riassume tutti: privilegio minimo.