Files
pentesting/refaccionariasdelvalle/recon.md

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 usuariosadminRDelValle (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 externodiseno-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 misconfigurationAccess-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

  1. URGENTE: Eliminar o proteger /wp-content/ai1wm-backups/ — puede contener backup completo del sitio
  2. Implementar rate limiting y CAPTCHA en wp-login.php
  3. Deshabilitar enumeración de usuarios via REST API
  4. Agregar todos los headers de seguridad (HSTS, CSP, X-Frame-Options DENY)
  5. Cambiar DMARC a p=reject y SPF a -all
  6. Actualizar WordPress a la última versión
  7. Revisar y actualizar todos los plugins
  8. Heroku: Cambiar X-Frame-Options a DENY, restringir CORS
  9. Heroku: Corregir error 500 en /users y /products (Devise roto)
  10. Heroku: Actualizar jQuery a versión moderna