> For the complete documentation index, see [llms.txt](https://wiki.securiters.com/securiters-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/dawn.md).

# Dawn

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

### Enumeración

#### Servicios abiertos

Comenzamos realizando un escaneo rápido de los servicios que tiene abiertos está máquina.

```
nmap -p- --open --min-rate 5000 -Pn -n -vvv 192.168.139.11
```

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

4 puertos abiertos. Vamos a realizar el escaneo profundo de estos servicios.&#x20;

```
nmap -p80,139,445,3306 -sVC -vvv 192.168.139.11

```

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

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

Servicios abiertos:

* Puerto 80 -> HTTP -> Apache httpd 2.4.38
* Puerto 139 -> SMB -> smbd 3.X - 4.X
* Puerto 445 -> SMB -> smbd 4.9.5
* Puerto 3306 -> MySQL -> MySQL 5.5.5-10.3.15-MariaDB

#### Enumeración Web

Comenzamos viendo el contenido del puerto 80 en el navegador Web.&#x20;

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

No contiene información interesante. Si abrimos el código fuente del sitio Web, támpoco hay información relevante.&#x20;

Seguimos con la enumeración de directorios.&#x20;

```
dirsearch -u "http://192.168.139.11/" -i200,301
```

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

Tenemos un directorio /logs.&#x20;

<figure><img src="/files/36GrKHIClzMLXKiD6X5p" alt=""><figcaption></figcaption></figure>

Vemos diversos archivos logs. De los 4 archivos solo tenemos permisos para ver el archivo "management.log". Abrimos el archivo.&#x20;

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

Tenemos un archivo de logs. Vemos algunas ejecuciones de archivos que pueden ser interesantes pero de momento, nada concluyente.&#x20;

#### SMB (puerto 139 y 445)

Vamos a comenzar la enumeración de SMB con enum4linux.&#x20;

```
enum4linux 192.168.139.11
```

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

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

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

Tenemos un posible directorio al que podemos acceder para ver su contenido.&#x20;

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

Y el nombre de dos usuarios de sistema.&#x20;

Vamos a ver el contenido del directorio /ITDEPT.

```
smbmap -H 192.168.139.11
```

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

En el directorio /ITDEPT, podemos hacer tareas de lectura y escritura.&#x20;

```
smbclient \\\\192.168.139.11\\ITDEPT
```

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

El directorio no contiene ningún archivo ni directorio. Pero podemos aprovechar que podemos escribir en el directorio para cargar archivos maliciosos en el sistema.&#x20;

Volvemos al archivo log que descargamos del sitio Web y vemos dos archivos que deberían estar ejecutándose en el directorio /ITDEPT pero que como vimos, no se encuentran en este directorio.&#x20;

### Explotación

¿Y si pudiésemos crear estos archivos para cargar una Shell maliciosa en el sistema? Vamos a ello. &#x20;

<figure><img src="/files/buNZJyAGa4sE2Yt9w1KM" alt=""><figcaption><p>Archivo web-control</p></figcaption></figure>

<figure><img src="/files/EVmKGu6Qaxu3N8T4oF8v" alt=""><figcaption><p>Archivo product-control</p></figcaption></figure>

Cargamos los dos archivos creados en el equipo objetivo a través utilizando los permisos de escritura que disponemos. Al mismo tiempo, colocamos dos oyentes nc en los puertos 1337 y 4444.&#x20;

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

Transcurrido 1 minuto, tendremos dos Shells reversas.

<figure><img src="/files/0qtevdX2SNVxPsPqb3UL" alt=""><figcaption><p>Shell como www-data</p></figcaption></figure>

<figure><img src="/files/xuP7gaRNqjlOuel4JOvy" alt=""><figcaption><p>Shell como usuario dawn</p></figcaption></figure>

Buscamos la flag de usuario de bajos privilegios.&#x20;

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

### Elevación de privilegios

#### Elevación de privilegios desde www-data

Comenzamos realizando las enumeraciones básicas para la búsqueda de puntos que nos permitan elevar privilegios.&#x20;

Comenzamos comprobando permisos de sudo en la terminal de www-data.

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

Nos permite ejecutar sudo sin contraseña. Vamos a intentar explotar esto.

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

Ya tendremos un usuario con privilegios elevados. Buscamos la flag de usuario con privilegios elevados.&#x20;

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

#### Elevación de privilegios desde el usuario "dawn"

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

Pero...

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

Necesitamos una password.&#x20;

Vamos a continuar enumerando los binarios SUID.

```
find / -perm -u=s -type f 2>/dev/null
```

<figure><img src="/files/7YQgELIKYPI12wFb5149" alt=""><figcaption></figcaption></figure>

El binario zsh puede ser interesante. Vamos a ver si es útil para elevar privilegios. Consultamos [GTFOBins](https://gtfobins.github.io/gtfobins/zsh/#suid).&#x20;

<figure><img src="/files/2Ebz0bSOCxVo5FvBFXKj" alt=""><figcaption></figcaption></figure>

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

Solo quedaría volver a buscar la flag proof.txt

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

Y ya estaría acabado el CTF Dawn de la plataforma Proving Grounds.

{% embed url="<https://youtu.be/s8SMN5RhqZ4>" %}
