Files
pentesting/frasa/explotacion.md

7.2 KiB

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