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.
Comencé a probar inyecciones de comandos en los buffers que habían, pero nada interesante.
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.
Examine el “exploit”.
Una vez encontré el CVE, me dirigí a Google y busqué algún “exploit” que esté en GitHub para hacer uso de él.
Me encontré con el siguiente repositorio.
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.
La subí en el servidor, puse mi IP en el buffer y seleccioné Android como sistema operativo.
Y me otorgo una shell por Netcat.
La “flag” del usuario se encontraba en /home/kid/user.txt, le hice un cat para visualizarla.
Hice un tratamiento de la TTY para estar más cómodo.
ESCALADA DE PRIVILEGIOS
En /home/pwn me encontré un script llamado scanlosers.sh, vi que es lo que hacía.
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).
Me entablé una reverse shell por Netcat.
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.
Leave a comment