DockerLabs - Extraviado
nmap
1
2
3
4
5
┌──(elcybercurioso㉿kalilinux)-[~/Desktop/DockerLabs/Extraviado]
└─$ nmap -p- -sS --min-rate 5000 -v -n -Pn 172.17.0.2 -oG allPorts
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
1
2
3
4
5
6
7
8
9
10
┌──(elcybercurioso㉿kalilinux)-[~/Desktop/DockerLabs/Extraviado]
└─$ nmap -sCV -p22,80 172.17.0.2
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 cc:d2:9b:60:14:16:27:b3:b9:f8:79:10:df:a1:f3:24 (ECDSA)
|_ 256 37:a2:b2:b2:26:f2:07:d1:83:7a:ff:98:8d:91:77:37 (ED25519)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
análisis
Comenzamos revisando la página principal del servidor web, la cual, al final, hay una serie de cadenas que parecen codificadas en base64:
acceso inicial (daniela)
Tras decodificarlos, vemos que se trata de lo que parecen ser unas credenciales:
1
2
3
4
5
6
7
┌──(elcybercurioso㉿kalilinux)-[~/Desktop/DockerLabs/Extraviado]
└─$ echo "ZGFuaWVsYQ==" | base64 -d; echo
daniela
┌──(elcybercurioso㉿kalilinux)-[~/Desktop/DockerLabs/Extraviado]
└─$ echo "Zm9jYXJvamE=" | base64 -d; echo
f*******
Tratamos de acceder por SSH, y vemos que son correctas:
1
2
3
4
5
6
7
8
┌──(elcybercurioso㉿kalilinux)-[~/Desktop/DockerLabs/Extraviado]
└─$ ssh daniela@172.17.0.2
daniela@172.17.0.2`s password:
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.12.38+kali-amd64 x86_64)
daniela@52a31b3d730e:~$ whoami
daniela
daniela@52a31b3d730e:~$ hostname -I
172.17.0.2
movimiento lateral (diego)
En el directorio principal de la usuaria daniela encontramos una carpeta, que a su vez contiene un fichero:
1
2
3
4
5
6
7
8
9
10
daniela@52a31b3d730e:~$ ls -la
total 40
drwxr-x--- 1 daniela daniela 4096 Nov 3 09:19 .
drwxr-xr-x 1 root root 4096 Jan 9 2025 ..
drwxrwxr-x 2 daniela daniela 4096 Jan 9 2025 .secreto
daniela@52a31b3d730e:~$ ls -la .secreto/
total 12
drwxrwxr-x 2 daniela daniela 4096 Jan 9 2025 .
drwxr-x--- 1 daniela daniela 4096 Nov 3 09:19 ..
-rw-rw-r-- 1 daniela daniela 17 Jan 9 2025 passdiego
Leemos dicho fichero, y podemos intuir que su contenido es la contraseña del usuario codificada en base64:
1
2
3
4
5
6
7
8
daniela@52a31b3d730e:~$ cat .secreto/passdiego
Ym**************
daniela@52a31b3d730e:~$ echo "Ym**************" | base64 -d; echo
b***********
daniela@52a31b3d730e:~$ su diego
Password:
diego@52a31b3d730e:/home/daniela$ whoami
diego
escalada de privilegios (root)
Tras acceder como el usuario diego, vemos que en su carpeta de usuario hay un fichero llamado pass, pero no contiene la contraseña del usuario root:
1
2
3
4
5
diego@52a31b3d730e:/home$ cd diego/
diego@52a31b3d730e:~$ ls
pass
diego@52a31b3d730e:~$ cat pass
donde estara?
Seguimos investigando, y vemos una carpeta llamada .passroot, la cual contiene a su vez el fichero pass:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
diego@52a31b3d730e:~$ ls -la
total 36
drwxr-x--- 1 diego diego 4096 Jan 9 2025 .
drwxr-xr-x 1 root root 4096 Jan 9 2025 ..
-rw-r--r-- 1 diego diego 233 Jan 9 2025 .bash_logout
-rw-r--r-- 1 diego diego 3771 Jan 9 2025 .bashrc
drwxrwxr-x 1 diego diego 4096 Jan 9 2025 .local
drwxrwxr-x 1 diego diego 4096 Jan 11 2025 .passroot
-rw-r--r-- 1 diego diego 807 Jan 9 2025 .profile
-rw-rw-r-- 1 diego diego 15 Jan 9 2025 pass
diego@52a31b3d730e:~$ ls -la .passroot/
total 12
drwxrwxr-x 1 diego diego 4096 Jan 11 2025 .
drwxr-x--- 1 diego diego 4096 Jan 9 2025 ..
-rw-rw-r-- 1 diego diego 21 Jan 11 2025 .pass
Parecería que dicho fichero contendría la contraseña del usuario root, pero de nuevo no es así:
1
2
3
4
5
6
7
diego@52a31b3d730e:~$ cat .passroot/.pass
YWNhdGFtcG9jb2VzdGE=
diego@52a31b3d730e:~$ echo "YWNhdGFtcG9jb2VzdGE=" | base64 -d; echo
acatampocoesta
diego@52a31b3d730e:~$ su root
Password:
su: Authentication failure
Revisando los ficheros que pertenezcan al usuario root, y que podamos leer, encontramos uno que no hemos llegado a ver al revisar la carpeta del usuario diego:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
diego@52a31b3d730e:~$ find / -readable -user root 2>/dev/null | grep -vE "/proc|/sys|/var/lib|/usr|/dev|/etc/ssl|/run|/etc/apache2|/etc/apt|/var|/etc"
/
/home
/home/diego/.local/share/.-
/opt
/boot
/media
/tmp
/mnt
/srv
/bin
/lib64
/lib
/sbin
/.dockerenv
/lib.usr-is-merged
El contenido de dicho fichero es un acertijo que, de resolverlo, podremos acceder como el usuario root, ya que la contraseña es la respuesta al acertijo:
1
2
3
4
5
6
7
8
9
10
11
12
diego@52a31b3d730e:~$ cat /home/diego/.local/share/.-
password de root
En un mundo de hielo, me muevo sin prisa,
con un pelaje que brilla, como la brisa.
No soy un rey, pero en cuentos soy fiel,
de un color inusual, como el cielo y el mar
tambien.
Soy amigo de los ni~nos, en historias de
ensue~no.
Quien soy, que en el frio encuentro mi due~no?
Pista: La contraseña sigue el mismo patrón que las anteriores que hemos encontrado.
1
2
3
4
diego@52a31b3d730e:/home$ su root
Password:
root@52a31b3d730e:/home# whoami
root
Con esto, habremos completado el laboratorio!

