# Funbox Rookie

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fei18o6vE3eT6k54BqCUy%2FSQL%20injection%20vulnerability%20in%20WHERE%20clause%20allowing%20retrieval%20of%20hidden%20data%20(11).png?alt=media&#x26;token=3d30186a-cc32-4b1a-8e36-b3272bfda976" alt=""><figcaption></figcaption></figure>

### Enumeración

#### Servicios abiertos

Comenzamos enumerando los puertos que tiene abiertos la máquina objetivo.&#x20;

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

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FbQVYC6thz5LKdzDEyVcN%2Fimage.png?alt=media&#x26;token=269c1e1a-bfe9-4174-9935-7a33682efe45" alt=""><figcaption></figcaption></figure>

3 puertos abiertos (21,22,80). El siguiente paso será el escaneo profundo de estos tres servicios.

```
nmap -p21,22,80 -Pn -n -sVC -vvv 192.168.96.107
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fz0BcR8ztbBMeBBjW05dY%2Fimage.png?alt=media&#x26;token=0d13b180-510d-467f-8642-245533bacbdc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FjiOFMthXUpUWNDL1YPuf%2Fimage.png?alt=media&#x26;token=9147ac31-1b35-48eb-ad95-c0399d9e3ae3" alt=""><figcaption></figcaption></figure>

Servicios abiertos:

* Puerto 21 -> FTP -> ProFTPD 1.3.5e
* Puerto 22 -> SSH -> OpenSSH 7.6
* Puerto 80 -> HTTP -> Apache httpd 2.4.29

Información de interés obtenida:

* FTP Login Anonymous
* robots.txt -> 1 entrada -> /logs

#### Enumeración FTP

Como hemos visto en la enumeración de servicios abiertos, está disponible la autenticación "anonymous" en el servicio FTP. Vamos a ver el contenido.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FWp0JIwiKHbYwzKtwFd4c%2Fimage.png?alt=media&#x26;token=c2f7ad69-49a7-4c66-9eb2-5dcdb2e71ef9" alt=""><figcaption></figcaption></figure>

#### Enumeración Web

En la enumeración de puerto, hemos visto que se está ejecutando un servidor Apache en el puerto 80. Vamos a enumerar su contenido.&#x20;

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FsRfQM2NS9Zh0f5ESRaYZ%2Fimage.png?alt=media&#x26;token=ab297c87-dd68-44ad-b652-f0a3e1f24692" alt=""><figcaption></figcaption></figure>

Vemos la página por defecto de un servidor Apache. El siguiente paso será buscar directorios y archivos interesantes disponibles en este servidor.&#x20;

```
dirsearch -u "192.168.96.107" -i200,301 
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FXfPyqBp0qQqVMg63aRgA%2Fimage.png?alt=media&#x26;token=d302653b-3f69-4740-af2f-c16db134646d" alt=""><figcaption></figcaption></figure>

Interesante, un archivo robots.txt que ya vimos en la enumeración inicial. Vamos a ver su contenido. Encontramos un directorio /logs/, pero...

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FRHESJNTUtsm763Uy8NGJ%2Fimage.png?alt=media&#x26;token=2c15b8f0-c7fe-4bf0-80dc-14a187a0cf69" alt=""><figcaption></figcaption></figure>

### Explotación

Recordamos los archivos ZIP dentro del servidor FTP. Vamos a descargar todos los archivos. Primero, utilizamos la herramienta zip2john para generar hashes de todos los archivos. Luego, desciframos solo dos archivos ZIP: cathrine.zip y tom.zip. Extraemos los datos de los archivos ZIP y, después de la extracción, encontramos una clave SSH privada.

```
 zip2john tom.zip > tom.hash
 zip2john cathrine.zip > cathrine.hash
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fk8HfZ1UqsIamYWF2GHuf%2Fimage.png?alt=media&#x26;token=17173c01-449a-4928-980b-792af640831d" alt=""><figcaption></figcaption></figure>

```
john --wordlist=/home/elhackeretico/rockyou.txt tom.hash
john --wordlist=/home/elhackeretico/rockyou.txt cathrine.hash
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2Fdhj6gPSs7qdBn96lRjiJ%2Fimage.png?alt=media&#x26;token=9ade604b-d192-48b1-94c5-bed542fbe5fa" alt=""><figcaption></figcaption></figure>

Dentro del archivo comprimido del usuario tom, encontramos una clave privada id\_rsa. Vamos a intentar iniciar sesión en el servicio SSH con el usuario "tom" y esta clave privada. Antes debemos dar privilegios al archivo de clave privada.&#x20;

```
chmod +x id_rsa
ssh -i id_rsa tom@192.168.96.107
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FghfNf91gSpEcxG9sr3xq%2Fimage.png?alt=media&#x26;token=fc5c6709-ea83-47ca-b2cc-863fd0a5bf40" alt=""><figcaption></figcaption></figure>

Buscamos la flag local.txt

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2F8aZr6rdmusTdGW17XrEr%2Fimage.png?alt=media&#x26;token=ba53986b-5c00-4ac9-8f55-c132af26e40f" alt=""><figcaption></figcaption></figure>

Pero, tenemos una rbash. Salimos de esta conexión y probamos a conectarnos con el siguiente comando.&#x20;

```
ssh -i id_rsa tom@192.168.96.107 -t "bash --noprofile"
```

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FpUnMoEeaVktbPfzWcIDY%2Fimage.png?alt=media&#x26;token=c661069a-be20-4f8b-8cc1-4a18380c8a26" alt=""><figcaption></figcaption></figure>

Y ya tendremos la flag local.txt

### Elevación de privilegios

Tras revisar el archivo .mysql\_history, hemos descubierto una contraseña que podría ser válida para el usuario Tom. Al observar el resultado del comando sudo -l, vemos que nuestro usuario tiene permisos para ejecutar cualquier comando proporcionando una contraseña. Procedamos a ejecutar el comando sudo su con el fin de obtener acceso a la cuenta de root.

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FIAME0hy2gOXOFO4zZyCU%2Fimage.png?alt=media&#x26;token=46571b9f-7b67-4362-842e-14aed040b56a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FXnG6V44diw1zMLZ2vLwZ%2Fimage.png?alt=media&#x26;token=8d604b19-f469-4c7b-9253-88102e54c0ee" alt=""><figcaption></figcaption></figure>

<figure><img src="https://264470966-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FeX9VhvbkT8Ff8eDftQXl%2Fuploads%2FnWru8zyWhnzwAIwV196w%2Fimage.png?alt=media&#x26;token=845b3e2c-b658-4a1c-8b41-627bdac411b4" alt=""><figcaption></figcaption></figure>

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

{% embed url="<https://youtu.be/SNLB4MZT4Xg>" %}
