> 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/onsystemshelldredd.md).

# OnSystemShellDredd

Write-up de la máquina OnSystemShellDredd 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%2FxYSN3y443fDfQC2WnGhc%2FSQL%20injection%20vulnerability%20in%20WHERE%20clause%20allowing%20retrieval%20of%20hidden%20data.png?alt=media&amp;token=b53757ea-59b9-4094-bffc-f1544ff1101a" alt=""><figcaption></figcaption></figure>

### Enumeración

#### NMAP&#x20;

Comenzamos realizando una enumeración rápida de los servicios disponibles.&#x20;

```
 nmap -p- --open --min-rate 500 -Pn -n -vvv 192.168.93.130
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FPgdGNmQJLusg7AWIdyjg%2Fimage.png?alt=media&amp;token=ae3a678e-34f7-45d2-afa5-530191ea0667" alt=""><figcaption></figcaption></figure>

Dos servicios abiertos, puerto 21 y 61000. Seguimos con un escaneo profundo de estos puertos .

```
nmap -p21,61000 -sVC -Pn -n -vvv 192.168.93.130 
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FstKAnQQnl6HpLPM38gLy%2Fimage.png?alt=media&amp;token=e142dd32-56e0-4d22-8837-cfc94c1a08bd" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F1F4f7KkthzqOf5CP74hK%2Fimage.png?alt=media&amp;token=f823fa7f-975b-4e8a-89ac-64c3f56a22d4" alt=""><figcaption></figcaption></figure>

Dos puertos abiertos:

* Puerto 21 ->  FTP -> vsftpd 3.0.3
* Puerto 1337 -> SSH -> OpenSSH 7.9

Además podemos iniciar sesión de manera anónima en el servicio FTP.

### Puerto 21 (FTP)

Podemos iniciar sesión de forma anónima. Cuando iniciemos sesión, enumeraremos los archivos ocultos con el comando ls -la.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FeXcoxzYKVKhv64WFyCXr%2Fimage.png?alt=media&amp;token=568b6e81-ce7b-45a7-9b68-7712339ce67a" alt=""><figcaption></figcaption></figure>

Hay un directorio ".hannah". Dentro podemos encontrar un "id\_rsa". Descargamos este archivo en nuestra máquina de ataque.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FQKE7yBTbgx3KEl29Sb0E%2Fimage.png?alt=media&amp;token=8be7a12c-b592-4f41-92fa-f2f9fe291db7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FLGuT578QQf8eJO1g6XaI%2Fimage.png?alt=media&amp;token=a7457c1f-4b82-425e-9ab3-6ae360aae946" alt=""><figcaption></figcaption></figure>

Es una clave id\_rsa para inicio de sesión en SSH. Recordamos que había un servicio SSH activo en el puerto 61000.

### Explotación

Vamos a cambiar los permisos de este archivo para poder utilziarlo.&#x20;

```
 chmod 600 id_rsa
```

E intentamos iniciar sesión en SSH con la clave id\_rsa y el nombre de usuario del directorio donde hemos encontrado la clave.&#x20;

```
ssh -p 61000 -i id_rsa hannah@192.168.93.130 
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FNssw3NBwwFZftCkTzpz7%2Fimage.png?alt=media&amp;token=c38e56d9-c103-4d14-881c-dc2409c9c4ed" alt=""><figcaption></figcaption></figure>

Ya tenemos conexión con la máquina objetivo. Ahora a por la flag local.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FKa3nlZb8fNGV2OOfD6Vd%2Fimage.png?alt=media&amp;token=3d157ec8-cfce-4eae-8bc7-89ff9c76d17e" alt=""><figcaption></figcaption></figure>

### Elevación de privilegios

Vamos a comenzar realizando diversas enumeraciones que nos pueden aportar información de como elevar privilegios.&#x20;

Comenzamos enumerando 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%2Fi9qikce0L2udDWlRw6B0%2Fimage.png?alt=media&amp;token=d21ddede-b29f-4e58-9b95-06784603b7c9" alt=""><figcaption></figcaption></figure>

Consultamos [GTFOBins](https://gtfobins.github.io/gtfobins/cpulimit/#suid) para buscar información acerca de como elevar privilegios aprovechando el binario "cpulimit".&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FUhVpf9N83klWdoN78dDd%2Fimage.png?alt=media&amp;token=0f2f3c2c-c703-4b6d-8e41-9374faa61a85" alt=""><figcaption></figcaption></figure>

Ejecutamos.

```
/usr/bin/cpulimit -l 100 -f -- /bin/sh -p
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fj0IN9dY0Vd591q2oN3iG%2Fimage.png?alt=media&amp;token=8ea4ef91-0d67-41d9-8b2a-8599b37a99f6" alt=""><figcaption></figcaption></figure>

Y ya tendremos acceso a la máquina con privilegios máximos. Ahora a buscar la flag proof.txt.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F03dwriV7KZCUeFXp6rE9%2Fimage.png?alt=media&amp;token=0f5f9e1a-d986-4bb8-84c2-2b575272566e" alt=""><figcaption></figcaption></figure>

Y ya tendríamos acabada la máquina OnSystemShelldredd.&#x20;

{% embed url="<https://www.youtube.com/watch?v=X0gR4g0EuIE>" %}
