# Explotación Completa - Espamex Distribuciones y Representaciones S.A. de C.V. **Objetivo:** https://espamex.com / IP real: 148.72.59.107 **Fecha:** 2026-03-25 **Analista:** Lucy (Consultoría AS) **Autorizado por:** Propietario --- ## Resumen Ejecutivo Espamex presenta un perfil de riesgo **CRÍTICO**. El servidor fue comprometido previamente: contiene 5 web shells conocidos (c99, wso, r57), un script JavaScript malicioso activo que intercepta datos del formulario de cotización de clientes, y múltiples servicios expuestos sin protección. La IP real del servidor fue descubierta, permitiendo bypass total de Cloudflare. MariaDB está expuesta a internet en puerto 3306. OpenSSH 8.0 tiene CVEs de CVSS 9.8 (RCE). El servidor necesita ser reconstruido. --- ## HALLAZGOS CRÍTICOS ### E1 - IP Real Descubierta: Bypass Total de Cloudflare [CRÍTICA - CVSS 9.1] - **IP Real:** 148.72.59.107 - **Hostname:** p3plzcpnl509338.prod.phx3.secureserver.net - **Reverse DNS:** 107.59.72.148.host.secureserver.net - **Hosting:** GoDaddy cPanel (Phoenix, AZ datacenter) - **Método:** Scripts de tracking de GoDaddy embebidos en el HTML: `tccl.baseHost:'secureserver.net'`, `server:'p3plzcpnl509338'` - **Impacto:** TODAS las protecciones de Cloudflare (WAF, DDoS, rate limiting, bot protection) quedan inútiles. Cualquier atacante puede dirigir tráfico directamente al servidor origen. ### E2 - Script Malicioso Activo: Exfiltración de Datos de Clientes [CRÍTICA - CVSS 9.5] - **Script:** `https://cmhai.nasa4u.com/notform/form2.js` - **Ubicación en HTML:** ```html ``` - **Código del sitio confirma:** `"Envío (simulado aquí, puedes dejar que form2.js maneje el envío real)"` - **Formulario interceptado:** `#formCotizacion` con campos: - Nombre completo - Correo electrónico - Teléfono - Empresa - Ciudad - Producto de interés - Mensaje - **Destinatario legítimo:** `formularios@espamex.com` (en `data-to`) - **Estado del dominio malicioso:** `nasa4u.com` y `cmhai.nasa4u.com` NO resuelven DNS actualmente - **Path `/notform/`:** Nombre diseñado para evadir detección ("not form") - **Impacto:** Todos los datos de cotización de clientes fueron/son potencialmente exfiltrados a un tercero. Si el dominio se reactiva o es re-registrado por otro atacante, la exfiltración se reanuda automáticamente. - **RECOMENDACIÓN URGENTE:** Eliminar este script inmediatamente ### E3 - 5 Web Shells en el Servidor (Compromiso Previo Confirmado) [CRÍTICA - CVSS 9.0] - **Web shells detectados:** | Archivo | Tipo | Estado | |---------|------|--------| | `c99.php` | C99 Shell | 403 (bloqueado por .htaccess) | | `C99.php` | C99 Shell (mayúsculas) | 403 | | `wso.php` | WSO Shell | 403 | | `WSO.php` | WSO Shell (mayúsculas) | 403 | | `r57.php` | R57 Shell | 403 | - **Variantes probadas:** .php5, .php7, .phtml, .pht, .phps (también bloqueadas) - **Impacto:** El servidor fue hackeado. Aunque los shells están bloqueados por .htaccess, si esta protección se elimina o bypasea, el atacante recupera acceso completo. No se puede confiar en la integridad de ningún archivo del servidor. ### E4 - MariaDB 10.6.24 Expuesta a Internet [CRÍTICA - CVSS 9.0] - **Puerto:** 3306 (abierto al mundo) - **Versión:** MariaDB 5.5.5-10.6.24-cll-lve - **Auth Plugin:** mysql_native_password - **Enumeration result (nmap):** El servidor acepta conexiones y responde con información de versión, capabilities, y thread IDs - **Usuarios probados con password vacío:** root, admin, test, espamex, web, guest — todos rechazados (Access denied) - **CVEs confirmados por nmap (CVSS 10.0):** - SSV:92513, SSV:92510, SSV:92405 - PACKETSTORM:139491, PACKETSTORM:139476, PACKETSTORM:138678 - **Impacto:** Aunque las contraseñas vacías no funcionan, la base de datos está expuesta a brute force sin rate limiting, y las versiones tienen exploits públicos disponibles --- ## HALLAZGOS ALTOS ### E5 - OpenSSH 8.0 con CVE-2023-38408 (RCE, CVSS 9.8) [ALTA] - **Puerto:** 22 - **Versión:** OpenSSH 8.0 - **Auth methods:** publickey, password - **CVEs principales:** - **CVE-2023-38408** (CVSS 9.8) — Remote Code Execution via ssh-agent forwarding. Exploits públicos disponibles. - CVE-2020-15778 (CVSS 7.8) — Command injection via scp - CVE-2019-16905 (CVSS 7.8) — Integer overflow - CVE-2025-26465 (CVSS 6.8) — MitM attack - CVE-2021-41617 (CVSS 7.0) — Privilege escalation - CVE-2023-48795 (CVSS 5.9) — Terrapin attack - **Impacto:** RCE potencial si ssh-agent forwarding está habilitado. Password auth habilitado permite brute force. ### E6 - Pure-FTPd Vulnerable a CVE-2010-1938 (CVSS 9.3) [ALTA] - **Puerto:** 21 - **Banner:** `Welcome to Pure-FTPd [privsep] [TLS]` - **Max users:** 50 (user number 1 de 50) - **Anonymous login:** Deshabilitado - **CVE-2010-1938:** OPIE off-by-one stack overflow — ejecución de código arbitrario via username largo - **Impacto:** Potencial RCE via overflow en el manejo de usernames ### E7 - Archivos Sensibles en Disco (21 archivos confirmados) [ALTA] Todos retornan 403 (bloqueados por .htaccess pero EXISTEN en el servidor): **Archivos de configuración:** | Archivo | Tamaño resp. | Notas | |---------|-------------|-------| | `.env` | 358B | Credenciales de BD, API keys | | `wp-config.php` | 358B | Credenciales WordPress/BD | | `wp-config.php.bak` | 358B | Backup de credenciales | | `wp-config.php.old` | 358B | Versión anterior | | `wp-config.bak` | 358B | Otro backup | | `wp-config.txt` | 358B | Versión texto plano | | `wp-config.php~` | 358B | Editor backup (vim) | | `wp-config.php.swp` | 358B | Swap file (vim) | | `wp-config.php.swo` | 358B | Segundo swap file | | `wp-config.php.save` | 358B | Save file | | `wp-config.php.orig` | 358B | Original | | `wp-config.php.dist` | 358B | Distribution | | `wp-config.inc` | 358B | Include variant | | `wp-config.old` | 358B | Old variant | | `.htaccess` | 358B | Reglas Apache | | `.htpasswd` | 358B | Passwords de htaccess | | `.user.ini` | 358B | Config PHP usuario | | `php.ini` | 358B | Config PHP | | `error_log` | 358B | Logs de errores PHP | | `wp-content/debug.log` | 358B | Debug log de WordPress | **Bypass intentados (todos fallaron):** URL encoding, double encoding, null byte, trailing space/dot/newline, HTTP method switching (POST, PUT), path traversal - **Impacto:** Si .htaccess se corrompe, elimina, o se encuentra un bypass, todas las credenciales quedan expuestas. La cantidad de archivos de backup de wp-config es alarmante (12 variantes). ### E8 - cPanel y Webmail Accesibles en IP Real (Sin Cloudflare) [ALTA] - **cPanel:** `https://148.72.59.107:2083/` — Login completo, 37KB - **Webmail:** `https://148.72.59.107:2096/` — Login completo - **cPanel version:** revision 1740434845 (~Feb 2025) - **Impacto:** Acceso directo a paneles de administración sin protección de Cloudflare. Permite brute force sin rate limiting. ### E9 - Exim 4.99.1 SMTP Expuesto [ALTA] - **Puertos:** 465 (SMTPS), 587 (submission) - **Banner:** `220-p3plzcpnl509338.prod.phx3.secureserver.net ESMTP Exim 4.99.1` - **Hostname revelado:** p3plzcpnl509338.prod.phx3.secureserver.net - **Impacto:** Información del servidor expuesta. Exim tiene historial extenso de CVEs críticos (RCE). --- ## HALLAZGOS MEDIOS ### E10 - 11 Puertos Abiertos en IP Real (Sin Cloudflare) [MEDIA] | Puerto | Servicio | Versión | |--------|----------|---------| | 21 | FTP | Pure-FTPd [privsep] [TLS] | | 22 | SSH | OpenSSH 8.0 | | 80 | HTTP | Apache | | 110 | POP3 | Dovecot pop3d | | 143 | IMAP | Dovecot imapd | | 443 | HTTPS | Apache | | 465 | SMTPS | Exim 4.99.1 | | 587 | SMTP | Exim 4.99.1 | | 993 | IMAPS | Dovecot | | 995 | POP3S | Dovecot | | 3306 | MySQL | MariaDB 10.6.24 | - **Total:** 11 servicios expuestos directamente a internet sin filtrado ### E11 - Sin DMARC ni DKIM [MEDIA - CVSS 5.3] - **SPF:** `v=spf1 include:secureserver.net -all` (correcto) - **DMARC:** NO configurado - **DKIM:** NO configurado - **Impacto:** Email spoofing posible. Sin DMARC, servidores receptores pueden no rechazar correos falsificados ### E12 - Headers de Seguridad Ausentes (7/7) [MEDIA] | Header | Estado | |--------|--------| | Strict-Transport-Security (HSTS) | FALTA | | Content-Security-Policy | FALTA | | X-Frame-Options | FALTA | | X-Content-Type-Options | FALTA | | X-XSS-Protection | FALTA | | Referrer-Policy | FALTA | | Permissions-Policy | FALTA | ### E13 - Servidor Acepta Cualquier Virtual Host [MEDIA] - **Probado:** 12 subdominios falsos (admin, dev, staging, test, beta, portal, api, shop, intranet, etc.) - **Resultado:** TODOS retornan 200 con página "Coming Soon" de GoDaddy (1963B) - **Impacto:** El servidor no valida el Host header. Cualquier subdominio (real o inventado) es aceptado. --- ## HALLAZGOS BAJOS / INFORMATIVOS ### E14 - Emails Corporativos Expuestos [BAJA] - ventas@espamex.com - espamex@espamex.com - sistemas@espamex.com (administrador de datos personales) - formularios@espamex.com - **Protección:** Cloudflare email obfuscation activa (pero bypass posible via IP real) ### E15 - WordPress Residual [INFO] - WordPress fue reemplazado por sitio HTML estático - Todos los archivos WP redirigen a `/404.html` - Pero los archivos de configuración permanecen en disco (ver E7) - **Impacto:** Superficie de ataque residual significativa ### E16 - Información Corporativa Expuesta [INFO] - **Google Analytics:** G-WLFWRLQBHX - **Dirección:** Calle Manuel María Contreras 80, Col. San Rafael, Cuauhtémoc, CP 06470, CDMX - **WhatsApp:** +52 55 8132 6795 - **Google Site Verification:** aH2k-p3yHTHC_sa2ThYHH97YlqaBrsmF9ffnaiBVo2g - **DNS TXT tokens:** `9fvf05nla5safqs9s02f5o7nsk`, `D4540565`, `aanpeuj0kl54ta013ah88jlg1m` --- ## Resumen de Severidades | Severidad | Cantidad | IDs | |-----------|----------|-----| | **CRÍTICA** | 4 | E1, E2, E3, E4 | | **ALTA** | 5 | E5, E6, E7, E8, E9 | | **MEDIA** | 4 | E10, E11, E12, E13 | | **BAJA/INFO** | 3 | E14, E15, E16 | | **TOTAL** | **16** | | --- ## Cadena de Ataque Completa ``` 1. Descubrir IP real via tracking scripts (E1) ↓ 2. Acceder directamente a 148.72.59.107 (bypass Cloudflare total) ↓ 3. Enumerar 11 servicios abiertos (E10) ↓ 4. Intentar explotar OpenSSH 8.0 CVE-2023-38408 (E5) → RCE potencial ↓ ó 5. Brute force FTP/SSH sin rate limiting (E3/E6) ↓ ó 6. Explotar Pure-FTPd CVE-2010-1938 (E6) → RCE potencial ↓ ó 7. Atacar MariaDB 10.6.24 directamente (E4) → CVEs CVSS 10.0 ↓ 8. Si alguno tiene éxito → acceso al servidor ↓ 9. Leer .env y wp-config.php → credenciales de BD ↓ 10. Acceso total a datos de clientes y formularios ``` **Ruta alternativa confirmada:** ``` 1. Script malicioso nasa4u.com ya intercepta datos de clientes (E2) 2. Web shells ya existen en el servidor (E3) → El servidor YA fue comprometido. Solo falta reactivar los shells. ``` --- ## Limitaciones de la Explotación - `.htaccess` bloqueó todos los intentos de acceso a archivos sensibles - MySQL rechazó contraseñas vacías y comunes - FTP no permite acceso anónimo - Web shells bloqueados por .htaccess (no ejecutables actualmente) - No se probó brute force agresivo (limitación ética del pentest) - No se intentó explotar CVEs de OpenSSH/Pure-FTPd (requiere tooling especializado) --- ## Recomendaciones (Prioridad) ### INMEDIATAS (hacer HOY) 1. **ELIMINAR** el script `nasa4u.com/notform/form2.js` del HTML — datos de clientes en riesgo 2. **ELIMINAR** los 5 web shells (c99.php, wso.php, r57.php y variantes) 3. **ELIMINAR** todos los archivos de wp-config y .env del webroot (12+ variantes) 4. **CONFIGURAR** Cloudflare para bloquear acceso directo a la IP real (reglas de firewall en el servidor: aceptar solo tráfico de IPs de Cloudflare) ### URGENTES (esta semana) 5. **CERRAR** puerto 3306 (MySQL) al público — solo acceso local 6. **CERRAR** puertos 21 (FTP) y 22 (SSH) al público o restringir por IP 7. **ACTUALIZAR** OpenSSH de 8.0 a versión actual (9.x) 8. **RESTRINGIR** cPanel/Webmail por IP 9. **CONFIGURAR** DMARC (`p=reject`) y DKIM ### IMPORTANTES (este mes) 10. **INVESTIGAR** el alcance del compromiso — revisar logs, verificar integridad de archivos 11. **AUDITAR** todas las cuentas de email (posible acceso no autorizado) 12. **NOTIFICAR** a clientes que enviaron cotizaciones (posible fuga de datos personales - implicaciones LFPDPPP) 13. Agregar todos los headers de seguridad HTTP 14. Considerar **reconstrucción del servidor** dada la evidencia de compromiso previo --- ## Evidencia Técnica ### IP de origen del pentester - IPv4: 201.142.168.178 - IPv6: 2806:290:8829:1ca4:57:2cff:fe98:3e34 ### Herramientas utilizadas - curl, nmap (con scripts vuln, banner, mysql-*, ftp-*, ssh-*, smtp-*) - MariaDB client - dig, whois, openssl ### Fechas de ejecución - Reconocimiento inicial: 2026-03-25 07:51 UTC - Análisis profundo: 2026-03-25 09:55 UTC - Explotación completa: 2026-03-25 10:12-10:25 UTC