> For the complete documentation index, see [llms.txt](https://1gnotus.gitbook.io/ignotus_pwn/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://1gnotus.gitbook.io/ignotus_pwn/dockerlabs/writeup/maquina-hackerzone-fuzzing-web-upload-revershell-mov-lateral-privesc-sudo-l-cat.md).

# MAQUINA HACKERZONE (Fuzzing Web - Upload Revershell - Mov Lateral - PrivEsc sudo -l 'cat')

Enumeración de puertos, servicios y sus versiones.

```
nmap -p- --open --min-rate 2000 -n -Pn -sSCV 172.17.0.2 -oN fullscan.txt

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 8e:a2:56:38:e1:85:2f:21:2b:55:ec:29:5b:f8:63:d9 (ECDSA)
|_  256 0f:4b:38:fa:04:33:c7:01:5a:98:12:05:2d:42:cf:1a (ED25519)
53/tcp open  domain  ISC BIND 9.18.28-0ubuntu0.24.04.1 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.18.28-0ubuntu0.24.04.1-Ubuntu
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-title: HackZones.hl - Seguridad para tu Empresa
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
```

Agregue a mi Host el titulo > HackZones.hl

Reconocimiento de la web que corre por el puerto 80

Con whatweb identifique un poco de información interesante.

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

Luego ingrese a la web para ver mas información de la misma, entre a <http://172.17.0.2> y me muestra un contenido interesante pero la <http://HackZones.hl> me muestra un panel de sesión.

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

<figure><img src="/files/4CYFGvimYtAvEXWWxN2q" alt=""><figcaption></figcaption></figure>

Busque directorios ocultos con feroxbuster a <http://172.17.0.2> pero no encontré nada.

Luego en el panel de sesión usando burpsuite capture una petición donde me muestra una ruta llamada /authenticate.php, con esto ya tengo claro que la web esta en PHP.

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

Con feroxbuster busque directorios ocultos agregándole la extensión .php

<figure><img src="/files/6qNJ6ippkI5uFh7Cu7Ce" alt=""><figcaption></figcaption></figure>

Ingrese en la ruta /dashboard.html y me di cuenta que estoy dentro del panel de ADMIN.

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

Luego allí en la sección de admin al ingresar este me permite subir una imagen para cambiar la foto de perfil.

Cree una revershell.php y logre subirla correctamente, seguido me fui a la ruta /uploads y vi alojada la revershell en dicha carpeta.

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

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

Me puse en escucha con netcat por el puerto asignado a la RV y logre acceder dentro de la maquina.

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

Ejecute el reconocimiento de la maquina para encontrar alguna vulnerabilidad, mas usuarios, etc.

Dicha maquina contiene un usuario llamado mrrobot, en este caso ingrese como www-data por lo que tengo que realizar un movimiento lateral a dicho usuario.

Al buscar información encontré en la ruta /var/www/html una carpeta que contiene un script.sh donde al ejecutarlo como root obtuve una password.

Con tal password la use para ingresar como mrrobot, seguidamente en la carpeta /home/ observe que puedo leer el historial de comandos, en una sección se ejecuta el comando sudo -l.

```
mrrobot@680ccf9850e1:/var/www/html/supermegaultrasecretfolder$ sudo -l
Matching Defaults entries for mrrobot on 680ccf9850e1:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty

User mrrobot may run the following commands on 680ccf9850e1:
    (ALL : ALL) NOPASSWD: /usr/bin/cat
```

Revise dicho comando y vi que tengo permisos para ejecutar /usr/bin/cat al tener esto puedo leer algún archivo que sea de cualquier propietario.

En el historial se realiza un cat a un archivo llamado SistemUpdate, por ende use el siguiente comando para leer el contenido de dicho archivo.

```
sudo -u root /usr/bin/cat SistemUpdate
```

Su contenido muestra las credenciales de root, usando estas credenciales logre acceder como usuario root.

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