Espamex: explotación completa - 16 hallazgos (4 críticos, 5 altos, 4 medios)
This commit is contained in:
141
groke/recon.md
Normal file
141
groke/recon.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Reconocimiento y Análisis - Groke S.A. de C.V.
|
||||
**Objetivo:** https://groke.mx
|
||||
**Fecha:** 2026-03-25
|
||||
**Analista:** Lucy (Consultoría AS)
|
||||
|
||||
## Resumen Ejecutivo
|
||||
Groke opera DOS sistemas separados: un sitio Next.js en Vercel (groke.mx) y una aplicación Laravel legacy en un servidor compartido (64.91.245.110). El servidor real tiene **17 puertos abiertos**, Laravel en modo debug, MySQL expuesto externamente, y software severamente desactualizado.
|
||||
|
||||
## Infraestructura
|
||||
|
||||
### Sitio Público (Vercel)
|
||||
- **IP:** 76.76.21.21 (Vercel CDN)
|
||||
- **Tecnología:** Next.js (React), styled-components 6.0.8
|
||||
- **Build ID:** hGl4UbLpSWqj5I_F5iXrP
|
||||
- **SSL:** Let's Encrypt R12 (válido hasta 2026-05-26)
|
||||
- **Dominio relacionado:** groke.ca → redirige a groke.mx (307)
|
||||
|
||||
### Servidor Real (64.91.245.110)
|
||||
- **Hosting:** sitiosmctech.com.mx (hosting compartido)
|
||||
- **WHM hostname:** host2.sitiosmctech.com.mx
|
||||
- **OS/Server:** Apache (Linux)
|
||||
- **Framework:** Laravel (versión legacy, posiblemente 4.x/5.x basado en estilo Symfony de errores)
|
||||
- **SSH:** OpenSSH 7.4 (lanzado 2016-12-19)
|
||||
- **FTP:** Pure-FTPd con TLS
|
||||
|
||||
### DNS
|
||||
- **MX:** mail.groke.mx → 64.91.245.110
|
||||
- **NS:** ns1/ns2.sitiosmctech.com.mx
|
||||
- **SPF:** `v=spf1 +a +mx +ip4:64.91.245.110 ~all` (softfail)
|
||||
- **DKIM:** Configurado (selector: default, RSA 2048-bit)
|
||||
- **DMARC:** `v=DMARC1; p=none; rua=mailto:errores@groke.mx` (NO enforcement)
|
||||
|
||||
### Subdominios Descubiertos
|
||||
| Subdominio | IP | Servicio |
|
||||
|---|---|---|
|
||||
| www.groke.mx | Vercel (CNAME) | Sitio público |
|
||||
| mail.groke.mx | 64.91.245.110 | Servidor de correo |
|
||||
| ftp.groke.mx | 64.91.245.110 | FTP |
|
||||
| cpanel.groke.mx | 64.91.245.110 | Panel de control |
|
||||
| webmail.groke.mx | 64.91.245.110 | Webmail |
|
||||
|
||||
### Puertos Abiertos (64.91.245.110)
|
||||
| Puerto | Servicio | Notas |
|
||||
|---|---|---|
|
||||
| 21 | FTP (Pure-FTPd) | TLS habilitado, no anónimo |
|
||||
| 22 | SSH (OpenSSH 7.4) | **Versión obsoleta (2016)** |
|
||||
| 25 | SMTP | Correo saliente |
|
||||
| 80 | HTTP (Apache) | Laravel app |
|
||||
| 110 | POP3 | Sin cifrar |
|
||||
| 143 | IMAP | Sin cifrar |
|
||||
| 443 | HTTPS | Webmail |
|
||||
| 465 | SMTPS | SMTP cifrado |
|
||||
| 587 | Submission | SMTP auth |
|
||||
| 993 | IMAPS | IMAP cifrado |
|
||||
| 995 | POP3S | POP3 cifrado |
|
||||
| 2082 | cPanel (HTTP) | Panel de control |
|
||||
| 2083 | cPanel (HTTPS) | Panel de control |
|
||||
| 2086 | WHM (HTTP) | Admin hosting |
|
||||
| 2087 | WHM (HTTPS) | Admin hosting |
|
||||
| 2095 | Webmail (HTTP) | Roundcube |
|
||||
| 2096 | Webmail (HTTPS) | Roundcube |
|
||||
| **3306** | **MySQL** | **EXPUESTO externamente** |
|
||||
|
||||
## Hallazgos
|
||||
|
||||
### C1 - Laravel Debug Mode Habilitado [ALTA]
|
||||
- **Evidencia:** Rutas inexistentes muestran página de error Symfony/Whoops con stack trace
|
||||
- **URL:** `http://64.91.245.110/api/nonexistent` (Host: groke.mx)
|
||||
- **Impacto:** Expone estructura interna de archivos, rutas del framework, y potencialmente variables de entorno
|
||||
- **CVSS:** 7.5
|
||||
|
||||
### C2 - MySQL Puerto 3306 Expuesto a Internet [ALTA]
|
||||
- **Evidencia:** Puerto abierto, responde con banner MySQL
|
||||
- **Mitigación parcial:** Filtrado por IP ("Host '201.142.168.178' is not allowed to connect")
|
||||
- **Impacto:** Si se compromete una IP permitida o se cambia la configuración, acceso directo a la BD
|
||||
- **CVSS:** 7.0
|
||||
|
||||
### C3 - OpenSSH 7.4 Obsoleto [ALTA]
|
||||
- **Versión:** OpenSSH 7.4 (diciembre 2016, ~10 años sin actualizar)
|
||||
- **CVEs conocidos:**
|
||||
- CVE-2023-38408 (PKCS#11 provider, potencial RCE)
|
||||
- CVE-2021-41617 (escalación de privilegios)
|
||||
- CVE-2020-15778 (inyección de comandos vía scp)
|
||||
- **CVSS:** 8.1
|
||||
|
||||
### C4 - CORS Wildcard en Sitio Vercel [MEDIA]
|
||||
- **Header:** `access-control-allow-origin: *`
|
||||
- **Impacto:** Cualquier dominio puede hacer peticiones cross-origin al sitio
|
||||
- **Nota:** Bajo riesgo al ser contenido estático, pero podría ser problema si se agregan APIs
|
||||
|
||||
### C5 - DMARC Sin Enforcement [MEDIA]
|
||||
- **Configuración:** `p=none` (solo reporta, no bloquea)
|
||||
- **Impacto:** Emails de spoofing desde @groke.mx pueden llegar a destinatarios
|
||||
- **SPF tiene softfail (~all):** Agrava el problema
|
||||
|
||||
### C6 - Protocolos de Email Sin Cifrar (POP3/IMAP) [MEDIA]
|
||||
- **Puertos 110 (POP3) y 143 (IMAP) abiertos** sin TLS obligatorio
|
||||
- **Impacto:** Credenciales de correo pueden ser interceptadas en texto plano
|
||||
|
||||
### C7 - cPanel/WHM Accesibles Públicamente [MEDIA]
|
||||
- **URLs:**
|
||||
- cPanel: cpanel.groke.mx:2083
|
||||
- WHM: cpanel.groke.mx:2087 (redirige a host2.sitiosmctech.com.mx:2087)
|
||||
- Webmail: webmail.groke.mx:2096
|
||||
- **Impacto:** Superficie de ataque para brute force de credenciales
|
||||
|
||||
### C8 - FTP Sin Restricción de IP [BAJA]
|
||||
- **Banner:** Pure-FTPd con TLS, no acepta anónimo
|
||||
- **Impacto:** Vector para brute force de credenciales FTP
|
||||
|
||||
### C9 - robots.txt Referencia Dominio Incorrecto [INFO]
|
||||
- **Contenido:** `Sitemap: https://groke.ca/sitemap.xml` (no groke.mx)
|
||||
- **Sitemap desactualizado:** Última modificación 2023-09-22
|
||||
|
||||
### C10 - Headers de Seguridad Faltantes [MEDIA]
|
||||
- HSTS: OK (Vercel)
|
||||
- Content-Security-Policy: FALTA
|
||||
- X-Frame-Options: FALTA
|
||||
- X-Content-Type-Options: FALTA
|
||||
- X-XSS-Protection: FALTA
|
||||
- Referrer-Policy: FALTA
|
||||
- Permissions-Policy: FALTA
|
||||
|
||||
## Resumen de Severidades
|
||||
| Severidad | Cantidad |
|
||||
|---|---|
|
||||
| Crítica | 0 |
|
||||
| Alta | 3 (C1, C2, C3) |
|
||||
| Media | 5 (C4, C5, C6, C7, C10) |
|
||||
| Baja | 1 (C8) |
|
||||
| Info | 1 (C9) |
|
||||
| **Total** | **10** |
|
||||
|
||||
## Recomendaciones Prioritarias
|
||||
1. **Urgente:** Desactivar debug mode en Laravel (APP_DEBUG=false)
|
||||
2. **Urgente:** Actualizar OpenSSH a versión actual
|
||||
3. **Urgente:** Cerrar puerto 3306 al exterior (firewall)
|
||||
4. **Alta:** Configurar DMARC con `p=reject` y SPF con `-all`
|
||||
5. **Alta:** Desactivar puertos POP3/IMAP sin cifrar (110, 143)
|
||||
6. **Media:** Restringir acceso a cPanel/WHM por IP
|
||||
7. **Media:** Agregar headers de seguridad (CSP, X-Frame-Options, etc.)
|
||||
Reference in New Issue
Block a user