HackTheBox

Blocky



Key Findings


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

  • Archivos Java archive sensibles accesibles vía directorio web
  • Credenciales de base de datos hardcodeadas en la aplicación BlockyCore.jar
  • Servicio SSH vulnerable a enumeración de nombres de usuario (OpenSSH 7.2)
  • Privilegios sudo sin restricciones para cuenta de usuario comprometida

Key Learning Objectives


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

  • ✅ Port Scanning & Service Enumeration
  • ✅ WordPress Content Management System Analysis
  • ✅ Web Directory Fuzzing & Discovery
  • ✅ Java Archive Reverse Engineering
  • ✅ SSH Username Enumeration Techniques
  • ✅ Credential Extraction from Java Applications
  • ✅ Privilege Escalation via Sudo Misconfiguration

Reconnaissance & Enumeration


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

❯ sudo nmap --top-ports=100 --open -n -Pn -vvv -oG ports 10.10.10.37
❯ sudo nmap -p 21,22,80 -sCV -oN services 10.10.10.37

Resultados:

  • Puerto 21/tcp: Servicio FTP
  • Puerto 22/tcp: Servicio SSH (OpenSSH 7.2)
  • Puerto 80/tcp: Servidor Apache HTTP


Web Application Assessment


El examen del navegador reveló un sistema de gestión de contenido WordPress con entradas de blog activas.

El análisis de las publicaciones del blog identificó un nombre de usuario potencial notch asociado con el contenido publicado.


SSH Username Enumeration


Utilizando el módulo de enumeración de nombres de usuario SSH de Metasploit, se confirmó la validez del usuario notch. Guardaremos este usuario para más adelante. Esta técnica es efectiva contra OpenSSH versión 7.2 pero no tendría éxito contra implementaciones SSH modernas.


Directory Discovery & Fuzzing


Se realizó la enumeración de directorios web para identificar rutas accesibles y contenido oculto.

❯ gobuster dir -u http://blocky.htb -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 50 --no-error

Se descubrió el directorio /plugins y se encontró que contenía archivos Java archive descargables.

Se identificaron y descargaron dos archivos JAR para análisis adicional.


Java Application Reverse Engineering


Se realizó ingeniería inversa del archivo BlockyCore.jar utilizando el decompilador JD-GUI.

❯ jd-gui BlockyCore.jar &

El análisis reveló credenciales de base de datos hardcodeadas dentro del código fuente de la aplicación.


Credential Validation & User Access


Las credenciales extraídas fueron probadas contra el servicio SSH utilizando el nombre de usuario previamente identificado notch. La autenticación fue exitosa, estableciendo acceso inicial al sistema.


Privilege Escalation Assessment


La investigación de privilegios sudo reveló acceso administrativo sin restricciones para la cuenta de usuario comprometida.


Administrative Access Achievement


La ejecución de una shell bash con privilegios sudo resultó en el compromiso completo del sistema y acceso root.


Recommendations



Immediate Actions


1. Secure Web Directory Access

  • Eliminar o restringir el acceso al directorio /plugins
  • Implementar controles de acceso apropiados para archivos de aplicación sensibles
  • Prevenir la descarga directa de archivos Java archive

2. Application Security

  • Eliminar credenciales hardcodeadas del código fuente de la aplicación
  • Implementar prácticas seguras de gestión de credenciales
  • Realizar revisión de código para vulnerabilidades de seguridad adicionales

3. SSH Service Hardening

  • Actualizar OpenSSH a la última versión para prevenir enumeración de usuarios
  • Implementar autenticación basada en claves SSH
  • Deshabilitar autenticación por contraseña donde sea posible

4. Privilege Management

  • Revisar y restringir privilegios sudo basados en el principio de mínimo privilegio
  • Eliminar acceso sudo sin restricciones para cuentas de usuario estándar
  • Implementar controles de acceso basados en roles

Long-term Security Improvements


1. Access Controls

  • Implementar permisos de sistema de archivos comprehensivos
  • Auditoría regular de privilegios de usuario y derechos de acceso
  • Desplegar segmentación de red y restricciones de acceso

2. Application Security

  • Establecer prácticas de ciclo de vida de desarrollo seguro
  • Implementar pruebas de seguridad automatizadas en el pipeline de desarrollo
  • Evaluaciones de seguridad regulares de aplicaciones personalizadas

3. Monitoring & Detection

  • Desplegar soluciones de monitoreo y análisis de logs
  • Implementar sistemas de detección de intrusos
  • Establecer alertas para intentos de escalada de privilegios

4. Credential Management

  • Implementar sistema centralizado de gestión de credenciales
  • Aplicar políticas de contraseñas fuertes en todos los servicios
  • Rotación regular de contraseñas y requisitos de unicidad