
POC exploit per CVE-2025-33053 (controllo esterno del percorso di esecuzione del file nel file URL)
La directory di lavoro in un file .url può essere impostata su un server WebDAV remoto. Quando viene aperto da un client Windows, le dipendenze per l'eseguibile definito nel campo URL vengono cercate nella condivisione WebDAV remota. Se a un eseguibile o DLL arbitrario viene assegnato lo stesso nome di una di queste dipendenze, viene caricato ed eseguito dal client Windows. In questo POC, l'URL è impostato sull'eseguibile diagnostico di Internet Explorer "iediagcmd.exe" locale al client Windows. iediagcmd.exe chiama successivamente alcuni eseguibili diversi, uno dei quali è "route.exe". Assegnando a un binario arbitrario, come un loader di shellcode, lo stesso nome e condividendolo sul server WebDAV indicato nella variabile "WorkingDirectory" del file .url, il client Windows lo caricherà ed eseguirà all'apertura del file URL.
Esegui sudo bash webdav_setup.sh per configurare ed eseguire un server Apache2 WebDAV da un host Linux (oppure configurane uno tu stesso).
Inserisci un eseguibile, ad esempio un loader di shellcode, chiamato "route.exe" nella condivisione WebDAV.
Modifica il file URL in modo che punti al nome di dominio o all'indirizzo IP del server WebDAV.
Distribuisci il file URL a un client Windows tramite qualche pretesto che lo porti a essere eseguito da un utente.
Se utilizzi un payload che attiva un callback C2, route.exe potrebbe non tornare mai. iediagcmd.exe apre una finestra che attende il completamento del comando, quindi esegui il comando taskkill /f /im iediagcmd.exe per terminare la finestra del processo iediagcmd originale sul client.