VulNyx - First
- Default Password - SSH
- Escape Restricted Shell - rbash
- Cron Hijacking - Privesc
Escaneo de puertos
❯ nmap -p- -T5 -n -v 192.168.1.14
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
4369/tcp open epmd
Escaneo de servicios
❯ nmap -sVC -v -p 22,80,4369 192.168.1.14
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u2 (protocol 2.0)
| ssh-hostkey:
| 3072 24:83:97:49:96:11:7c:7a:54:00:17:3b:0c:f6:e1:54 (RSA)
| 256 83:cc:d0:72:41:48:fc:c4:ba:46:a1:0e:70:50:52:71 (ECDSA)
|_ 256 a0:37:99:32:78:17:69:4f:1d:ac:75:1e:ba:19:58:45 (ED25519)
80/tcp open http Apache httpd 2.4.56 ((Debian))
|_http-server-header: Apache/2.4.56 (Debian)
| http-methods:
|_ Supported Methods: GET POST OPTIONS HEAD
|_http-title: Apache2 Debian Default Page: It works
4369/tcp open epmd Erlang Port Mapper Daemon
| epmd-info:
| epmd_port: 4369
|_ nodes:
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
HTTP TCP - 80
Si miro la máquina víctima hay pequeña pista.
En internet busco usuario y contraseña de una raspberry encuentro lo siguiente.
Me conecto por SSH usando las credenciales por defecto.
Lanzo un echo $SHELL
y me doy cuenta de que estoy en una rbash.
pi@raspberry:~ $ echo $SHELL
/bin/rbash
Si intento hacer una búsqueda de binarios con permisos SUID me sale el siguiente mensaje.
pi@raspberry:~ $ find / -perm -4000 2>/dev/null
-rbash: /dev/null: restringido: no se puede redirigir la salida
Para escapar de la rbash he usado esta web y lo unico que tengo que hacer es conectarme por SSH de la siguiente manera.
Ahora ya me permite realizar la búsqueda correctamente.
pi@raspberry:~ $ find / -perm -4000 2>/dev/null
/usr/bin/ping
/usr/bin/passwd
/usr/bin/sudo
/usr/bin/newgrp
/usr/bin/su
Enumero el sistema con pspy64 y veo una tarea cron que realiza un ping al dominio raspberrypi.com
.
Reviso el archivo de configuración crontab y veo una ruta sospechosa en el path.
Al final del archivo se puede observar que cron llama al binario ping de forma relativa.
Revisando los permisos de html veo que tengo todos los permisos.
pi@raspberry:~ $ ls -l /var/www/
total 4
drwxrwxrwx 2 www-data www-data 4096 nov 13 14:07 html
Ahora puedo elevar privilegios aprovechandome del PATH y de la tarea cron que llama al binario ping de forma relativa, para ello creo el archivo ping dentro de /var/www/html
y en su interior escribo lo siguiente.
Dejo un netcat a la escucha, espero unos segundos y obtengo el root.
Y aquí termina la máquina First.
Saludos!