6.4 KiB
6.4 KiB
Reconocimiento Completo - Refaccionarias del Valle
Objetivo: https://refaccionariasdelvalle.com + https://refaccionariasdelvalle.herokuapp.com Fecha: 2026-03-25 Tipo: WordPress + WooCommerce (e-commerce) + Ruby on Rails (Heroku)
DNS
- IP: 44.229.95.150 (AWS Oregon)
- MX: mail.refaccionariasdelvalle.com
- NS: GreenGeeks (ns1/ns2.greengeeks.net)
- SPF:
v=spf1 ip4:108.163.225.126 include:spf.greengeeks.net ip4:69.175.98.166 +a +mx ~all - DMARC:
v=DMARC1; p=none;(sin enforcement)
Infraestructura
Sitio WordPress (Principal)
- Hosting: GreenGeeks → AWS Oregon
- Servidor: Apache
- CMS: WordPress 6.7.5 (no es la última 6.9.x)
- Theme: Woodmart 7.6.0
- SSL: Let's Encrypt E7 (válido hasta 2026-06-06)
- E-commerce: WooCommerce 9.8.7 (moneda: MXN, país: MX/BC)
Aplicación Heroku (Legacy/B2B)
- Plataforma: Ruby on Rails en Heroku
- CDN: CloudFront (d134yvfg5nzhu8.cloudfront.net)
- S3: refaccionariasdelvallepg.s3.us-west-1.amazonaws.com
- Analytics: Google Analytics UA-40376975-1
- Facebook App ID: 1652116431482935
Plugins Detectados (WordPress)
| Plugin | Versión | Riesgo |
|---|---|---|
| WPBakery (js_composer) | 7.9 | CVE-2024-6457 (XSS no autenticado < 7.8) — versión 7.9 puede estar parcheada |
| WooCommerce | 9.8.7 | Tienda activa con pagos |
| Contact Form 7 | 6.0.6 | Generalmente seguro |
| CF7 Conditional Fields | — | Extensión de CF7 |
| Forminator | 1.42.2 | Plugin de formularios con preview API |
| Google Site Kit | 1.151.0 | Integración Google |
| Click to Chat WhatsApp | 4.15 | Bajo riesgo |
| Real3D FlipBook Lite | — | Verificar CVEs |
| Yoast SEO | 24.9 | Generalmente seguro |
| WPForms | — | API REST expuesta |
| WPMU DEV | — | Hub Connector y Defender/Smush probable |
| Jetpack | — | API v4 expuesta |
Hallazgos
Sitio WordPress
| # | Hallazgo | Severidad |
|---|---|---|
| C1 | Directorio de backups accesible — /wp-content/ai1wm-backups/ retorna 200. All-in-One WP Migration crea backups completos del sitio (BD + archivos). Si hay archivos .wpress aquí, contienen TODO: credenciales, BD, wp-config |
CRÍTICA |
| A1 | Enumeración de usuarios — adminRDelValle (ID:1, super_admin) expuesto via REST API, author pages, y oembed. Gravatar hash: 41c8ce28f93662502ca9b9aec99fe2c8 |
ALTA |
| A2 | wp-login.php sin rate limiting — 5 intentos consecutivos en <2s sin bloqueo. Con usuario conocido (adminRDelValle), fuerza bruta es viable |
ALTA |
| A3 | WooCommerce sin HSTS — tienda con pagos en MXN sin Strict-Transport-Security. Datos de pago vulnerables a downgrade HTTPS→HTTP | ALTA |
| A4 | DMARC p=none — política de correo no enforce. Cualquiera puede enviar emails como @refaccionariasdelvalle.com | ALTA |
| A5 | WooCommerce Store API expone estructura — atributo "Marca" con 66 valores, carrito accesible sin auth, estructura de checkout visible | ALTA |
| M1 | 7/7 headers de seguridad ausentes — Sin HSTS, CSP, X-Frame-Options, X-Content-Type-Options, etc. | MEDIA |
| M2 | WordPress 6.7.5 — 2 versiones menores atrás de 6.9.x | MEDIA |
| M3 | WPBakery 7.9 — changelog.txt público en /wp-content/plugins/js_composer/changelog.txt. Historial de CVEs aunque versión actual puede estar parcheada |
MEDIA |
| M4 | Woodmart 7.6.0 — verificar actualizaciones del theme premium | MEDIA |
| M5 | SPF con ~all (softfail) — debería ser -all para rechazo estricto | MEDIA |
| M6 | wp-admin/install.php accesible — muestra "Ya instalado" pero confirma WP + revela versión exacta | MEDIA |
| M7 | Forminator API — endpoint /wp-json/forminator/v1/preview/forms acepta requests, retorna success:false pero podría explotarse con module_id válido |
MEDIA |
| M8 | Application Passwords habilitado — endpoint de autorización en /wp-admin/authorize-application.php expuesto |
MEDIA |
| M9 | Logo servido desde dominio externo — diseno-studioarsa.com (developer tercero) aloja el logo oficial. Si ese dominio se compromete, XSS en Refaccionarias |
MEDIA |
| I1 | XMLRPC bloqueado (403) — bien configurado | OK |
| I2 | WooCommerce logs/uploads directorios — retornan 200 pero sin listing (vacíos) | BAJA |
| I3 | wp-content/uploads bloqueado (403) — bien configurado | OK |
| I4 | robots.txt — revela rutas de WooCommerce logs | BAJA |
Aplicación Heroku (Legacy)
| # | Hallazgo | Severidad |
|---|---|---|
| H1 | X-Frame-Options: ALLOWALL — permite clickjacking completo. Cualquier sitio puede embedder la app en un iframe | ALTA |
| H2 | CORS misconfiguration — Access-Control-Allow-Credentials: true + Allow-Methods: POST, PUT, DELETE, GET, OPTIONS. Origin fijo a CloudFront pero permite operaciones destructivas |
ALTA |
| H3 | Endpoints /users y /products retornan 500 — error no manejado. Devise (autenticación) está roto. Puede revelar stack traces en modo debug | ALTA |
| H4 | Panel admin accesible — /admin redirige a login en /cuentas/ingresar. Sin CAPTCHA visible |
MEDIA |
| H5 | CSRF token estático en meta tags — token visible en HTML source para cada request | MEDIA |
| H6 | Facebook App ID expuesto — 1652116431482935, podría usarse para phishing | MEDIA |
| H7 | Cookie de sesión Rails expuesta — _refaccionariasdelvalle_session con base64-encoded data |
BAJA |
| H8 | jQuery 1.12.4 — versión de 2016 con múltiples CVEs de XSS | MEDIA |
| H9 | Google Analytics legacy — UA-40376975-1 (Universal Analytics, deprecado) | BAJA |
Resumen de Severidades
- CRÍTICA: 1 (directorio backups)
- ALTA: 7 (usuarios expuestos, sin rate limiting, sin HSTS, DMARC none, store API, X-Frame-Options ALLOWALL, CORS)
- MEDIA: 12
- BAJA/INFO: 4
Recomendaciones Prioritarias
- URGENTE: Eliminar o proteger
/wp-content/ai1wm-backups/— puede contener backup completo del sitio - Implementar rate limiting y CAPTCHA en wp-login.php
- Deshabilitar enumeración de usuarios via REST API
- Agregar todos los headers de seguridad (HSTS, CSP, X-Frame-Options DENY)
- Cambiar DMARC a
p=rejecty SPF a-all - Actualizar WordPress a la última versión
- Revisar y actualizar todos los plugins
- Heroku: Cambiar X-Frame-Options a DENY, restringir CORS
- Heroku: Corregir error 500 en /users y /products (Devise roto)
- Heroku: Actualizar jQuery a versión moderna