🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Eliminar malware y virus de PrestaShop manualmente

Actualizado el 8 de octubre de 2025

¿Tu tienda PrestaShop va lenta, muestra anuncios raros o redirige a páginas extrañas? Es muy probable que haya sido infectada por malware. No te asustes, es un problema más común de lo que parece, y en esta guía te voy a enseñar, paso a paso, cómo eliminar malware PrestaShop de forma manual, sin necesidad de ser un experto en programación.

Vamos a ponernos el traje de detective digital y limpiar tu tienda a fondo. El objetivo es recuperar la seguridad y la confianza de tus clientes. Respira hondo, coge un café y vamos a ello.

Primeros Pasos: Diagnóstico y Preparación

Antes de tocar nada, es crucial preparar el terreno. Actuar con prisa y sin un plan puede empeorar las cosas. Vamos a hacer un diagnóstico inicial y a tomar medidas de seguridad básicas.

1. Haz una Copia de Seguridad Completa (¡Sí o Sí!)

Esta es la regla de oro. Nunca, jamás, intentes limpiar un sitio infectado sin una copia de seguridad reciente. Si algo sale mal durante el proceso, podrás restaurar tu tienda a su estado anterior (aunque esté infectada) y empezar de nuevo.

  • Desde tu Panel de Control (cPanel, Plesk, etc.): Busca la opción "Copias de Seguridad" o "Backup". Descarga una copia completa de los archivos y de la base de datos.
  • Desde Syspanel: Si tu hosting usa Syspanel (recuerda que el puerto de acceso es el 2106), busca la sección de "Copias de Seguridad" o "Backups" y genera una descarga completa.

[WARNING] Una copia de seguridad es tu red de seguridad. Sin ella, cualquier error puede ser catastrófico para tu negocio online. No la omitas.

2. Identifica los Síntomas del Virus

¿Qué tipo de comportamiento extraño has notado? Anotarlo te ayudará a enfocar la búsqueda.

  • Redirecciones: ¿Te lleva a páginas de spam, casinos o farmacias online?
  • Anuncios intrusivos: ¿Aparecen banners o pop-ups que tú no has creado?
  • Rendimiento lento: ¿Tu tienda tarda muchísimo en cargar sin motivo aparente?
  • Errores en el panel de administración: ¿No puedes acceder o ves errores extraños?
  • Nuevos usuarios administradores: ¿Hay cuentas de administrador que no reconoces?
  • Código basura en archivos: Si has mirado el código, ¿ves líneas de texto ilegible o scripts inyectados al principio o final de los archivos?

3. Cambia Todas tus Contraseñas Inmediatamente

Asume que tus contraseñas están comprometidas. Cambia:

  • La contraseña de tu panel de administración de PrestaShop.
  • La contraseña de tu base de datos MySQL.
  • La contraseña de tu cuenta de hosting (cPanel, Syspanel, etc.).
  • La contraseña de tu FTP o administrador de archivos.

Usa contraseñas largas y únicas, con mayúsculas, minúsculas, números y símbolos. Un gestor de contraseñas puede ayudarte con esto.

Limpieza Manual del Código: Manos a la Obra

Ahora sí, vamos a buscar y eliminar el virus PrestaShop. Aquí es donde empieza el trabajo de detective. Necesitarás acceso a los archivos de tu tienda, ya sea por FTP (con un programa como FileZilla) o a través del administrador de archivos de tu hosting.

1. Revisa los Archivos Modificados Recientemente

Los archivos infectados suelen tener una fecha de modificación muy reciente, a menudo en el mismo día o en los días previos al ataque.

  • Accede a la raíz de tu PrestaShop: Normalmente es la carpeta public_html o htdocs.
  • Ordena los archivos por fecha de modificación: Busca los archivos .php que hayan sido modificados en las últimas 24-48 horas.
  • Abre esos archivos con un editor de texto plano (como el Bloc de Notas de Windows o Sublime Text).

¿Qué buscas? Código ofuscado (ilegible), líneas muy largas de texto sin sentido, funciones como eval(), base64_decode(), gzinflate(), o enlaces a dominios externos que no reconoces. Esto es la firma de un malware PrestaShop.

[TIP] PrestaShop tiene archivos que se actualizan con frecuencia, como los logs. No te alarmes por todo lo que veas. Concéntrate en los archivos .php de las carpetas principales como /root, /classes, /controllers y /themes.

2. Inspecciona los Archivos Clave del Sistema

Hay archivos que son los favoritos de los atacantes. Revísalos uno por uno:

  • /config/settings.inc.php: Este archivo contiene las credenciales de tu base de datos. Asegúrate de que no haya código extraño fuera de las líneas de definición de constantes (define(...)).
  • /index.php: El archivo principal de tu tienda. Debe tener el código estándar de PrestaShop. Si ves algo extraño al principio o al final, es una señal de alarma.
  • /init.php: Otro archivo crítico. Verifica su integridad.
  • /classes/ : Revisa archivos como Tools.php, Db.php o Context.php. Los atacantes a veces añaden funciones maliciosas aquí para que se ejecuten en toda la tienda.

¿Cómo saber si el código es legítimo? Si no estás seguro, compara el archivo sospechoso con el mismo archivo de una instalación limpia de PrestaShop (puedes descargarla desde el sitio oficial de PrestaShop). Si las diferencias son significativas, tienes un problema.

3. Busca Archivos .php Ocultos o Sospechosos

Los atacantes suelen subir "webshells" (archivos que les permiten controlar tu servidor) con nombres que imitan a otros archivos o que son difíciles de detectar.

  • Busca archivos con nombres raros: Como c.php, wp.php, upload.php, shell.php, tmp.php o variaciones con números y letras aleatorias.
  • Revisa las carpetas de imágenes y subidas: /img, /upload, /var/cache son lugares comunes para esconder estos archivos.
  • Busca archivos .php en carpetas donde no debería haberlos: Por ejemplo, en /themes solo debería haber plantillas (tpl) y archivos de estilos (css, js).

[WARNING] Si encuentras un archivo .php sospechoso en una carpeta de imágenes, es casi seguro que es malicioso. No lo abras en tu navegador, descárgalo a tu ordenador para analizarlo (o simplemente bórralo si tienes muy claro que es malo).

4. Limpia el Código de las Plantillas (Themes)

El malware a menudo se inyecta en los archivos de tu tema para mostrar anuncios o redirigir a los visitantes.

  • Revisa los archivos .tpl en la carpeta /themes/tu_tema/.
  • Presta especial atención a header.tpl, footer.tpl y index.tpl.
  • Busca código JavaScript inyectado: Etiquetas <script> que carguen archivos desde dominios externos, o código ofuscado que no forme parte del diseño original.

¿Cómo limpiarlo? Si encuentras una línea de código inyectada, bórrala. Si el archivo está muy dañado, lo mejor es reemplazarlo por la versión original del tema (si la tienes guardada).

5. Limpia la Base de Datos

El malware también puede esconderse en tu base de datos, especialmente en las tablas que almacenan contenido, como ps_product, ps_category o ps_cms. También pueden crear tablas nuevas.

  • Accede a phpMyAdmin desde tu panel de control (Syspanel, cPanel, etc.).
  • Revisa las tablas con prefijo ps_ (o el tuyo propio).
  • Busca contenido extraño en los campos de texto: Como código <script> o <iframe> insertado en las descripciones de productos o en las páginas CMS.
  • Identifica tablas nuevas: ¿Hay tablas que no reconoces? Investiga su nombre. Si parece aleatorio, podría ser parte del malware.

[INFO] Antes de borrar cualquier cosa de la base de datos, haz una copia de seguridad específica de esa base de datos. Es más fácil de restaurar que todo el sitio.

Refuerza la Seguridad de PrestaShop: Prevención

Una vez que has limpiado el virus PrestaShop, es hora de blindar tu tienda para que no vuelva a ocurrir. La prevención es tu mejor aliada.

1. Actualiza Todo a la Última Versión

  • PrestaShop: Asegúrate de tener la última versión estable. Cada actualización corrige vulnerabilidades de seguridad conocidas.
  • Módulos y Temas: Mantén todos tus módulos y tu tema actualizados. Los módulos antiguos y sin mantenimiento son la puerta de entrada favorita para los atacantes.
  • PHP: Verifica que estás usando una versión de PHP que sea compatible y que aún reciba soporte de seguridad.

2. Cambia los Prefijos de las Tablas de la Base de Datos

El prefijo por defecto de las tablas de PrestaShop es ps_. Cambiarlo a algo más complejo y único, como mi_tienda_2024_, puede disuadir ataques automatizados que buscan el prefijo por defecto. Puedes hacerlo con un módulo o manualmente en la base de datos (y actualizando settings.inc.php).

3. Instala un Módulo de Seguridad

Existen excelentes módulos de seguridad para PrestaShop que pueden ayudarte a:

  • Escanear tu tienda en busca de archivos maliciosos.
  • Bloquear intentos de fuerza bruta en el panel de administración.
  • Proteger tu tienda contra inyecciones SQL y ataques XSS.
  • Limitar los intentos de acceso a la zona de administración.

4. Protege la Carpeta /admin

La carpeta /admin es el panel de control de tu tienda. Puedes hacerla más segura:

  • Renómbrala: Cámbiale el nombre a algo menos predecible, como /mi-panel-secreto-2024.
  • Añade una contraseña adicional: Configura una autenticación HTTP en el servidor para la carpeta /admin (esto es un poco más técnico, pero tu proveedor de hosting puede ayudarte).

5. Utiliza un Escáner de Malware Externo

Además de la limpieza manual, es recomendable usar herramientas de escaneo externas para una segunda opinión. Servicios como VirusTotal, Sucuri SiteCheck o Quttera pueden analizar tu sitio en busca de malware y otras amenazas.

Preguntas Frecuentes (FAQ)

¿Qué hago si no encuentro el malware manualmente?

Si has seguido todos los pasos y no encuentras nada, o si el malware es muy sofisticado, lo mejor es contratar a un profesional. Un experto en seguridad PrestaShop tiene herramientas y conocimientos avanzados para localizar y eliminar cualquier amenaza.

¿Cuánto tiempo se tarda en limpiar una tienda PrestaShop?

Depende del nivel de infección. Una limpieza simple puede llevar un par de horas. Una infección compleja y extendida puede llevar un día completo o más.

¿Puedo perder mis datos si elimino el malware?

Si sigues los pasos correctamente y haces copias de seguridad, no deberías perder datos importantes. El riesgo principal es romper algo durante la limpieza, por lo que la copia de seguridad es vital.

¿Cómo sé si mi tienda está limpia después de la limpieza?

Después de la limpieza, vuelve a escanear tu sitio con un escáner externo. También puedes monitorear los archivos modificados recientemente durante unos días para asegurarte de que no aparezcan nuevos archivos sospechosos.

¿Qué hago si el malware ha robado datos de mis clientes?

Si sospechas que se ha producido una fuga de datos de clientes, debes notificarlo a la Agencia Española de Protección de Datos (AEPD) y a tus clientes afectados lo antes posible. Es una obligación legal.

Conclusión: Tu Tienda, Tu Fortaleza

Eliminar malware y virus de PrestaShop manualmente es una tarea que requiere paciencia y método, pero es totalmente factible si sigues estos pasos. Recuerda que la clave está en la preparación (copias de seguridad), la detección (revisar archivos y código) y la prevención (actualizar y blindar tu tienda).

No te desanimes si es la primera vez que lo haces. Con cada limpieza, aprenderás más sobre cómo funciona tu tienda por dentro y cómo protegerla mejor. Tu tienda es tu fortaleza digital, y ahora tienes las herramientas para mantenerla a salvo.

Si en algún momento te sientes abrumado, recuerda que siempre puedes buscar ayuda profesional. Pero con esta guía, ya tienes un excelente punto de partida para recuperar el control de tu negocio online. ¡Mucho ánimo y a por ello!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel