Maquina Extraviado
- OS: Linux
- Plataforma: DockerLabs
- Nivel: Easy
- Tags: #base64 #password-reuse #riddle
Reconocimiento¶
Comienzo tirando un ping para comprobar la conectividad.
> ping -c 1 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=2.44 ms
--- 172.17.0.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 2.441/2.441/2.441/0.000 ms
Ahora tiro un escaneo con nmap para ver que puertos tenemos abiertos.
> nmap -p- --open -sS -n -Pn --min-rate 5000 172.17.0.2
---------------------------------------------------------
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
MAC Address: 3A:DD:05:B2:4F:BB (Unknown)
- Puertos 22 y 80 abiertos.
Sobre los puertos abiertos realizo un segundo escaneo más profundo para detectar servicios, versiones y correr un conjunto de scripts de reconocimiento.
> nmap -p 80,22 -sS -sC -sV -Pn -n --min-rate 5000 172.17.0.2 -oN target.txt
-------------------------------------------------------------------------------
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-title: Apache2 Ubuntu Default Page: It works
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 3A:DD:05:B2:4F:BB (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
- Puerto 22 SSH OpenSSH 9.6p1 Ubuntu 3ubuntu13.5
- Puerto 80 HTTP Apache httpd 2.4.58
Enumeración¶
Puerto 80 HTTP¶
La página principal muestra la página por defecto de Apache2. Al final de la página encuentro una cadena codificada.
#.........................................................................................................ZGFuaWVsYQ== : Zm9jYXJvamE=
La cadena parece estar codificada en Base64. Utilizo Burp Suite para decodificarla.
- Credenciales decodificadas:
daniela:focaroja
Acceso SSH¶
Me conecto por SSH con las credenciales encontradas.
> ssh daniela@172.17.0.2
daniela@172.17.0.2's password: focaroja
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.12.32-amd64 x86_64)
daniela@dockerlabs:~$ whoami
daniela
daniela@dockerlabs:~$ id
uid=1000(daniela) gid=1000(daniela) groups=1000(daniela)
Escalada de Privilegios¶
Migración al usuario diego¶
Dentro del sistema enumero el contenido del directorio home.
> daniela@dockerlabs:~$ ls -la
total 12
drwxr-x--- 1 daniela daniela 12 Nov 11 21:34 .
drwxr-xr-x 1 root root 14 Jan 9 2025 ..
-rw-r--r-- 1 daniela daniela 220 Jan 9 2025 .bash_logout
-rw-r--r-- 1 daniela daniela 3771 Jan 9 2025 .bashrc
drwx------ 1 daniela daniela 40 Nov 11 21:34 .cache
drwxrwxr-x 1 daniela daniela 10 Jan 9 2025 .local
-rw-r--r-- 1 daniela daniela 807 Jan 9 2025 .profile
drwxrwxr-x 1 daniela daniela 18 Jan 9 2025 .secreto
drwxrwxr-x 1 daniela daniela 8 Jan 9 2025 Desktop
- Encuentro un directorio oculto
.secreto
Dentro del directorio encuentro un archivo llamado passdiego.
La contraseña parece estar codificada en Base64. La decodifico.
> echo "YmFsbGVuYW5lZ3Jh" | base64 -d; echo
----------------------------------------------
ballenanegra
- Credenciales:
diego:ballenanegra
Migro al usuario diego.
> daniela@dockerlabs:~$ su diego
Password: ballenanegra
diego@dockerlabs:/home/daniela$ whoami
diego
Escalada a Root gracias a chat gpt¶
Después de explorar el sistema como diego, encuentro un archivo llamado .- en el directorio ~/.local/share.
> diego@dockerlabs:~/.local/share$ ls -la
--------------------------------------------------
total 4
-rw-r--r-- 1 root root 319 Jan 11 2025 .-
------------------------------------------------------
diego@dockerlabs:~/.local/share$ cat .-
----------------------------------------------------------
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ños, en historias de
ensueño.
Quien soy, que en el frio encuentro mi dueño?
El archivo es un acertijo y, como honestamente no tenía idea de la respuesta, decidí preguntarle a ChatGPT a qué animal podría referirse.
ChatGPT me indico que se trataba de un "oso polar azul" por lo cual simplemente intente variaciones y finalmente di con osoazul
> diego@dockerlabs:~/.local/share$ su root
Password: osoazul
root@dockerlabs:/home/diego/.local/share# whoami
root
root@dockerlabs:/home/diego/.local/share# id
uid=0(root) gid=0(root) groups=0(root)
PWNED





