> For the complete documentation index, see [llms.txt](https://rodgar.gitbook.io/rodgar/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rodgar.gitbook.io/rodgar/plataformas/the-hackers-labs/the-hacker-labs-base.md).

# The Hacker Labs Base

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FOYlULR0p9YBvAiblZhrt%2F1.png?alt=media&amp;token=be41ae55-ba77-4914-9cef-bd2337489ac7" alt=""><figcaption></figcaption></figure>

Primero que nada iniciamos por lo de siempre puertos abiertos.

***

```javascript
# Nmap 7.94SVN scan initiated Thu Sep 12 06:54:48 2024 as: nmap -sCV -p80,8080 -oN target.txt 172.16.241.193
Nmap scan report for 172.16.241.193
Host is up (0.0010s latency).

PORT     STATE SERVICE VERSION
80/tcp   open  http    Apache httpd 2.4.62 ((Debian))
|_http-generator: FlatPress fp-1.2.1
|_http-title: FlatPress
|_http-server-header: Apache/2.4.62 (Debian)
8080/tcp open  http    Apache httpd 2.4.62 ((Debian))
|_http-server-header: Apache/2.4.62 (Debian)
|_http-open-proxy: Proxy might be redirecting requests
|_http-title: Search Page

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Thu Sep 12 06:55:02 2024 -- 1 IP address (1 host up) scanned in 13.75 seconds

```

Observamos las versiones y servicios que corren para cada uno de esos dos puertos.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F0D4x3HbwM5m07WMasTkx%2F2.png?alt=media&amp;token=27ae8704-dc4d-4e98-a914-cd6cc59fb003" alt=""><figcaption></figcaption></figure>

Nos vamos al servicio web donde tenemos este CMS un panel de login donde no poseemos credenciales.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FsaV6szWYdwVmRTTC3i68%2F3.png?alt=media&amp;token=506c5d8f-b54c-4957-98c3-0fa8972b8158" alt=""><figcaption></figcaption></figure>

Nos vamos al puerto 8080 y en el buscador si buscamos la palabra juan nos sale esta informacion.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FEHvehQ64Q0r7V9ZVVauS%2F4.png?alt=media&amp;token=e323be2c-b443-47ef-9fbc-bd232929dbd3" alt=""><figcaption></figcaption></figure>

Si pasamos la peticion por el Burp y le pasamos una query SQL, nos sigue mmostrando la misma info.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FImA3DwVIx09gosRz1lre%2F5.png?alt=media&amp;token=07c0a666-37d8-414b-829c-3bec2cdfacd1" alt=""><figcaption></figcaption></figure>

Intuyendo un SQL si hacemos un ordenamiento, observamos que tenemos 5 columnas.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FOKRgzckcHbjQ6BXvoKbP%2F6.png?alt=media&amp;token=157570d2-1d09-46b1-8fbb-cb0ea46dc7bc" alt=""><figcaption></figcaption></figure>

Sabiendo cuando columnas hay, vamos a enumerar mas, observamos las bases que hay por defecto, pero la que llama la atencion es la ultima que se llama como el CMS que corre en el puerto 80.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FAltNFYYb3HP2iOXIbrEJ%2F7.png?alt=media&amp;token=be676599-6a66-4662-b071-b3918f65bd42" alt=""><figcaption></figcaption></figure>

Si enumeramos las tablas para la base de datos FlatPress tenemos una tabla llamda login.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FY9YrC8tUuCzujHrJiOdl%2F8.png?alt=media&amp;token=f8f31649-2cd0-4738-af1f-917781a48289" alt=""><figcaption></figcaption></figure>

Ahora si consultamos las columnas de la tabla login de la base de datos FlatPress, tenemos tres columnas aca id,user y password, vamos a ver las importantes.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F81IGjTDRzTA5S8MDA57L%2F9.png?alt=media&amp;token=14ec2ca0-d82f-4f93-b601-240cf982bfe5" alt=""><figcaption></figcaption></figure>

Teniendo nocion de las columnas finales hacemos un group concat para observar que se almacena en la columna user y password, tenemos probablemente las credenciales del CMS.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FTIuT88jm4xUgjONiCY64%2F10.png?alt=media&amp;token=4e194119-d008-4a06-b7b4-7ffeb71d5670" alt=""><figcaption></figcaption></figure>

Iniciamos session

Recordar esta parte de versiones y servicios del Nmap nos repostaba la version de este CMS&#x20;

```
80/tcp   open  http 
|_http-generator: FlatPress fp-1.2.1
```

{% embed url="<https://github.com/flatpressblog/flatpress/issues/152>" %}

Buscando por internet hay una vuln para esta version del CMS.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F3xrT5B1aMicSyOSGX75O%2F11.png?alt=media&amp;token=56e08371-204f-40a5-8753-bc2284cad0c0" alt=""><figcaption></figcaption></figure>

Nos montamos lo que nos dice el exploit.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FD2rEOHYeZ7jY80kyJcfc%2F12.png?alt=media&amp;token=36c7d3a0-1142-4a9a-9342-67b113f2cad0" alt=""><figcaption></figcaption></figure>

Subimos el archivo.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F8sFL9wVlxRA61jZlIhlx%2F13.png?alt=media&amp;token=d413cc2b-e42c-46e1-9744-9d27d00ffb7d" alt=""><figcaption></figcaption></figure>

Observamos que tenemos un RCE.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FNuFUv8AaYPUhjcSuHxt8%2F14.png?alt=media&amp;token=a73f6d23-59ce-440e-abb2-b2d2c19398e1" alt=""><figcaption></figcaption></figure>

Nos enviamos un rever a nuesta direccion IP.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F6gKfzuwCY4B1EXQvjr2O%2F15.png?alt=media&amp;token=5f7552af-4568-4886-892a-5cfb39fbed27" alt=""><figcaption></figcaption></figure>

Estamos dentro de la maquina.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FUYhhkyr3Njq4nV5Qnqd0%2F16.png?alt=media&amp;token=a9dc4814-950a-4053-ab8b-6df20b3fc2bf" alt=""><figcaption></figcaption></figure>

Si vamos al directorio /opt tenemos un hash.txt que pertece al usuario pedro, nos lo llevaremos a local.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F6VrWRaGMZCNR6gLZrIAZ%2F17.png?alt=media&amp;token=1e8bc6dc-9ad0-43aa-b9b8-4e81d3a09f93" alt=""><figcaption></figcaption></figure>

Hacemos fuerza bruta al hash con John y bueno tenemos una contraseña.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2F115nJ7lTXdmSsW8ouGu2%2F18.png?alt=media&amp;token=3c84a4d6-e3c0-4065-9d9c-5422e65651b3" alt=""><figcaption></figcaption></figure>

Nos convertimos en pedro, si hacemos un id, observamos que pedro esta en el grupo adm.&#x20;

Si estás en el grupo **adm**, puedes acceder y leer archivos de logs del sistema en **/var/log/**, lo que te permite monitorear el funcionamiento y seguridad del sistema sin ser root.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FTvama69LB3jPYqfjAmPF%2F19.png?alt=media&amp;token=b4a725f1-0c4d-4eee-b819-135779b36020" alt=""><figcaption></figcaption></figure>

Como el Puerto SSH no esta abierto, lo normal es ir a los log de apache, ya que ahi hay un servicio web si filtramos username tenemos un usuario y contraseña.

Si migramos al usuario flate y hacemos un sudo -l obsevamos que podemos ejecutar awk.

***

<figure><img src="https://1827363921-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FEGJvvgIusdsLKeoExX1C%2Fuploads%2FMw9UnzOtRcPHXQqfgXEk%2F20.png?alt=media&amp;token=98d026fa-830f-4239-aeba-185bf127b11c" alt=""><figcaption></figcaption></figure>

Somo root y maquina resuelta.
