romabri@home:~$

LittlePivoting - DockerLabs

OS Dificultad Creator
Linux Medio ElPinguinoDeMario

Reconocimiento

Vemos el puerto 80 y el puerto 22 abiertos

imagen

Hacemos un reconocimiento con gobuster

imagen

Entontramos un directorio /shop vamos a ingresar

imagen

Vemos que tenemos una pista que añadiendo el parámetro archivo, podemos vulnerar a un LFI

imagen

Encontramos 2 posibles usuarios

imagen

Hacemos un ataque de fuerza bruta y encontramos que manchi tiene la contraseña “lovely”

imagen

Nos descargamos algún script para poder hacer fuerza bruta en local ya que hay dos usuarios para ver si encontramos la contraseña de seller

imagen

Encontramos que la contraseña de seller es “qwerty”

imagen

Escalamos al usuario seller y hacemos un sudo -l, vemos que tenemos permisos para ejecutar php como cualquier usuario

imagen

Ahora vamos a enumerar IPs que haya en dicho PC con un script en bash

#!/bin/bash

for i in {1..255}; do
        timeout 1 bash -c "ping -c 1 20.20.20.$i" >/dev/null
        if [ $? -eq 0 ]; then
                echo "El host 20.20.20.$i está activo"
        fi
done

imagen

Perfecto, entonces ahora vamos a hacer portforwarding con chisel para traernos los puertos de la máquina 20.20.20.3 a nuestra IP

En la máquina atacante desplegamos el chisel para que haga de servidor

imagen

Y en la máquina víctima lo iniciamos de la siguiente forma

imagen

Esto nos ha creado un túnel entre las dos máquinas

Ahora hacemos un escaneo con nmap para ver los puertos abiertos

proxychains nmap -sT --top-ports 100 20.20.20.3 -Pn -oN nmap_20.20.20.3

imagen

Ahora vamos a configurar el proxy en foxyproxy para podernos conectar a la web

imagen

Una vez hecho esto, ya podemos ver la web alojada en la máquina 2

imagen

Procedemos a hacer un análisis de directorios con gobuster con el parámetro –proxy y le especificamos el socks5 y la IP más el puerto

imagen

Encontramos un secret.php

Vamos a ver qué hay

imagen

Encontramos un posible usuario mario, vamos a hacer fuerza bruta con hydra

imagen

Encontramos el usuario mario con la contraseña “chocolate”

Vamos a conectarnos a la máquina con esas credenciales

imagen

Ya estamos dentro de la máquina, vamos a escalar privilegios

Podemos ejecutar vim como cualquier usuario, vamos a buscarlo en gtfobins

imagen

Ejecutamos el comando sudo -u root /usr/bin/vim -c ‘:!/bin/sh’

imagen

Ya somos root de la segunda máquina

Ejecutamos un hostname -I para ver las interfaces de red y vemos que tiene dos

imagen

Esta máquina no tiene ping instalado, así que vamos a aprovecharnos del /dev/tcp para hacer un escaneo

imagen

imagen

Nos muestra que la IP 30.30.30.3 está habilitada

Ahora vamos a compartir por el puerto 8080 de la máquina 20.20.20.2 el chisel a la máquina 20.20.20.3

imagen

Para que la conexión sea posible, tendremos que hacer que desde esta máquina llegue a nuestra máquina, sin embargo, no tenemos conectividad desde la 30.30.30.0/24 a la 10.10.10.0/24 pero, sí que tiene conectividad con nosotros la red 20.20.20.0/24. Por ello, haremos uso de la herramienta socat ya que nos permitirá que, nosotros desde la máquina 30.30.30.2, nos conectemos con chisel a la máquina 20.20.20.2 y la máquina 20.20.20.2 redirija esa conexión a la 10.10.10.1 que somos nosotros.

Nos descargamos socat de GitHub y lo subimos a la máquina 20.20.20.2

imagen

Iniciamos socat haciendo que todas las peticiones que pasen por socat las mande al PC atacante por el mismo puerto que tiene chisel

imagen

En la máquina hacemos que todo el tráfico lo redirija a la máquina 20.20.20.2 por el mismo puerto que hemos configurado socat

imagen

Ahora vamos a hacer un escaneo de los 100 puertos de la máquina 30.30.30.3

Encontramos el puerto 80 abierto

imagen

Vamos a configurar el foxyproxy

imagen

Accedemos al puerto 80

imagen

Vamos a hacer un reconocimiento con gobuster

imagen

Vemos un directorio uploads, entonces vamos a subir un archivo para mandarnos una reverse shell

imagen imagen imagen

Ya tenemos subida la reverse shell, ahora vamos a configurar que la reverse shell nos llegue a nuestra máquina con socat

En la máquina 20.20.20.2 montamos un socat que redirija todo lo que haya en el 442 a la IP 10.10.10.1 al 441

imagen

Y en la máquina 30.30.30.2 montamos otro socat que redirija todo lo que venga del 443 a la IP 20.20.20.2 al 442

imagen

Si ahora en la máquina atacante creamos un nc por el puerto 441 le damos click encima del php-reverse-shell.php y nos debería llegar la reverse shell

imagen

Ahora vamos a escalar privilegios

imagen

Si hacemos un sudo -l

Vemos que podemos ejecutar env como root, vamos a ver cómo se hace con gtfobins

imagen

imagen

¡Ya hemos llegado al final!