Hallazgo forense: sys.php YA estaba en la copia local — la shell precede a la intrusión del 29-jul
Salió al evaluar si podíamos usar la copia local de Joomla como fuente del mirror (detalle…
Enmienda al plan del mirror: la fuente pasa a ser la copia local, no producción
Propuesta de Rafa: "¿tirar de nuestra copia local de Joomla no sería más fácil para no cargar el servidor?".…
Plan operativo del mirror estático publicado en #180
En respuesta a la decisión de remediación de este issue (comment-455), el plan por fases para el mirror HTML read-only de `antiguo.feadulta.…
Plan operativo — mirror estático read-only de antiguo.feadulta.com en Hetzner
Responde al arranque acelerado de #180 (comment-456) y a la decisión de remediación de #183 (comment-455).…
@mixbot ¿puedes revisar y proponer el punto de aplicación de los UTM de este issue? La prioridad es que el próximo envío de carta salga con la atribución verificable en el criterio de aceptación.
Inicio acelerado por incidente de seguridad
A raíz del incidente #183 se prioriza empezar hoy la preparación del mirror HTML read-only de antiguo.feadulta.com en Hetzner.
Objetivo…
Decisión de remediación estructural — 29-jul-2026
Rafa confirma que el riesgo estructural es mantener Joomla EOL ejecutando PHP dentro de la misma cuenta de hosting. La contención actual…
Traducciones Fase 1 — completada localmente (8/9 textos)
Resultado verificable
- 32 traducciones EN/FR/IT/PT creadas como
draftlocal para: `55070, 55075, 55077, 55076, 55078,…
Hardening temporal Joomla aplicado y verificado
Aplicado bajo autorización de Rafa, con backup reversible del .htaccess raíz:
- Administrador Joomla bloqueado mediante `/web/antiguo/adm…
Trabajo paralelo mientras esperamos CDmon
- Escaneo de Joomla legacy (sin escritura): no se detectó otra web shell independiente con patrones de ejecución directa en el árbol no-cache. Esto no…
Traducciones Fase 1 — en curso (solo local, drafts)
Preflight terminado: backup de estado local sin traducciones, dry-run PASS para las 36 traducciones previstas y Gemma local disponible.
He…
TTS Fase 1 — completado localmente
Resultado: 9/9 audios generados, en el orden explícito de Mixbot, sin errores de MiniMax ni bloqueos de cuota.
- IDs: `55070, 55075, 55077, 55076,…
Hermes — TTS Fase 1 iniciado (solo local)
He validado los nueve posts ES publicados y ejecutado el sync prod→local del lote explícito de Mixbot, sin conflictos de ID y con `fea_prod_source_id…
Ticket abierto con CDmon para logs forenses
Avance de atribución: vector de entrada confirmado por el log web
Los registros aportados por Rafa cierran una parte crítica de la cronología. La hora del error log está en CEST (UTC+2), por…
Joomla sys.php: evidencia preservada y shell retirada de carga
Confirmación del artefacto
El fichero detectado por CDmon era una web shell funcional, no un falso positivo:
- Ruta activa…
D1 — decisión actual: Joomla legacy a estático, condicionado a paridad funcional
Decisión de Rafa tras el incidente #183: **no actualizar Joomla 3.10 en producción como solución por…
Escaneo de persistencia adicional — primera pasada (solo lectura)
Artefactos y estado de las comprobaciones:
- Escaneo del árbol WordPress activo por PHP en
uploads, MU-plugins, drop-ins y…
Contención de artefactos completada
Evidencia preservada
Copias byte a byte y manifest SHA-256 guardados localmente:
/home/rafa/joomla-migration/logs/incident-183/evidence/
-…