Cap

Reconocimiento
Empezamos la máquina haciendo un escaneo rápido en sus puertos con nmap:
Habiendo encontrado los puertos 21, 22 y 80 dentro del rango de puertos abiertos, procedemos a desglosar las versiones de cada puerto:
Obteniendo como resultado de nmap lo siguiente:
Tenemos varias alternativas: empezar por ftp si permite acceso anónimo, probar ssh con credenciales obtenidas, o inspeccionar http. De momento avanzaremos por la vía web para buscar indicios.
Web; Port 80

La web parece un gestor de consultas o peticiones en red, con apartados de monitoreo y una Snapshot de seguridad, además de las siguientes secciones.
IP (ifconfig o ip a)
ifconfig o ip a)
Netstat

Pudieron parecer apartados vulnerables a inyecciones, pero los intentos no funcionaron.

Hay un apartado que recoge las peticiones y permite exportarlas a un archivo .pcap. Podemos recargar la página varias veces y obtendremos rutas numeradas n_recargas + 1, y existe un índice inicial 0. ¿Qué pasa si accedemos a /data/0?

Obtenemos peticiones; si descargamos su contenido y lo abrimos en una herramienta como Wireshark, podemos inspeccionar las peticiones realizadas por el usuario:

En las peticiones aparecen tanto un usuario como una posible contraseña. Ahora toca probar esa contraseña en ssh o ftp.
FTP
Guardamos las credenciales en un archivo (ejemplo rápido):
Probamos las credenciales en ftp:

Las credenciales son válidas y conseguimos la primera flag.
SSH
Probamos las mismas credenciales en ssh:

También obtenemos acceso por SSH. A partir de aquí, investigamos vías para la escalada de privilegios y obtener acceso como root.
Escalada de Privilegios
Revisamos varias técnicas para escalar privilegios.
Permisos sudo
sudoComprobamos permisos sudo del usuario:

No parece que sea por ahí.
Búsqueda SUID
Buscamos ficheros con bit SUID:

Aparecen muchos binarios por defecto del sistema, que por ahora descartamos.
Capabilities
Buscamos capacidades presentes en binarios:

Se observa que /usr/bin/python3.8 tiene capacidades que permiten explotarlo para escalar privilegios. Consultando GTFOBins (https://gtfobins.github.io/gtfobins/python/#capabilities), podemos emplear el siguiente comando:
Ejecutando ese comando conseguimos elevarnos a root y acceder a su directorio.

Last updated