Duplicator y All-in-One WP Migration: las copias que te dejas en el servidor

Duplicator y All-in-One WP Migration son plugins estupendos para mover una web de un sitio a otro. El problema no es el plugin: es lo que se queda en el servidor cuando terminas y no lo borras. Un paquete de migración olvidado es, literalmente, una copia comprimida de toda tu web (archivos y base de datos incluidos) esperando a que alguien la descargue. Y descargarla no requiere ser hacker: a veces basta con adivinar un nombre de archivo. En esta guía vas a comprobar en cinco minutos si tienes uno de estos regalos accesible, cómo borrarlo bien (que es más que borrar el zip) y cómo volver a migrar sin dejar rastro.

Qué archivos deja un plugin de migración en tu servidor

Cuando generas una copia con uno de estos plugins, se crean archivos en carpetas concretas. Conviene que sepas cuáles son, porque son los que tendrás que buscar después.

Duplicator genera dos piezas: un paquete comprimido (un .zip o .daf) con toda la web, y un installer.php, que es el script que reconstruye el sitio en el destino. Ambos suelen quedarse en la raíz del sitio o en wp-content/backups-dup-lite.

All-in-One WP Migration guarda sus exportaciones en wp-content/ai1wm-backups, con extensión .wpress. Cada exportación es la web entera en un solo archivo.

La clave es sencilla: ese paquete no es un backup cifrado ni protegido. Es tu web empaquetada, tal cual. Si alguien lo consigue, tiene tu base de datos completa: usuarios, contraseñas con hash, pedidos, correos de clientes y las claves de tu wp-config.php.

Por qué un paquete de copia accesible equivale a entregar la web entera

Imagina que dejas una copia impresa de todos los papeles de tu empresa en el felpudo de la calle. Eso es un paquete de migración accesible por web. No hay que forzar nada: si el archivo está en una URL que se puede adivinar o listar, se descarga y ya está.

Y adivinar no es tan difícil como parece. Hay listas públicas de rutas típicas (installer.php, backup.zip, migrate.zip) y bots que las prueban en masa contra miles de webs cada día, sin saber ni de quién es la web. El installer.php de Duplicator es especialmente goloso: si un atacante lo encuentra funcionando, puede intentar reinstalar tu web apuntándola a su base de datos y quedarse con el control. Ha habido campañas enteras dedicadas exactamente a buscar estos instaladores olvidados. No es un riesgo teórico; es de los más explotados en WordPress, y por eso sale tanto en las guías sobre vulnerabilidades de plugins de WordPress.

Cómo comprobar si tienes instaladores o paquetes olvidados

Tienes dos formas de mirar, según cómo accedas a tu web.

Desde el navegador

Prueba a escribir en la barra de direcciones estas URLs, cambiando tudominio.com por el tuyo:

  • tudominio.com/installer.php
  • tudominio.com/installer-backup.php
  • tudominio.com/wp-content/ai1wm-backups/
  • tudominio.com/wp-content/backups-dup-lite/

Si te sale una pantalla del instalador, un listado de archivos o empieza a descargarse algo, tienes un problema y hay que actuar ya. Si sale un error 404 o un «prohibido», por ahí vas bien, pero sigue con la comprobación por archivos.

Desde el gestor de archivos o FTP

Entra por el administrador de archivos de tu hosting o por FTP y revisa estas carpetas: la raíz del sitio (busca installer.php y cualquier .zip o .daf que no reconozcas), wp-content/ai1wm-backups y wp-content/backups-dup-lite. Fíjate en la fecha: un paquete de hace meses es justo lo que buscamos.

Cómo borrarlos bien y qué borrar además del archivo comprimido

Borrar solo el zip no basta. Con Duplicator, el installer.php es tan peligroso como el paquete, así que elimina los dos, y de paso cualquier archivo suelto que el instalador haya podido dejar (installer-backup.php, dup-installer, .htaccess.orig, wp-config.php.bak).

El orden recomendado:

  1. Desde el plugin, si sigue instalado, usa su propio botón de limpiar o eliminar paquetes. Duplicator y All-in-One WP Migration tienen esa opción y borran sus rastros mejor que tú a mano.
  2. Luego entra por FTP o el gestor de archivos y comprueba con tus ojos que las carpetas de copias están vacías y que no queda ningún installer en la raíz.
  3. Si encontraste algo accesible desde el navegador, cambia por precaución las contraseñas de administrador de WordPress y las de la base de datos, porque no puedes saber quién llegó a descargarlo antes que tú.

Estos paquetes, además, no son una copia de seguridad de verdad. Si los usabas como respaldo, monta un sistema serio: en la guía sobre qué debe incluir una copia de seguridad de tu web tienes qué guardar, cada cuánto y, sobre todo, dónde (nunca en la propia web pública).

Migrar sin dejar rastro: el orden correcto de los pasos

Migrar bien es fácil si respetas una regla: el paquete solo debe existir el tiempo justo. Este es el flujo limpio:

  1. Genera el paquete en el origen.
  2. Descárgalo a tu ordenador o súbelo directamente al destino; no lo dejes colgando en una URL pública más de lo necesario.
  3. Restaura en el destino.
  4. En cuanto compruebes que el destino funciona, borra el paquete y el instalador de los dos sitios.
  5. Cambia las contraseñas en el destino y revisa que la carpeta de copias quedó vacía.

El fallo clásico es hacer los cuatro primeros pasos, ver que la web nueva va, ponerse contento y no llegar nunca al quinto. Ponte un recordatorio si hace falta. Y ya que estás en el servidor, aprovecha para dejar el resto de la configuración a prueba de estos descuidos siguiendo la guía de configuración segura del hosting.

Alternativas cuando el hosting ya te ofrece migración

Antes de instalar nada, mira lo que ya tienes. Muchos alojamientos incluyen su propia herramienta de migración o un asistente de «traer tu web» que hace el traslado por el panel, sin generar paquetes accesibles por web. Si tu hosting lo ofrece, casi siempre es la opción más limpia: no dejas archivos temporales expuestos y no dependes de acordarte de borrar nada.

Otra vía es la migración por línea de comandos con WP-CLI o la que ofrecen algunos proveedores gestionados, que trabajan por dentro sin exponer un instalador público. La regla general: cuanto menos pase el traslado por una URL que cualquiera puede visitar, mejor.

Qué hacer si encuentras un paquete que no creaste tú

Esto es lo importante de verdad. Si al revisar encuentras un .zip, un .wpress o un installer.php con fecha reciente que tú no generaste, no estás ante un descuido: estás ante una posible señal de que alguien ya está dentro. Un atacante que ha entrado suele empaquetar la web para llevársela entera, o deja un instalador como forma de recuperar el acceso más tarde.

En ese caso, no te limites a borrar el archivo y respirar tranquilo. Lo más probable es que haya algo más escondido. Sigue los pasos para buscar puertas traseras en tu web, porque borrar el paquete sin encontrar cómo entró garantiza que volverás a tener otro dentro de unos días.

Si prefieres empezar por una foto rápida y desde fuera, lanza el análisis gratuito y comprueba con PathScan si te queda algún paquete de migración accesible. Detecta desde la calle lo que desde el panel no se ve, que es justo donde estos archivos hacen daño.

Seguir leyendo en esta sección

Ver todo en Avisos de plugins concretos → · Mapa completo del sitio

Seguridad Online es una publicación de PathSentinel — ARCADIA DEVSEC CLOUD S.L. Escribimos a partir de trabajo real de respuesta a incidentes.

¿Quieres saber si tu web tiene algo raro? Analízala gratis con PathScan

Vigilancia 24/7 · Investigación por analista · Muro de Honor · Mapa del sitio