ScriptKiddie - HackTheBox

Empece haciendo un escaneo con Nmap para ver que puertos y servicios tenía corriendo el servidor.

┌─[root@parrot]─[/home/wackyhacker/Desktop]
└──╼ nmap -sS --min-rate=5000 -p- -v -Pn -n 10.10.10.226 -oG allports

Starting Nmap 7.80 ( https://nmap.org ) at 2021-06-12 11:26 CEST
Initiating SYN Stealth Scan at 11:26
Scanning 10.10.10.226 [65535 ports]
Discovered open port 22/tcp on 10.10.10.226
Discovered open port 5000/tcp on 10.10.10.226
Completed SYN Stealth Scan at 11:27, 13.04s elapsed (65535 total ports)
Nmap scan report for 10.10.10.226
Host is up (0.13s latency).
Not shown: 65533 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
5000/tcp open  upnp

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 13.12 seconds
           Raw packets sent: 65641 (2.888MB) | Rcvd: 65543 (2.622MB)

Una vez finalizado el escaneo, hice otro escaneo para saber la versión que corría de los puertos 22 y 5000.

┌─[root@parrot]─[/home/wackyhacker/Desktop]
└──╼ nmap -sC -sV -p22,5000 10.10.10.226 -oN targeted      
 
Starting Nmap 7.80 ( https://nmap.org ) at 2021-06-12 11:28 CEST
Nmap scan report for 10.10.10.226
Host is up (0.042s latency).

PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 8.2p1 Ubuntu 4ubuntu0.1 (Ubuntu Linux; protocol 2.0)
5000/tcp open  http    Werkzeug httpd 0.16.1 (Python 3.8.5)
|_http-title: k1d'5 h4ck3r t00l5
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.86 seconds

El puerto 22 era SSH de versión 8.2p1 y estaba corriendo en un sistema Ubuntu, y el puerto 5000 es un servidor web, empece enumerando el servidor web para ver que traía, este fue el resultado.

image

Comencé a probar inyecciones de comandos en los buffers que habían, pero nada interesante.

Captura de pantalla (504)

Hasta que me decante por el buffer del medio que permitía subir un archivo, ponía template file (optional), busque template apk en searchsploit y encontré el siguiente “exploit” hecho en Metasploit.

Captura de pantalla (505)

Examine el “exploit”.

Captura de pantalla (506)

Una vez encontré el CVE, me dirigí a Google y busqué algún “exploit” que esté en GitHub para hacer uso de él.

Captura de pantalla (507)

Me encontré con el siguiente repositorio.

Captura de pantalla (508)

Me lo descargue.

┌─[root@parrot]─[/home/wackyhacker/Desktop]
└──╼ wget https://raw.githubusercontent.com/nikhil1232/CVE-2020-7384/main/CVE-2020-7384.sh

--2021-06-12 11:33:41--  https://raw.githubusercontent.com/nikhil1232/CVE-2020-7384/main/CVE-2020-7384.sh
Resolviendo raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Conectando con raw.githubusercontent.com (raw.githubusercontent.com)[185.199.109.133]:443... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 2183 (2,1K) [text/plain]
Grabando a: “CVE-2020-7384.sh”

CVE-2020-7384.sh                                100%[====================================================================================================>]   2,13K  --.-KB/s    en 0s      

2021-06-12 11:33:41 (14,3 MB/s) - “CVE-2020-7384.sh” guardado [2183/2183]

Lo ejecute y me cree una template maliciosa por “netcat”, hice uso del puerto 443 más la IP de la tun0 [10.10.16.5], de nombre le asigné exploit.apk.

Captura de pantalla (509)

La subí en el servidor, puse mi IP en el buffer y seleccioné Android como sistema operativo.

Captura de pantalla (510)

Y me otorgo una shell por Netcat.

Captura de pantalla (511)

La “flag” del usuario se encontraba en /home/kid/user.txt, le hice un cat para visualizarla.

voam

Hice un tratamiento de la TTY para estar más cómodo.

Captura de pantalla (512)


ESCALADA DE PRIVILEGIOS

En /home/pwn me encontré un script llamado scanlosers.sh, vi que es lo que hacía.

Captura de pantalla (514)

Estaba declarando la variable log con una ruta absoluta del sistema /home/kid/logs/hackers, después accede a /home/pwn, hace un filtro de log, tras eso ejecuta una sesión de Nmap concatenando la variable ip y finalmente hace una comparación de “si es mayor que 0” las líneas que contiene la variable log. Me dirigí a /home/kid/logs/hackers y comencé a probar inyecciones de comandos basándonos en la programación del script, hasta que logre dar con uno que me ejecutaba el comando que quería, forzaba la ejecución del siguiente comando haciendo uso de “;” y el comando que yo quería, el output lo redirigí al archivo hackers que era donde apuntaba el script, también he comentado lo siguiente para que no haya ningún problema, ejecute el comando whoami como prueba y la respuesta fue pwn (el archivo hackers no tenía capacidad de lectura).

Captura de pantalla (515)

Me entablé una reverse shell por Netcat.

Captura de pantalla (516)

Y me convertí en el usuario pwn, solo faltaba escalar privilegios, verifique si podía ejecutar algo como ROOT y por mi sorpresa tenía la capacidad de ejecutar el binario de Metasploit como el usuario ROOT, tan solo ejecuté sudo más el binario de Metasploit en /root/root.txt estaba la flag.

Captura de pantalla (517)

Leave a comment