HackTheBox Fries

Como es habitual en las pruebas de penetración de Windows, iniciará el equipo Fries con las credenciales de la siguiente cuenta:: d.cooper@fries.htbenvelope / D4LE11maan!!.

Nmap

Observamos los puertos abiertos de entrada.

nmap -sS -Pn -n -vvv --open --min-rate 5000 10.129.244.72 -oG port
PORT     STATE SERVICE          REASON
22/tcp   open  ssh              syn-ack ttl 62
53/tcp   open  domain           syn-ack ttl 127
80/tcp   open  http             syn-ack ttl 62
88/tcp   open  kerberos-sec     syn-ack ttl 127
135/tcp  open  msrpc            syn-ack ttl 127
139/tcp  open  netbios-ssn      syn-ack ttl 127
389/tcp  open  ldap             syn-ack ttl 127
443/tcp  open  https            syn-ack ttl 62
445/tcp  open  microsoft-ds     syn-ack ttl 127
464/tcp  open  kpasswd5         syn-ack ttl 127
593/tcp  open  http-rpc-epmap   syn-ack ttl 127
636/tcp  open  ldapssl          syn-ack ttl 127
2179/tcp open  vmrdp            syn-ack ttl 127
3268/tcp open  globalcatLDAP    syn-ack ttl 127
3269/tcp open  globalcatLDAPssl syn-ack ttl 127
5985/tcp open  wsman            syn-ack ttl 127

Observamos las versiones y servicios que corren para cada uno de los puertos, identificamos un dominio el cual agregamos a nuestro /etc/hos.


Wfuzz

Al fuzzear subdominios de fries.htb, encontré que code.fries.htb responde con HTTP 200, lo que confirma que es un subdominio válido y activo ahora agregamos este nuevo dominio al /etc/hosts.


Vamos al primer sitio web, observamos un panel de login, recordemos que tenemos credenciales que se nos dio previamente.


Al iniciar session observamos varios repos los cuales vamos a explorar.


Uno de los commit en uno de los repos, observamos credenciales parar una base de datos, vamos a guardar estos datos nos pueden ser util ah medida que avancemos.


En uno de los commit que nos topamos observamos un dominio entero, vamos a guardar este nuevo dominio en nuestro /etc/hosts.


Vistamos el nuevo dominio donde observamos nuevamente un panel administrativo, recordemos que tenemos credenciales previamente dadas asi que vamos a iniciar session cone ellas.


Al iniciar session en este pgAdmin observamos la version que corre, asi que vamos ah buscar vulnerabilidades asociadas a esta version.


Buscando encontre este poc publico en Github.

El exploit funciona hasta el punto de la ejecución: detecta pgAdmin vulnerable, autentica bien y lanza el payload, luego abajo observamos que con penelope resivimos la revershell.


Estoy dentro de un contenedor Docker: solo tengo la interfaz eth0 con IP 172.18.0.4, que pertenece a una red interna (172.18.0.0/16), y no tengo salida directa a la red externa. Esto explica por qué la reverse shell a 10.10.15.143 falla: desde el contenedor no es enrutable. Para avanzar necesito pivotar (usar el host como puente), apuntar la shell a la IP del host Docker (normalmente 172.18.0.1) o usar otro método de ejecución que no requiera conexión directa de vuelta.


Dentro del contenedor de pgAdmin y las variables de entorno confirman cosas clave: tengo las credenciales por defecto de pgAdmin (admin@fries.htb : Friesf00Ds2025!!), el servicio corre con gunicorn y todo el stack es Python.

Última actualización