> 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

Write-up de la máquina Dawn de Proving Grounds #writeup #walkthrough

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FUDKTytjBVazXbAbXEi9A%2Fimage.png?alt=media&amp;token=431554b2-d0ec-48c6-8192-7afd07b4d6e3" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FekTGDfGlDja5vI950e81%2Fimage.png?alt=media&amp;token=bc32cf3c-4efb-461c-ba24-670df256d32f" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FV93AuOo4moKuUrcPb2JJ%2Fimage.png?alt=media&amp;token=9533d387-e7c4-47ac-bfc9-fe1383a8d1d0" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FZoFjRko0nJuLnqZcxu4Y%2Fimage.png?alt=media&amp;token=fda98d59-49ae-46f8-9b3e-025dd6f754de" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FXbb0ohf3z2nBcpLJG59l%2Fimage.png?alt=media&amp;token=b50f3266-ba9d-4c1c-b5fc-cf9a07c15df5" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F5BbvS1TvwkqHFcVNQctX%2Fimage.png?alt=media&amp;token=b93e7518-dc16-4869-9935-3804f924f0c9" alt=""><figcaption></figcaption></figure>

Tenemos un directorio /logs.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FifW9cXrQrbJvV2Lo3i95%2Fimage.png?alt=media&amp;token=297e2cea-83b2-48eb-a126-ab73663474b7" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fay9i7QsHbFPrGyUnObSf%2Fimage.png?alt=media&amp;token=7afcc6e6-4ed2-444c-a4ec-1d4d5c9f0bf9" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FnLzsZTRXHf4gaFWQ0kSg%2Fimage.png?alt=media&amp;token=2094243b-ad8e-4769-9ed8-c87ac701a5cc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FV5VQYlzZPtMKfJALJFRJ%2Fimage.png?alt=media&amp;token=05215238-6ca2-4a3a-b737-a2e9fbb3fb6d" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FUtI9sNMvp9LCICTqrg7M%2Fimage.png?alt=media&amp;token=286d90f5-b1ef-4487-9137-91a60840592e" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fj2FVqNZzFtH7FPHXfvEH%2Fimage.png?alt=media&amp;token=7aeb789f-3c6e-470c-9624-387ebe97a381" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FIQTXLyT1KA5dMQcvuE6M%2Fimage.png?alt=media&amp;token=e66297f9-79ce-4c1f-862d-37f12e05b68a" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FMVTGJXzGmFCJGQfFCORx%2Fimage.png?alt=media&amp;token=49c68948-557e-4c40-aefe-3a2776980850" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FT8bRuJfPo7pJuD1J6qnK%2Fimage.png?alt=media&amp;token=1955dfb8-c201-4e3a-b7b8-f6dd588ce27d" alt=""><figcaption><p>Archivo web-control</p></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FGigiRA3YPZkIzWmsrTcq%2Fimage.png?alt=media&amp;token=5e3a08d6-c4d6-4a19-bebb-db6365dc27f7" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F2l2Mej8nytKzwFHfst1R%2Fimage.png?alt=media&amp;token=416a927a-13a2-4c5e-ac2e-5ed8ed200301" alt=""><figcaption></figcaption></figure>

Transcurrido 1 minuto, tendremos dos Shells reversas.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F4U6cMdnkUGbYmzXaC69P%2Fimage.png?alt=media&amp;token=928f0286-6541-47d9-b089-1d0db57c9ac4" alt=""><figcaption><p>Shell como www-data</p></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FITj0OFXW7ymwm9gC9ywd%2Fimage.png?alt=media&amp;token=417e0a92-455d-427d-b334-2e6e65daf2a1" alt=""><figcaption><p>Shell como usuario dawn</p></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FMYZvzUUUzHZKFdMKPWhH%2Fimage.png?alt=media&amp;token=e71d6d52-04f7-492c-b631-1de261e5530b" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FakuwafyWvcnIjpe5meyR%2Fimage.png?alt=media&amp;token=164baf40-aef1-4916-ad58-12e295e1bfa9" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fd37vI8yoxRoYKm4S29fk%2Fimage.png?alt=media&amp;token=5a3f466a-bbe1-44cf-9412-90fafcd1146a" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FblHQD7FrycDUaZfa8qW7%2Fimage.png?alt=media&amp;token=b03d896f-70a6-40f6-a7e6-682c991ee989" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FITIbjEGE9HlM2g7ngvOY%2Fimage.png?alt=media&amp;token=f0aa0c30-da22-48f3-9058-f1242184c9a3" alt=""><figcaption></figcaption></figure>

Pero...

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FJQFdYEaj82ssqH6c5OiU%2Fimage.png?alt=media&amp;token=573b1b26-7d28-4498-ad46-17664578418f" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F6b1yVGvlUUpTtglnGXs7%2Fimage.png?alt=media&amp;token=e9ee46df-b070-47f9-b736-a2d9d11061f7" 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="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FhYJDhYqsbp8PzB2IQG2w%2Fimage.png?alt=media&amp;token=8bfbb416-d425-43ed-ae7d-462ba58eac71" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FmFGKtrLnnX7CdEBAmmnK%2Fimage.png?alt=media&amp;token=a3a72b6c-e4c2-4097-a924-b96bf00a7728" alt=""><figcaption></figcaption></figure>

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F0rAZhECT1G0t9pIH8wmC%2Fimage.png?alt=media&amp;token=117d4de6-767d-44f7-9bcc-bc778dd48768" alt=""><figcaption></figcaption></figure>

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

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