Espamex: explotación completa - 16 hallazgos (4 críticos, 5 altos, 4 medios)
This commit is contained in:
69
frasa/recon.md
Normal file
69
frasa/recon.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# Reconocimiento - Frasa
|
||||
**Objetivo:** https://www.frasa.com.mx
|
||||
**Fecha:** 2026-03-25
|
||||
|
||||
## DNS
|
||||
- **IP:** 201.158.32.25
|
||||
- **MX:** frasa.com.mx (self-hosted mail)
|
||||
- **NS:** Neoclan (dns3/dns5.neoclan.net.mx)
|
||||
- **SPF:** `v=spf1 ip4:201.158.32.34 ip4:201.158.32.25 include:_spfmx.neoclan.net.mx +a +mx -all`
|
||||
- **TXT:** MS= (Microsoft 365 verification), Google Site Verification
|
||||
|
||||
## Infraestructura
|
||||
- **Hosting:** Servidor propio / Neoclan (IP mexicana)
|
||||
- **Servidor:** Apache
|
||||
- **CMS:** WordPress 6.9.4
|
||||
- **Plugins detectados:** WP Rocket 3.20.0.1, webp-uploads 2.6.1
|
||||
- **SSL:** Let's Encrypt R12 (válido hasta 2026-06-08)
|
||||
- **Nota SSL:** Certificado emitido para `cpanel.frasa.com.mx` — expone panel de admin
|
||||
|
||||
## Headers de Seguridad
|
||||
| Header | Estado |
|
||||
|--------|--------|
|
||||
| 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 |
|
||||
|
||||
## Hallazgos
|
||||
| # | Hallazgo | Severidad |
|
||||
|---|----------|-----------|
|
||||
| 1 | **Enumeración de usuarios via REST API** — usuario `guangoadmin` (ID:8) expuesto en `/wp-json/wp/v2/users` | ALTA |
|
||||
| 2 | **wp-login.php accesible** — sin rate limiting visible | ALTA |
|
||||
| 3 | **cPanel expuesto** — certificado SSL revela `cpanel.frasa.com.mx` | ALTA |
|
||||
| 4 | **Server-Timing header** filtra métricas internas de rendering (nombres de nodos, duraciones) | MEDIA |
|
||||
| 5 | **readme.html accesible** — expone versión de WordPress (7.4 KB) | MEDIA |
|
||||
| 6 | 7 de 7 headers de seguridad ausentes en páginas públicas | MEDIA |
|
||||
| 7 | wp-login.php tiene mejores headers que el sitio público (CSP, Referrer-Policy) — inconsistente | MEDIA |
|
||||
| 8 | Servidor de correo self-hosted en misma IP (201.158.32.25) | MEDIA |
|
||||
| 9 | XMLRPC no encontrado (404) — probablemente deshabilitado | OK |
|
||||
| 10 | Verificación Microsoft 365 + Google — posible entorno híbrido | INFO |
|
||||
|
||||
## Enumeración de Usuarios
|
||||
- **Endpoint:** `/wp-json/wp/v2/users`
|
||||
- **Usuario encontrado:** `guangoadmin` (ID: 8)
|
||||
- **Riesgo:** Nombre de usuario conocido + wp-login accesible = brute force viable
|
||||
|
||||
## Plugins Detectados
|
||||
| Plugin | Versión | Riesgo |
|
||||
|--------|---------|--------|
|
||||
| Breakdance Builder | 2.6.1 | Page builder, verificar CVEs |
|
||||
| TranslatePress | - | Plugin de traducción |
|
||||
| WP Rocket | 3.20.0.1 | Caché, generalmente seguro |
|
||||
| Click to Chat WhatsApp | - | Bajo riesgo |
|
||||
| webp-uploads | 2.6.1 | Bajo riesgo |
|
||||
|
||||
## Server-Timing Leak
|
||||
Header `Server-Timing` expone información interna:
|
||||
- Nombres de nodos de renderizado (renderNode-100, renderNode-104, etc.)
|
||||
- Tiempos de ejecución internos (captureWpOutputInit, constructTwig, etc.)
|
||||
- Podría ayudar a un atacante a mapear la arquitectura interna
|
||||
|
||||
## Siguiente Paso
|
||||
- Verificar acceso a cPanel (:2083/:2087)
|
||||
- Análisis de Breakdance Builder CVEs
|
||||
- Verificar correo (DMARC)
|
||||
- Auditoría de plugins
|
||||
Reference in New Issue
Block a user