Cap

Information

🟢 Nivel: Easy

📌 Plataforma: HackTheBox

🐧 Sistema Operativo: Linux

📑 Dirección IP: 10.10.10.245

👀 Técnicas:

  • Web enumeration

  • Packet capture analysis

  • IDOR

  • Exploiting Linux capabilities

Cap has been pwned!

VPN connection

Primero nos conectamos a la VPN de HackTheBox usando openvpn luego de haberla descargado desde la página de HTB.

sudo openvpn lab_stamin4.ovpn

Port scanning

Realizamos un escaneo para detectar puertos abiertos.

Los puertos abiertos son: 21, 22 y 80. Ahora lanzamos un conjunto de scripts básicos de reconocimiento para obtener más información sobre los servicios que están corriendo en la máquina.

FTP

Ya que el puerto 21 está abierto, probamos si está habilitado el usuario anonymous para conectarnos sin contraseña. Sin embargo, no es el caso :(

HTTP

Como no disponemos de credenciales para conectarnos por FTP o SSH, la única vía de intrusión restante es HTTP. Al dirigirnos a la web, nos encontramos con un dashboard:

En IP Config se ve el output del comando ifconfig ejecutado a nivel de sistema.

De igual forma, en Network Status se encuentra el output de netstat.

En la sección Security Snapshot tenemos la opción de descargar un archivo pcap.

Si lo analizamos con tshark, no veremos nada interesante. Es tráfico HTTP desde nuestra IP.

En la URL hay un 2, por eso se descarga el archivo 2.pcap. Si alteramos este número, podemos descargar otros archivos que pueden contener información que quizá corresponda a otros usuarios, explotando de esta manera un IDOR (Insecure Direct Object Reference).

Analizamos la captura con tshark.

Podemos ver credenciales de FTP en texto plano.

Nos conectamos a FTP con el usuario nathan y la contraseña Buck3tH4TFORM3!.

Con get user.txt nos descargamos la primera flag.

También podemos reutilizar las credenciales para conectarnos por SSH como nathan.

Privilege Escalation

Para listar las capabilities de la máquina, usamos el comando getcap junto al parámetro -r de recursive para obtener las capabilities de forma recursiva desde la raíz del sistema. Redirigimos los errores al /dev/null.

De entre las capabilities, podemos abusar de python3.8 para cambiar el uid y convertirnos en root de la siguiente forma:

Con python3.8 importamos la librería os que nos permitirá ejecutar comandos. Luego, con os.setuid(0) cambiamos el uid a 0, que corresponde al del usuario root. Finalmente, con os.system ejecutamos el comando bash para que se nos otorgue una consola como root.

Nos movemos al directorio root y ya podremos ver la flag.

Last updated