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

# Vacaciones

### Identificación <a href="#identificacion" id="identificacion"></a>

Para la identificación hacemos un escaneo `nmap`.

Copy

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

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.

El resultado que me da es el siguiente:

```
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 41:16:eb:54:64:34:d1:69:ee:dc:d9:21:9c:72:a5:c1 (RSA)
|   256 f0:c4:2b:02:50:3a:49:a7:a2:34:b8:09:61:fd:2c:6d (ECDSA)
|_  256 df:e9:46:31:9a:ef:0d:81:31:1f:77:e4:29:f5:c9:88 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.29 (Ubuntu)
| http-methods: 
|_  Supported Methods: GET POST OPTIONS HEAD
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

Como podemos observar nos detecta el **puerto 22** de **OpenSSH 7.6p1** de **Ubuntu**.\
Y también el puerto **80** de **http** de **Apache 2.4.29**.

Podemos ver si en el servidor web de **http de Apache** podemos ver algo, para eso abrimos la dirección **IP** en el **navegador de internet**, y no vemos nada, pero si vemos el **codigo fuente de la web** podemos observar alguna pista de dos usuarios que pueden existir, como **Juan** y **Camilo**.

Entonces así podemos provar a hacer **fuerza bruta con esos usuarios**.

## Fuerza bruta con hydra.

Para hacer fuerza bruta al servidor **SSH** podemos usar la herramienta **hydra**.

Para ello ejecutamos el siguiente comnado:

```bash
hydra -l juan -P rockyou.txt ssh://172.17.0.2 -t 15
```

Así con ese comando hacemos fuerza bruta con **el usuario juan**, con la **wordlist de rockyou.txt** al servicio **SSH** de la **IP** de la víctima usando **15 hilos**.

Y lo mismo lo podemos hacer con el usuario **camilo**.

Y ahí si que ha dado resultado el usuario **camilo** con la contraseña `password1`.

## Elevación de privilegios.

Al encontrar la contraseña accedemos a la máquina por **SSH**.

### Accedemos como Camilo

<figure><img src="/files/FBVI5yJ2E0mLT6R0oeS6" alt=""><figcaption><p>Accediendo por SSH</p></figcaption></figure>

Así para usar bash ejecuto el comando **bash** y después pongo el comando `sudo -l` para ver los permissos de sudo que tiene.

Pero al no tener ninguno reviso el correo ya que en el comentario del servidor web dijo algo del correo.

Y ahí podemos leer y observar el coreo electrónico.

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

### Accedemos como juan

Por lo que ya que tenemos una contraseña podemos intentar usarla con el usuario **juan**, por lo que ejecuto el comando `su juan` y pongo la contraseña, y así logro acceder al usuario **juan**.

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

Y al poner el comando **sudo -l** podemos observar que tiene un par de permisos, por lo que podemos ver que tiene permisos como super usuario en **ruby**, por lo que podemos ir a la web de [GTFOBins](https://gtfobins.github.io/).

Y ahí podemos ver que desde sudo podemos elevar los privilegios:

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

## Escalamos los privilegios

Entonces ejecutamos el siguiente comando:

```bash
sudo ruby -e 'exec "/bin/bash"'
```

Y así **accedemos como usuario root**.

<figure><img src="/files/FJxZTUgcV0i97GL8crq8" alt=""><figcaption><p>Accediendo como <strong>root</strong>.</p></figcaption></figure>

## Final

En esta máquina hemos repasado la **elevación de privilegios por usuarios y por ruby** además de hacer **fuerza bruta por SSH** a un usuario que encontramos en el **código fuente de la web**.
