13 KiB
13 KiB
Reporte de Seguridad Completo - Mafra Tijuana
Objetivo: https://mafratijuana.com IP: 162.210.97.174 Fecha: 2026-03-25 Estado: COMPROMETIDO (evidencia de hackeo previo)
RESUMEN EJECUTIVO
Mafra Tijuana presenta el nivel de riesgo más alto posible. El servidor ya fue comprometido anteriormente (evidencia: archivo inf.txt con mensaje "hacked by EH!" y web shell C99.php presente). La infraestructura está basada en PHP 4.4.9 (fin de vida en 2008), sin prácticamente ningún control de seguridad, con inyección SQL confirmada y el panel de administración accesible sin autenticación.
Hallazgos totales: 27
- 🔴 CRÍTICOS: 8
- 🟠 ALTOS: 9
- 🟡 MEDIOS: 7
- 🔵 BAJOS: 3
HALLAZGOS CRÍTICOS (8)
C1 — Evidencia de compromiso previo (hacked by EH!)
- Archivo:
/adminm/archivosnoticias/inf.txt - Contenido:
hacked by EH! - Impacto: El servidor ya fue hackeado. No se puede confiar en la integridad de ningún archivo.
- Recomendación: Asumir compromiso total. Reconstruir desde cero.
C2 — Web Shell C99.php presente
- URL:
/adminm/archivosnoticias/C99.php - Estado: Retorna HTTP 500 (ionCube Loaders faltantes impiden ejecución), pero el archivo existe
- Impacto: C99 es un web shell PHP famoso que da control total del servidor (ejecución de comandos, exploración de archivos, conexión a BD, etc.)
- Nota: Si se restauran los ionCube Loaders o se actualiza PHP, el shell volvería a funcionar
- Recomendación: Eliminar inmediatamente. Auditar todos los archivos PHP del servidor.
C3 — Web Shell disfrazado en /phpinfo.php
- URL:
/phpinfo.php - Contenido: Muestra una página falsa de "Not Found" pero incluye un formulario de password oculto (
<input type=password name=pass>) con CSS que lo camufla (fondo blanco, borde blanco) - Impacto: Puerta trasera activa protegida por contraseña. Si alguien conoce el password, tiene acceso al servidor.
- Recomendación: Eliminar inmediatamente. Investigar quién lo instaló.
C4 — Inyección SQL ciega confirmada (Time-Based Blind SQLi)
- Endpoint:
/adminm/muestraimagen.php?tipo=chica&id= - Prueba:
id=136 AND SLEEP(3)→ respuesta en 3.2s;SLEEP(5)→ 5.2s;SLEEP(0)→ 0.2s - Impacto: Permite extraer toda la base de datos: usuarios, contraseñas, datos de clientes, pedidos
- DB name: 12 caracteres de longitud (extracción parcial confirmada)
- ModSecurity: Bloquea OR/UNION/SELECT pero NO bloquea SLEEP() ni IF()
- Recomendación: Usar prepared statements. Actualizar reglas de ModSecurity.
C5 — Credenciales de SQL Server expuestas
- Archivo:
/adminm/archivosnoticias/SCRIPTPABORRAR.txt - Contenido:
sqlcmd -U sa -P BREVA@1 -S 201.130.120.52\sqlexpress - Impacto: Credenciales del usuario SA (administrador) de SQL Server con IP pública. Si el puerto 1433 está abierto en esa IP, acceso total a la base de datos.
- Recomendación: Cambiar contraseña inmediatamente. Eliminar archivo. Auditar accesos.
C6 — Panel de administración sin autenticación
- URL:
/adminm/tipoCambio.php - Estado: Totalmente funcional sin login. Permite modificar y eliminar tipos de cambio.
- Formulario POST activo a
tipoCambio_exe2.phpcon operaciones CRUD - Otros endpoints admin accesibles: catalogoUsuarios.php, catalogoPaquetes.php, catalogoNoticias.php, catalogoMarcas.php, catalogoEmail.php, pedidosPrincipal.php, catalogoGalerias2.php, agregarBanner.php
- Recomendación: Implementar control de acceso en todas las páginas admin.
C7 — PHP 4.4.9 (fin de vida hace 18 años)
- Header:
X-Powered-By: PHP/4.4.9 - Impacto: Miles de CVEs conocidos. Sin soporte de seguridad desde 2008. Incompatible con prácticas de seguridad modernas.
- Recomendación: Migrar a PHP 8.x como mínimo.
C8 — Login de administración vulnerable a fuerza bruta
- URL:
/adminm/→ POST a/login/logea.php - Campos:
txtUsuario,txtPassword(texto plano) - Sin protección: No CAPTCHA, no rate limiting, no bloqueo de cuenta, no 2FA
- Respuesta uniforme: "Usuario y contrasena no valida" (sin diferenciación usuario/contraseña)
- ModSecurity: Bloquea SQLi con comillas simples en el login, pero no protege contra fuerza bruta
HALLAZGOS ALTOS (9)
A1 — 420 archivos públicamente accesibles en /adminm/archivosnoticias/
- URL:
/adminm/archivosnoticias/ - Contenido: 420 archivos incluyendo:
- 292 imágenes (.jpg, .JPG)
- 42 PDFs (catálogos, precios)
- 22 archivos ZIP (listas de precios en dólares y MN)
- 18 hojas de cálculo Excel (.xls) — intercambios de marcas, catálogos
- 14 documentos Word (.doc)
- 1 archivo SQL (script de vista de base de datos INVENTARIO)
- 1 archivo PHP (C99 web shell)
- 6 archivos de texto (incluyen credenciales)
- 1 archivo de log, 1 .gz, 1 .wmv, 1 .swf
- Impacto: Datos comerciales confidenciales expuestos (listas de precios, catálogos internos)
A2 — Script SQL expone estructura de base de datos interna
- Archivo:
/adminm/archivosnoticias/Script VWArticuloUltimo.sql - Contenido:
USE [INVENTARIO]— crea vistaVWULTIMASALIDAsobre tablaVWDETALLE4 - DB: Microsoft SQL Server (no MySQL)
- Impacto: Revela nombres de tablas, columnas y lógica de negocio del sistema de inventario
A3 — Directory listing habilitado en 15+ directorios
Directorios con listing activo:
/img/(50+ archivos),/img/_notes/,/img/common/,/img/glyph/,/img/icons/,/img/imgMenu//css/,/Scripts/,/login/(archivos PHP visibles)/principal/img/,/principal/css//adminm/img/(17 archivos),/adminm/css/(2),/adminm/archivosnoticias/(420)/uploads/,/files/,/imgBanner2/(20 subdirectorios)/javascript/(incluye archivos PHP: borraedita.php, borrar.php)
A4 — Fuga de información en formulario de contacto
- URL: POST a
/principal/contactanos_send.php - Fuga: Imprime el array completo de
mail()en la respuesta HTTP:- Email interno:
luissigma@hotmail.com - From:
contactenos@mafratijuana.com - Estructura interna del sistema de correo
- Email interno:
- Impacto: Phishing dirigido, spam, ingeniería social
A5 — Sin SPF, DKIM ni DMARC
- SPF: No configurado
- DKIM: No configurado
- DMARC: No configurado
- MX: mx1/mx2.ntchosting.com (hosting compartido)
- Impacto: Cualquiera puede enviar emails como @mafratijuana.com (spoofing)
A6 — Posible LFI en accesoarchivos.php
- Parámetro:
txtDestino - Uso legítimo: Incluye archivos como
../adminm/archivosnoticias/*.pdfy../principal/boletines.php?idNoticia=X - ModSecurity: Bloquea
../../../etc/passwdpero permite rutas relativas a archivos PHP del sitio - Rutas accesibles:
../adminm/index.php,../adminm/config.php,../adminm/conexion.php,../login/logea.php - Impacto: Posible lectura de código fuente PHP y archivos de configuración (requiere análisis más profundo)
A7 — FTP expuesto (Pure-FTPd)
- Puerto: 21/TCP abierto
- Versión: Pure-FTPd [privsep] [TLS]
- Anónimo: Deshabilitado
- Límite: 200 usuarios concurrentes
- Impacto: Vector de fuerza bruta para credenciales FTP
A8 — TLS 1.0 y 1.1 habilitados
- Protocolos: TLSv1.0 ✓, TLSv1.1 ✓, TLSv1.2 ✓, TLSv1.3 ✓
- TLS 1.0/1.1: Deprecados, vulnerables a BEAST/POODLE
- Cifrados CBC: Presentes en TLS 1.0/1.1
- Recomendación: Deshabilitar TLS 1.0 y 1.1
A9 — NRPE (Nagios) expuesto en puerto 5666
- Puerto: 5666/TCP abierto
- Servicio: tcpwrapped (NRPE - Nagios Remote Plugin Executor)
- Impacto: Posible ejecución remota de comandos si NRPE no está restringido
HALLAZGOS MEDIOS (7)
M1 — Todas las headers de seguridad HTTP ausentes (7/7)
- HSTS, CSP, X-Frame-Options, X-Content-Type-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy: NINGUNA presente
- Impacto: Clickjacking, MIME sniffing, XSS facilitado
M2 — Cookie PHPSESSID sin flags de seguridad
- Sin
Secureflag (transmisión en texto plano posible) - Sin
HttpOnlyflag (accesible via JavaScript) - Sin
SameSiteflag (CSRF posible)
M3 — Versión de PHP expuesta en X-Powered-By
- Header
X-Powered-By: PHP/4.4.9en cada respuesta
M4 — Estructura del login expuesta via directory listing
/login/muestra:error.php,logea.php,logeacookies.php,logeapartes.php,login.php,logout.php- Múltiples endpoints de autenticación revelan la arquitectura interna
M5 — Archivos de Dreamweaver expuestos
/img/_notes/contiene archivos.mnode Adobe Dreamweaver- Revelan información sobre el entorno de desarrollo
M6 — Log de aplicación expuesto (shcv2.log)
- URL:
/adminm/archivosnoticias/shcv2.log - Contenido: Stack traces de .NET (SHC_V20), errores de facturación electrónica SAT
- Impacto: Revela tecnología interna, rutas de código, lógica de facturación
M7 — Redirección de logout a HTTP (no HTTPS)
/login/logout.phpredirige ahttp://www.mafratijuana.com(sin SSL)
HALLAZGOS BAJOS (3)
B1 — Código legacy (Dreamweaver/Flash era)
- JavaScript inline: MM_nbGroup, AC_RunActiveContent
- Flash ActiveX content (.swf)
- HTML 4.01 Transitional
B2 — Hosting compartido (NTC Hosting)
- NS: dns1/dns2.ntchosting.com
- Riesgo de "vecino ruidoso" y compromiso lateral
B3 — Cache-Control con directivas legacy
post-check=0, pre-check=0(directivas IE-only obsoletas)
PUERTOS ABIERTOS
| Puerto | Servicio | Estado |
|---|---|---|
| 21/TCP | FTP (Pure-FTPd) | Abierto |
| 80/TCP | HTTP (Apache) | Abierto |
| 443/TCP | HTTPS (Apache) | Abierto |
| 5666/TCP | NRPE (Nagios) | Abierto |
INFRAESTRUCTURA
| Componente | Detalle |
|---|---|
| IP | 162.210.97.174 |
| Hosting | NTC Hosting (compartido) |
| Servidor | Apache |
| PHP | 4.4.9 (EOL 2008) |
| SSL | Let's Encrypt E8 (válido hasta 2026-05-02) |
| FTP | Pure-FTPd [privsep] [TLS] |
| WAF | ModSecurity (parcial, bypasseable) |
| Monitoreo | NRPE (Nagios) en puerto 5666 |
| DNS | dns1/dns2.ntchosting.com |
| MX | mx1/mx2.ntchosting.com |
| BD referenciada | SQL Server (EDGAR-PC\sqlexpress / 201.130.120.52\sqlexpress) |
ENDPOINTS DESCUBIERTOS
Panel de Administración (/adminm/)
index.php— Login de administraciónmenu.php— Menú principal (sin auth)header.php— Header con menú completo (sin auth)tipoCambio.php— Gestión tipo de cambio (funcional sin auth)catalogoUsuarios.php— Catálogo de usuarioscatalogoPaquetes.php— Catálogo de paquetescatalogoNoticias.php— Catálogo de noticiascatalogoMarcas.php— Catálogo de marcascatalogoEmail.php— Catálogo de emailspedidosPrincipal.php— Gestión de pedidoscatalogoGalerias2.php— GaleríasagregarBanner.php— Gestión de bannersmuestraimagen.php— Visualización de imágenes (SQLi confirmada)
Sitio Público (/principal/)
index.php— Página principalboletines.php?idNoticia=— Boletinesnovedades.php?idNoticia=— Novedadesscrolldetalle.php?idNoticia=— Detallesaccesoarchivos.php?txtDestino=— Acceso a archivos (LFI potencial)contactanos.php/contactanos_send.php— Contacto (fuga de info)descargaarchivos.php— Descarga de archivosventas.php,precios.php,marcas.php,promociones.php,nosotros.phplineasdetemporada.php— Líneas de temporada
Login (/login/)
logea.php— Login principallogeacookies.php— Login con cookieslogeapartes.php— Login por partes (usado por accesoarchivos)login.php— Login alternativoerror.php— Página de errorlogout.php— Cierre de sesión
RECOMENDACIONES PRIORITARIAS
INMEDIATO (24-48 horas)
- Asumir compromiso total — El servidor ya fue hackeado. Eliminar C99.php, phpinfo.php (webshell), y auditar todos los archivos.
- Cambiar TODAS las contraseñas — Especialmente el SA de SQL Server (BREVA@1) expuesto en SCRIPTPABORRAR.txt
- Eliminar archivos sensibles de /adminm/archivosnoticias/ (credenciales, scripts SQL, web shells)
- Deshabilitar directory listing en Apache (
Options -Indexes)
CORTO PLAZO (1-2 semanas)
- Implementar autenticación en todas las páginas de /adminm/
- Corregir SQL Injection en muestraimagen.php y todos los endpoints con parámetros
- Actualizar ModSecurity con reglas que bloqueen SLEEP(), IF(), BENCHMARK()
- Configurar SPF, DKIM y DMARC para el dominio
- Deshabilitar TLS 1.0/1.1
MEDIANO PLAZO (1-3 meses)
- Migrar a PHP 8.x — PHP 4.4.9 es insostenible
- Reconstruir la aplicación con framework moderno y prepared statements
- Implementar headers de seguridad (HSTS, CSP, etc.)
- Cerrar FTP o migrar a SFTP
- Restringir NRPE solo a IPs de monitoreo autorizadas
- Mover hosting a proveedor con mejor soporte de seguridad
Reporte generado por Lucy para Consultoría AS — Pentest autorizado