# 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>" %}


---

# 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://wiki.securiters.com/securiters-wiki/write-ups/proving-grounds/onsystemshelldredd.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.
