# Expressway

| Información        | Detalle                                                                                           |
| ------------------ | ------------------------------------------------------------------------------------------------- |
| **IP**             | `10.10.11.87`                                                                                     |
| **OS**             | Linux (Debian)                                                                                    |
| **Dificultad**     | Media                                                                                             |
| **Técnicas Clave** | UDP Enumeration, IKE Aggressive Mode, Password Reuse, Sudo Privilege Escalation (CVE-2025-32463). |

***

## 1. Reconocimiento y Enumeración

Comenzamos con un escaneo de puertos TCP estándar, el cual reveló una superficie de ataque muy limitada.

```bash
nmap -p- --min-rate 2000 -T4 10.10.11.87
# PORT   STATE SERVICE
# 22/tcp open  ssh
```

Dado que el puerto 22 raramente es la vía de entrada inicial, procedimos a realizar un escaneo de puertos UDP, una fase crítica que a menudo se pasa por alto.

```bash
sudo nmap -sU --top-ports 100 10.10.11.87
```

### Resultados del escaneo UDP

* **69/udp:** TFTP (Open|Filtered)
* **500/udp:** ISAKMP / IKE VPN (Open)

### Análisis de Servicios

1. **TFTP (Puerto 69):** Intentamos enumerar archivos sensibles (como `/etc/passwd` o `/etc/ipsec.secrets`) mediante *directory traversal* (`../../`). Sin embargo, el servidor estaba correctamente "enjaulado" (*chrooted*) y los archivos no eran accesibles.
2. **IKE VPN (Puerto 500):** Este se convirtió en el objetivo principal.

***

## 2. Explotación: IKE Aggressive Mode

Utilizamos `ike-scan` para identificar la configuración de la VPN. Inicialmente, el servidor respondió con *Main Mode* (seguro), pero al forzar el **Modo Agresivo** (`-A`), el servidor reveló el hash de autenticación sin credenciales previas.

**Comando de captura:**

```bash
sudo ike-scan -M -A --id=ike@expressway.htb 10.10.11.87 -P hash.txt
```

Esto nos permitió capturar el hash de la *Pre-Shared Key* (PSK).

### Cracking de la PSK

Utilizamos la herramienta `psk-crack` (incluida en la suite de `ike-scan`) junto con el diccionario `rockyou.txt` para romper el hash de manera offline.

```bash
psk-crack -d /usr/share/wordlists/rockyou.txt hash.txt
```

> **PSK Encontrada:** `***********************`

***

## 3. Acceso Inicial (User Flag)

Aunque teníamos la PSK para la VPN, nos faltaban las credenciales de usuario (XAUTH) para establecer el túnel. Probamos la técnica de **Reutilización de Contraseñas** contra el servicio SSH (Puerto 22), asumiendo que la PSK podría ser la contraseña del usuario `ike` descubierto durante el escaneo.

* **Usuario:** `ike`
* **Password:** `***********************`

```bash
ssh ike@10.10.11.87
```

¡Éxito! Logramos acceso al sistema.

> **User Flag:** `********************************`

***

## 4. Escalada de Privilegios (Root Flag)

Una vez dentro, realizamos una enumeración del directorio `/home/ike` y encontramos varios archivos interesantes que resultaron ser **Rabbit Holes** (pistas falsas):

* ❌ **nuevopasswd.txt:** Contenía un hash de root (`$6$...`) que crackeamos fácilmente ("hola"). Sin embargo, el comando `su root` falló. El archivo era un señuelo.
* ❌ **49521.py (Baron Samedit):** Un exploit para Sudo antiguo. Al ejecutarlo, se colgaba. **LinPEAS** confirmó que la versión de Sudo (`1.9.17`) ya estaba parcheada contra esta vulnerabilidad.

### El Camino Real: CVE-2025-32463

Encontramos una carpeta llamada `CVE-2025-32463-main` que contenía un script llamado `lazarus.sh`.

Este script explota una vulnerabilidad en cómo `sudo` maneja las rutas relativas y la carga de librerías, permitiendo inyectar una configuración maliciosa (`nsswitch.conf`) y una librería compartida (`woot1337.so`) para ejecutar código como root.

**Pasos de explotación:**

1. Dar permisos de ejecución al script:

   ```bash
   chmod +x lazarus.sh
   ```
2. Ejecutar el exploit:

   ```bash
   ./lazarus.sh
   ```

El script compiló la librería maliciosa, ejecutó `sudo` y nos devolvió una shell.

**Verificación:**

```bash
id
# uid=0(root) gid=0(root) groups=0(root)...
```

> **Root Flag:** `********************************`

***

## Lecciones Aprendidas

* **UDP es vital:** Si la superficie TCP es pequeña, siempre escanea UDP. El puerto 500 fue la clave de todo el reto.
* **Modos IKE:** El "Aggressive Mode" en VPNs IPsec es una vulnerabilidad crítica de configuración que permite capturar hashes sin autenticación previa.
* **Rabbit Holes:** En máquinas de dificultad media/alta, no todo lo que brilla es oro. Verificar la versión del software (ej. Sudo 1.9.17) ahorra tiempo evitando exploits viejos que no funcionarán.
* **Reutilización de Credenciales:** Los administradores a menudo cometen el error de usar las mismas claves para servicios de infraestructura (VPN) y acceso al sistema (SSH).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://jotatito05.gitbook.io/la-bitacora-de-jotatito05/active-machines/expressway.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
