# Análisis Profundo y Explotación - Groke S.A. de C.V. **Objetivo:** https://groke.mx / 64.91.245.110 **Fecha:** 2026-03-25 **Analista:** Lucy (Consultoría AS) **Autorizado por:** Propietario ## Resumen Ejecutivo Groke opera DOS sistemas: un sitio Next.js moderno en Vercel (groke.mx público) y una aplicación Laravel legacy en servidor compartido cPanel (64.91.245.110). El servidor legacy tiene múltiples vulnerabilidades: directory listing masivo, assets servidos en HTTP plano, 17 puertos abiertos, software desactualizado, y la estructura completa de la aplicación Laravel expuesta. ## Hallazgos de Explotación ### E1 - Directory Listing Habilitado en Múltiples Directorios [ALTA] - **Severidad:** ALTA (CVSS 6.5) - **Directorios con listing:** - `/public/img/` — imágenes del sitio con fechas (2016-2020) - `/public/img/cranes/` — subdirectorios por modelo de grúa (lc500, lc1100, lc1600, lc2100, lc3000, lcl) - `/css/` — hojas de estilo - `/js/` — JavaScript files - `/build/` — archivos compilados - `/build/css/` — CSS compilados - `/build/js/` — JS compilados - **Impacto:** Exposición completa de la estructura del proyecto, archivos y fechas de modificación. Facilita reconocimiento avanzado. ### E2 - Aplicación Laravel Legacy Expuesta Sin Protección [ALTA] - **Severidad:** ALTA (CVSS 7.5) - **URL:** `http://64.91.245.110/public/` - **Evidencia:** HTML completo con créditos del desarrollador (JoshZ / dinkbit) - **Framework:** Laravel con Bootstrap 3.3.6 (obsoleto) - **Rutas activas:** `/productos`, `/contacto`, `/nosotros`, `/blog` (redirect a Vercel) - **Impacto:** Toda la app legacy es accesible directamente sin que el dominio apunte ahí ### E3 - Mixed Content Masivo (HTTP en vez de HTTPS) [ALTA] - **Severidad:** ALTA (CVSS 7.4) - **Evidencia:** 66 referencias HTTP vs 11 HTTPS en la página de productos - **Assets afectados:** jQuery, Modernizr, imágenes, CSS compilados - **Impacto:** Todos los assets se cargan sin cifrar. Un atacante en la misma red (MitM) puede inyectar JavaScript malicioso vía los assets HTTP ### E4 - OpenSSH 7.4 con CVEs Conocidos [ALTA] - **Severidad:** ALTA (CVSS 8.1) - **Versión:** OpenSSH 7.4 (diciembre 2016, ~10 años sin actualizar) - **CVEs relevantes:** - CVE-2023-38408 (PKCS#11 RCE potencial) - CVE-2021-41617 (escalación de privilegios) - CVE-2020-15778 (inyección via scp) ### E5 - MySQL 3306 Expuesto a Internet [ALTA] - **Severidad:** ALTA (CVSS 7.0) - **Puerto:** 3306 abierto - **Mitigación parcial:** Filtrado por IP ("Host not allowed") - **Impacto:** Si una IP permitida es comprometida o la config cambia, acceso directo a la BD ### E6 - 17 Puertos Abiertos en Servidor Compartido [MEDIA] - **Severidad:** MEDIA (CVSS 5.3) - **Puertos:** 21 (FTP), 22 (SSH), 25 (SMTP), 80, 110 (POP3), 143 (IMAP), 443, 465, 587, 993, 995, 2082, 2083, 2086, 2087, 2095, 2096, 3306 - **Impacto:** Superficie de ataque excesiva para un sitio web ### E7 - cPanel/WHM/Webmail Accesibles Públicamente [MEDIA] - **Severidad:** MEDIA (CVSS 5.3) - **URLs:** Puertos 2082-2096 - **cPanel Login:** Accesible con página de login completa - **Webmail (Roundcube):** Login accesible en puerto 2096 ### E8 - CORS Wildcard [MEDIA] - **Severidad:** MEDIA (CVSS 5.3) - **Header:** `access-control-allow-origin: *` en sitio Vercel - **Impacto:** Cualquier dominio puede hacer requests cross-origin ### E9 - DMARC Sin Enforcement [MEDIA] - **Severidad:** MEDIA (CVSS 5.3) - **Config:** `p=none` (solo reporta, no bloquea) - **SPF:** softfail (`~all`) - **Impacto:** Email spoofing desde @groke.mx posible ### E10 - POP3/IMAP Sin Cifrar [MEDIA] - **Severidad:** MEDIA (CVSS 4.3) - **Puertos 110 y 143 abiertos** sin TLS obligatorio - **Impacto:** Credenciales de correo pueden interceptarse en texto plano ### E11 - Bootstrap 3.3.6 y jQuery Obsoletos [BAJA] - **Severidad:** BAJA (CVSS 3.1) - **Bootstrap:** 3.3.6 (2016, tiene XSS conocidos en tooltip/popover) - **jQuery:** versión no determinada pero cargada via HTTP ### E12 - Google Ads/GTM Tracking IDs Expuestos [INFO] - **GTM:** GTM-5K78F7M - **Google Ads Conversion:** 960073428 - **Impacto:** Permite análisis competitivo y tracking del rendimiento publicitario ### E13 - Catch-All Virtual Host [INFO] - **Evidencia:** Cualquier Host header (admin.groke.mx, erp.groke.mx, etc.) retorna 200 del vhost default de cPanel - **Impacto:** No discrimina por dominio, todo va al mismo servidor ### E14 - Emails Corporativos Expuestos [INFO] - **Emails encontrados:** ventas@groke.mx - **Teléfono:** (55) 3618 1111 - **Impacto:** Vectores para spearphishing ## Limitaciones - SMTP puerto 25 no respondió (posiblemente filtrado o down) - Laravel debug mode muestra páginas Symfony genéricas sin stack traces detallados - No se encontraron rutas de autenticación (login/register) en la app legacy - CSRF tokens rotan correctamente por sesión - reCAPTCHA cargado en formularios de contacto - No se encontró debugbar, telescope, horizon ni nova ## Recomendaciones 1. **URGENTE:** Deshabilitar directory listing en Apache (`Options -Indexes`) 2. **URGENTE:** Actualizar OpenSSH a versión actual (9.x) 3. **ALTA:** Cerrar puertos innecesarios (FTP, POP3, IMAP sin cifrar, MySQL, WHM) 4. **ALTA:** Forzar HTTPS en todos los assets (eliminar mixed content) 5. **ALTA:** Actualizar Laravel, Bootstrap y jQuery 6. **MEDIA:** Configurar DMARC con `p=quarantine` o `p=reject` 7. **MEDIA:** Restringir acceso a cPanel/WHM por IP 8. **BAJA:** Migrar o eliminar la app legacy si ya no se usa activamente