Publicado: 30 de Junio de 2025
Autor: José Miguel Romero aKa x3m1SecDificultad: ⭐ Medium
OS: Windows
📝 Descripción
TheFrizz es una máquina Windows de dificultad media que simula un entorno de Active Directory con un servicio web que ejecuta Gibbon LMS. La explotación inicial se basa en aprovechar una vulnerabilidad de escritura arbitraria de archivos sin autenticación (CVE-2023-45878) en Gibbon LMS v25.0.1, que permite subir una web shell PHP y obtener RCE (Remote Code Execution).
Una vez dentro del sistema, se realizan tareas de post-explotación para descubrir credenciales de base de datos almacenadas en archivos de configuración. A través de la enumeración de la base de datos MySQL, se obtienen hashes de contraseñas que se crackearon exitosamente, permitiendo el acceso SSH al dominio y la escalada de privilegios mediante técnicas de autenticación Kerberos.
Esta máquina pone a prueba habilidades en:
Explotación de vulnerabilidades web (CVE-2023-45878)
Enumeración de Active Directory
Cracking de hashes con técnicas de salt
Autenticación Kerberos y manejo de tickets
Post-explotación en entornos Windows
📊 Resumen de la Explotación
🔗 Cadena de Ataque
🎯 Puntos Clave
🔥 Vulnerabilidades Críticas:
CVE-2023-45878: Escritura arbitraria de archivos sin autenticación en Gibbon LMS
Credenciales hardcodeadas en archivos de configuración
Hashes débiles con salt predecible
🛡️ Técnicas de Explotación:
File Upload Bypass para RCE
Database Enumeration post-compromiso
Hash Cracking con salt customizado
Kerberos Authentication con TGT
🎯 Servicios Objetivo:
Gibbon LMS (Puerto 80) - Punto de entrada
MySQL (Local) - Escalada de privilegios
SSH (Puerto 22) - Acceso final
Kerberos (Puerto 88) - Autenticación de dominio
🔭 Reconocimiento
🏓 Ping para verificación en base a TTL
💡 Nota: El TTL cercano a 128 sugiere que probablemente sea una máquina Windows.
🚀 Escaneo de puertos
🔍 Enumeración de servicios
⚠️ Añadimos el siguiente vhost a nuestro fichero /etc/hosts:
📋 Análisis de Servicios Detectados
Puerto
Servicio
Descripción
22
SSH
OpenSSH for Windows - Acceso remoto
53
DNS
Servicio DNS del dominio
80
HTTP
Servidor web Apache con PHP
88
Kerberos
Autenticación del dominio
135
MSRPC
Llamadas a procedimientos remotos
139/445
SMB/NetBIOS
Recursos compartidos
389/636
LDAP/LDAPS
Directorio activo
🔥 Servicios críticos identificados:
Dominio Active Directory: frizz.htb
Controlador de dominio: FRIZZDC
Desfase horario: 6h59m59s (crítico para Kerberos)
Firma SMB: Requerida (entorno seguro)
🌐 Enumeración de Servicios
🗂️ SMB (Puerto 445) - Acceso Inicial
Ya que no disponemos de credenciales, comenzamos tratando de enumerar sin éxito posibles recursos mediante una sesión nula:
🔒 Enumeración de recursos compartidos
❌ Resultado: No se permite acceso anónimo a recursos SMB
🌐 HTTP (Puerto 80) - Servicio Web Principal
🏠 Página Principal (http://frizzdc.frizz.htb)
🎓 Gibbon LMS Discovery
Al pulsar en la opción Staff Login somos redireccionados al siguiente servicio implementado con Gibbon LMS:
URL: http://frizzdc.frizz.htb/Gibbon-LMS/
🔍 Fingerprinting del Servicio
📚 Información sobre Gibbon LMS
Gibbon es una plataforma de gestión escolar flexible y de código abierto diseñada para mejorar la vida de profesores, estudiantes, padres y líderes.
Versión identificada: v25.0.00
🚨 Investigación de Vulnerabilidades
La versión instalada (v25.0.00) es vulnerable a múltiples CVEs para versiones anteriores a la v26.0:
🎯 CVE-2023-45878 - Escritura Arbitraria de Archivos
Descripción: GibbonEdu Gibbon versión 25.0.1 y anteriores permite la escritura arbitraria de archivos porque rubrics_visualise_saveAjax.php no requiere autenticación.
Parámetros vulnerables:
img: Imagen codificada en base64
path: Ruta de destino
gibbonPersonID: ID de persona
Impacto: Permite la creación de archivos PHP que posibilitan la ejecución remota de código no autenticado.
🎯 Explotación - CVE-2023-45878
🔧 Herramienta de Explotación
Existe un exploit público que facilita la explotación de esta vulnerabilidad:
graph TB
A[🔍 Reconocimiento] --> B[🚀 Escaneo de Puertos]
B --> C[🌐 Descubrimiento de Gibbon LMS]
C --> D[🎯 CVE-2023-45878 - RCE]
D --> E[📂 Acceso como w.webservice]
E --> F[🔐 Extracción de credenciales DB]
F --> G[🗃️ Enumeración de MySQL]
G --> H[💥 Cracking de hashes]
H --> I[🎫 Obtención de TGT Kerberos]
I --> J[🏆 Acceso SSH como f.frizzle]
❯ ping -c2 10.10.11.60
PING 10.10.11.60 (10.10.11.60) 56(84) bytes of data.
64 bytes from 10.10.11.60: icmp_seq=1 ttl=127 time=42.5 ms
64 bytes from 10.10.11.60: icmp_seq=2 ttl=127 time=44.1 ms
--- 10.10.11.60 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1005ms
rtt min/avg/max/mdev = 42.527/43.308/44.089/0.781 ms
nmap -sC -sV -p$ports 10.10.11.60 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-30 17:50 CEST
Nmap scan report for 10.10.11.60
Host is up (0.042s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH for_Windows_9.5 (protocol 2.0)
53/tcp open domain Simple DNS Plus
80/tcp open http Apache httpd 2.4.58 (OpenSSL/3.1.3 PHP/8.2.12)
|_http-title: Did not follow redirect to http://frizzdc.frizz.htb/home/
|_http-server-header: Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2025-06-30 22:50:47Z)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: frizz.htb0., Site: Default-First-Site-Name)
445/tcp open microsoft-ds?
464/tcp open kpasswd5?
593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
636/tcp open tcpwrapped
3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: frizz.htb0., Site: Default-First-Site-Name)
3269/tcp open tcpwrapped
9389/tcp open mc-nmf .NET Message Framing
49664/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49670/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0
59524/tcp open msrpc Microsoft Windows RPC
59528/tcp open msrpc Microsoft Windows RPC
59537/tcp open msrpc Microsoft Windows RPC
Service Info: Hosts: localhost, FRIZZDC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: 6h59m59s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled and required
| smb2-time:
| date: 2025-06-30T22:51:40
|_ start_date: N/A
echo "10.10.11.60 frizz.htb frizzdc.frizz.htb" | sudo tee -a /etc/hosts