# Explotación - Frasa **Objetivo:** https://www.frasa.com.mx **IP:** 201.158.32.25 **Fecha:** 2026-03-25 **Hosting:** Hostify/Neoclan (servidor dedicado mexicano) ## Resumen Ejecutivo Frasa presenta una superficie de ataque significativa con **DNS Zone Transfer exitoso**, **MySQL expuesto a internet**, **cPanel/WHM/Webmail accesibles**, y **14 puertos abiertos**. La empresa maneja proyectos inmobiliarios (Villas Loma Bonita, landing pages en Unbounce) con un WordPress como sitio principal. ## Hallazgos ### CRÍTICOS #### C1 — DNS Zone Transfer Exitoso (AXFR) - **Severidad:** CRÍTICA - **Evidencia:** `dig axfr frasa.com.mx @dns3.neoclan.net.mx` devuelve **53 registros completos** - **Datos expuestos:** - Toda la zona DNS incluyendo subdominios internos - `cpanel.frasa.com.mx` → 201.158.32.25 - `whm.frasa.com.mx` → 201.158.32.25 - `webmail.frasa.com.mx` → 201.158.32.25 - `landing.frasa.com.mx` → unbouncepages.com (CNAME) - `villaslomabonita.frasa.com.mx` (proyecto inmobiliario con CalDAV/CardDAV) - `autoconfig/autodiscover` (configuración automática de email) - Tokens ACME challenges de Let's Encrypt - Verificación Microsoft 365 y Google - IP secundaria: 201.158.32.34 (en SPF) - Hosting provider: secure.hostify.com.mx (en SRV records) - **Impacto:** Un atacante obtiene el mapa completo de la infraestructura sin necesidad de escaneo activo - **CVSS:** 7.5 (High) #### C2 — MySQL 5.7.44 Expuesto a Internet - **Severidad:** CRÍTICA - **Puerto:** 3306/tcp abierto - **Versión:** MySQL 5.7.44 - **Auth plugin:** mysql_native_password (vulnerable a brute force sin rate limiting nativo) - **Capacidades expuestas:** SupportsLoadDataLocal, SupportsCompression, ConnectWithDatabase - **Impacto:** Brute force viable, y si se obtienen credenciales, acceso completo a todas las bases de datos - **CVSS:** 9.1 (Critical) ### ALTOS #### A1 — cPanel Login Accesible Públicamente - **Severidad:** ALTA - **URLs:** - `https://www.frasa.com.mx:2083/` → HTTP 200 (cPanel Login) - `https://cpanel.frasa.com.mx:2083/` → HTTP 200 - `https://cpanel.frasa.com.mx/` → HTTP 200 - **Nota:** Expone interfaz de login cPanel sin restricción IP - **CVSS:** 7.2 #### A2 — WHM (WebHost Manager) Accesible - **Severidad:** ALTA - **URL:** `https://whm.frasa.com.mx/` → HTTP 200 - **Impacto:** WHM permite administración completa del servidor si se obtienen credenciales - **CVSS:** 7.2 #### A3 — Webmail Accesible Públicamente - **Severidad:** ALTA - **URLs:** - `https://webmail.frasa.com.mx/` → HTTP 200 - `https://webmail.frasa.com.mx:2096/` → HTTP 200 - **Impacto:** Permite ataques de brute force contra cuentas de correo - **CVSS:** 6.5 #### A4 — Enumeración de Usuario WordPress - **Severidad:** ALTA - **Endpoint:** `/wp-json/wp/v2/users` - **Usuario encontrado:** `guangoadmin` (ID: 8) - **wp-login.php:** Accesible (HTTP 200, 9.9 KB) sin rate limiting visible - **Combinación:** Usuario conocido + login accesible = brute force viable - **CVSS:** 6.5 #### A5 — 14 Puertos Abiertos (Superficie de Ataque Excesiva) - **Severidad:** ALTA - **Puertos abiertos:** | Puerto | Servicio | Detalle | |--------|----------|---------| | 21 | FTP | Pure-FTPd | | 25 | SMTP | Exim (correo saliente) | | 53 | DNS | Named (permite zone transfer) | | 80 | HTTP | Apache | | 110 | POP3 | Dovecot | | 143 | IMAP | Dovecot | | 443 | HTTPS | Apache + WordPress | | 465 | SMTPS | Exim | | 587 | Submission | Exim | | 993 | IMAPS | Dovecot | | 995 | POP3S | Dovecot | | 2083 | cPanel | cPanel Login | | 2096 | Webmail | cPanel Webmail | | 3306 | MySQL | MySQL 5.7.44 | - **Impacto:** Servidor multifunción (web + email + DB + FTP + DNS) sin segmentación - **CVSS:** 7.0 ### MEDIOS #### M1 — Rank Math PRO REST API Expuesta - **Severidad:** MEDIA - **Endpoints expuestos (20+):** saveModule, toolsAction, updateMode, updateSettings, updateRedirection, updateMeta, updateSchemas, updateMetaBulk, setupWizard, importCSV, etc. - **Auth:** Requiere autenticación (401 Forbidden), pero la exposición de rutas revela funcionalidad interna - **Riesgo:** Si se obtiene un token/cookie válido, se puede manipular SEO, redirecciones, y metadatos - **CVSS:** 5.3 #### M2 — Breakdance Builder REST API Expuesta - **Severidad:** MEDIA - **Endpoints:** `/breakdance/v1/`, `/breakdance/v1/icons/export` - **Auth:** Requiere autenticación - **CVSS:** 4.3 #### M3 — wp-admin/upgrade.php Accesible - **Severidad:** MEDIA - **URL:** `https://www.frasa.com.mx/wp-admin/upgrade.php` → HTTP 200 - **Título:** "Actualización de WordPress" - **Impacto:** Confirma WordPress y podría usarse para fingerprinting de versión - **CVSS:** 4.3 #### M4 — wp-admin/setup-config.php Retorna 409 - **Severidad:** MEDIA - **URL:** `https://www.frasa.com.mx/wp-admin/setup-config.php` → HTTP 409 (Conflict) - **Impacto:** El archivo existe y responde, indica que la instalación base no fue limpiada - **CVSS:** 3.7 #### M5 — 7/7 Headers de Seguridad Ausentes - **Severidad:** MEDIA - **Headers faltantes:** HSTS, CSP, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy - **CVSS:** 5.3 #### M6 — DMARC sp=none para Subdominios - **Severidad:** MEDIA - **DMARC:** `v=DMARC1;p=reject;sp=none;adkim=r;aspf=r;pct=100` - **Nota:** Dominio principal protegido (p=reject) pero subdominios NO (sp=none) - **Impacto:** Se puede spoofear email desde @villaslomabonita.frasa.com.mx u otros subdominios - **CVSS:** 5.0 ### INFORMATIVOS #### I1 — Proyecto Inmobiliario "Villas Loma Bonita" Expuesto en DNS - Subdominio con CalDAV/CardDAV configurado hacia secure.hostify.com.mx - Autodiscover configurado para email - Sugiere operación activa con contactos y calendarios #### I2 — Landing Pages en Unbounce - `landing.frasa.com.mx` → CNAME a unbouncepages.com - Actualmente devuelve 404 (posible landing page expirada/eliminada) #### I3 — Entorno Híbrido Microsoft 365 + cPanel - Verificación MS365 en TXT records - Google Site Verification presente - Correo posiblemente migrado parcialmente #### I4 — XMLRPC Deshabilitado - `xmlrpc.php` devuelve 404 — buena práctica de seguridad ## Cadena de Ataque Potencial 1. DNS Zone Transfer → Obtener mapa completo de infraestructura 2. Enumerar usuario WP `guangoadmin` via REST API 3. Brute force wp-login.php (sin rate limiting visible) 4. Alternativamente: brute force MySQL 3306 (mysql_native_password, sin rate limiting) 5. Si MySQL exitoso → dump de wp_users → obtener hash de password 6. Acceso a cPanel/WHM → control total del servidor ## Recomendaciones (Priorizadas) 1. **URGENTE:** Bloquear DNS Zone Transfer (restringir AXFR a IPs autorizadas) 2. **URGENTE:** Cerrar MySQL 3306 a internet (solo acceso local o VPN) 3. **ALTA:** Restringir acceso a cPanel/WHM/Webmail por IP o VPN 4. **ALTA:** Implementar rate limiting en wp-login.php (plugin como Wordfence o Limit Login Attempts) 5. **ALTA:** Deshabilitar enumeración de usuarios via REST API 6. **MEDIA:** Implementar headers de seguridad (HSTS, CSP, X-Frame-Options, etc.) 7. **MEDIA:** Cambiar DMARC sp=none a sp=reject para subdominios 8. **MEDIA:** Eliminar archivos innecesarios (setup-config.php, upgrade.php accesibles) 9. **BAJA:** Reducir superficie de ataque consolidando servicios o segmentando en diferentes IPs