> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/writes-ups/tryhackme/easy/silver-plate.md).

# Silver Plate

## Información de la máquina

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

**Silver Plate** es una máquina de dificultad **fácil** en la plataforma TryHackMe, ideal para quienes están iniciando en el mundo del pentesting. En este reto, combinamos técnicas de reconocimiento, análisis de servicios web y explotación de vulnerabilidades conocidas para lograr el acceso inicial. La clave del reto reside en identificar correctamente una pista en la interfaz web que nos lleva a una aplicación vulnerable, **SilverPeas**, afectada por una vulnerabilidad de bypass de autenticación (CVE-2024-36042). A partir de ahí, escalamos privilegios accediendo a credenciales expuestas, leyendo archivos de log, y finalmente obteniendo acceso total como root. A lo largo del proceso, se demuestran buenas prácticas de reconocimiento, uso de herramientas como Burp Suite y análisis post-explotación.

***

## Reconocimiento

Empezaremos haciendo un primer reconocimiento para ver los puertos abiertos en el sistema.

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

**1. `-p-` → Escaneo de todos los puertos (1-65535)**

Por defecto, `nmap` solo escanea los **1000 puertos más comunes**.\
Con `-p-`, forzamos a que escanee **los 65535 puertos** de la máquina objetivo, lo que puede ser útil para encontrar servicios que corren en puertos poco convencionales.

**2. `--open` → Filtrar solo los puertos abiertos**

Cuando escaneamos un sistema, muchos puertos pueden estar cerrados o filtrados por un firewall.\
Este parámetro hace que `nmap` **solo muestre los puertos abiertos**, reduciendo el ruido y facilitando el análisis.

**3. `-sS` → Stealth Scan (Escaneo Sigiloso con SYN)**

Es conocido como **"TCP SYN Scan"**, y funciona de la siguiente manera:

* `nmap` envía un paquete **SYN** (solicitud de conexión).
* &#x20;Si el puerto está abierto, el servidor responde con **SYN-ACK**.
* En lugar de completar la conexión con un **ACK**, `nmap` responde con un **RST (Reset)**, interrumpiendo la comunicación.

**4. `--min-rate 5000` → Velocidad mínima de paquetes (5000 por segundo)**

Por defecto, `nmap` ajusta dinámicamente la velocidad de los paquetes según la respuesta de la red.\
Con `--min-rate 5000`, obligamos a `nmap` a **no enviar menos de 5000 paquetes por segundo**, acelerando el escaneo.

**5. `-n` → Deshabilitar resolución DNS**

Normalmente, `nmap` intenta resolver el nombre de dominio de las IPs escaneadas (DNS lookup).\
Con `-n`, evitamos esta resolución de nombres, lo que **acelera el escaneo** y evita que los servidores DNS registren nuestra actividad.

**6. `-Pn` → Omitir detección de host (Host Discovery Off)**

Por defecto, `nmap` envía paquetes ICMP (ping) para ver si un host está activo antes de escanearlo.\
Si un firewall bloquea los pings, `nmap` puede marcarlo como "host down" y no escanearlo.

**7. `-oG`** **→ Exportar el contenido en formato grepeable**

Todo el resultado del escaneo lo exportaremos en un archivo llamado **`puertos` .**

El escaneo revela 3 puertos abiertos 22,80,8080. Ahora realizaremos un escaneo más avanzado sobre estos dos puertos.

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

Comenzamos explorando todas las secciones del sitio web en busca de información útil que pueda ayudarnos a avanzar en la explotación o a identificar posibles puntos débiles.

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

Dentro de la sección "Contact" del sitio web, descubrimos una referencia a lo que podría ser el nombre de un usuario o el nombre de una plataforma/proyecto llamado **SilverPeas**, que podría ser relevante para acceder a otros servicios o aplicaciones.

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

{% hint style="success" %}
**SilverPeas** es una plataforma de colaboración empresarial basada en la web, que permite gestionar proyectos, documentos y otras funcionalidades internas de una organización.
{% endhint %}

Observamos que el puerto **8080** está abierto en la máquina objetivo. Si accedemos simplemente a `http://10.10.17.193:8080`, no aparece nada útil. Sin embargo, si accedemos a `http://10.10.17.193:8080/silverpeas`, como nos sugiere la pista en la página de contacto, se carga una página de login correspondiente al sistema SilverPeas

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

## Authentication Bypass Silverpeas

Investigamos si existen vulnerabilidades conocidas en SilverPeas, y encontramos la **CVE-2024-36042**, una vulnerabilidad que permite realizar un **bypass de autenticación**, es decir, saltarse el sistema de login y acceder directamente a la aplicación sin necesidad de credenciales válidas.

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

En la página del repositorio de GitHub asociada a esta vulnerabilidad, se proporciona un **PoC (Proof of Concept)** con los pasos detallados que explican cómo explotar la vulnerabilidad para omitir la autenticación de SilverPeas.

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

Usamos **BurpSuite**, una herramienta muy utilizada para interceptar, modificar y reenviar peticiones HTTP, con el fin de capturar la solicitud que se realiza al intentar iniciar sesión en SilverPeas.

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

Siguiendo el PoC, modificamos la petición interceptada en BurpSuite eliminando el campo de la contraseña. Al parecer, esta omisión desencadena la vulnerabilidad que permite el acceso sin validación de credenciales.

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

Después de enviar la solicitud modificada sin el campo de contraseña, el sistema nos autentica de forma incorrecta y accedemos exitosamente al panel de SilverPeas sin necesidad de usuario ni contraseña válidos.

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

## SSH credentials tim

Al explorar la interfaz de SilverPeas tras acceder, encontramos una sección llamada **notificaciones**. Dentro de ella, hay una entrada relacionada con **SSH**, lo cual llama la atención.

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

Al hacer clic en esta notificación relacionada con SSH, se revelan unas **credenciales de acceso** para el usuario llamado **tim**. Estas credenciales probablemente sean para conectarse al sistema mediante el protocolo SSH.

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

Usamos las credenciales descubiertas para establecer una sesión remota con la máquina a través de **SSH**, iniciando sesión como el usuario **tim**.

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

Una vez dentro de la máquina como el usuario **tim**, buscamos la típica **flag de usuario** (`user.txt` o similar), que suele estar en el directorio `/home/tim/` o equivalente. Al encontrarla, completamos el primer objetivo del reto.

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

## Leaked auth log credentials tyler

Durante la exploración del sistema, identificamos la existencia de otro usuario llamado **tyler**. Esto sugiere que podría ser relevante para avanzar, ya sea porque tiene privilegios más altos o acceso a otras partes del sistema.

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

En el directorio de logs del sistema (`/var/log`), examinamos los archivos **auth.log**, **auth.log.1** y **auth.log.2**, que almacenan registros de autenticaciones y conexiones. Al revisarlos cuidadosamente, encontramos una entrada donde el usuario **tyler** parece haber introducido una contraseña, probablemente como parte de una conexión o comando mal ejecutado. Esta contraseña quedó registrada por error en los logs.

<figure><img src="/files/68Mg8baq08lFu3ZaKzLw" alt=""><figcaption></figcaption></figure>

Utilizando la contraseña filtrada en los archivos de log e intentando iniciar sesión como **tyler**, logramos acceder correctamente al sistema con ese usuario, confirmando que la contraseña era válida.

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

## sudo su escalation root

Al revisar los permisos y configuraciones con el usuario **tyler**, comprobamos que tiene la capacidad de ejecutar cualquier comando como **superusuario (root)** mediante **sudo**, lo cual nos da una vía directa de escalada de privilegios.

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

Aprovechando estos permisos, ejecutamos el comando `sudo su` para cambiar al usuario **root**, obteniendo así control total sobre la máquina. Finalmente, accedemos a la **flag final** completando la explotación de la máquina.

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

***

## Conclusion

La máquina **Silver Plate** nos permitió aplicar un enfoque metódico para comprometer un sistema: comenzamos con un escaneo completo de puertos, identificamos un servicio web relevante, descubrimos una pista en el contenido del sitio, explotamos una vulnerabilidad conocida para obtener acceso no autorizado, y finalmente escalamos privilegios mediante el descubrimiento de credenciales filtradas y configuración insegura de sudo. Esta máquina refuerza la importancia de la observación detallada, la investigación de CVEs y el análisis de archivos del sistema en la fase post-explotación. Es un excelente ejercicio para familiarizarse con escenarios reales de vulnerabilidades en aplicaciones web mal configuradas o desactualizadas.
