Cómo escanear malware en mi sitio PrestaShop
¿Tu tienda PrestaShop va lenta, muestra errores extraños o sospechas que algo no va bien? Si has llegado hasta aquí, probablemente ya estés preocupado por la seguridad de tu negocio online. Y haces bien en estarlo.
Un sitio infectado no solo provoca una mala experiencia de usuario, sino que puede arruinar tu posicionamiento en Google, robar datos de tus clientes y, en el peor de los casos, vaciar tu cuenta bancaria.
La buena noticia es que, aunque parezca un problema de hackers de película, escanear malware en PrestaShop y limpiar el virus es un proceso que puedes aprender a hacer paso a paso. En esta guía extensa, te voy a explicar, sin tecnicismos innecesarios, cómo detectar, analizar y eliminar cualquier amenaza de tu tienda, además de cómo blindarla para el futuro.
Vamos a ello.
¿Por qué PrestaShop es un objetivo tan jugoso?
Antes de ponernos manos a la obra, es crucial que entiendas el "por qué". PrestaShop es una de las plataformas de comercio electrónico más utilizadas del mundo. Esto significa que los ciberdelincuentes crean bots y scripts automatizados que escanean Internet buscando vulnerabilidades específicas en esta plataforma.
No te lo tomes como algo personal; no te hackean a ti, hackean a cualquiera que tenga una puerta trasera abierta. Las razones más comunes de infección suelen ser:
- Módulos o plantillas piratas (nulled): Si has descargado un tema o plugin de pago de forma gratuita, casi con total seguridad lleva código malicioso oculto.
- Contraseñas débiles: Usar "admin123" o la misma clave para todo es dejar la puerta de casa abierta.
- Falta de actualizaciones: Cada versión de PrestaShop corrige fallos de seguridad conocidos. Si te quedas atrás, eres vulnerable.
- Vulnerabilidades en el hosting: Un servidor mal configurado o con otros sitios infectados puede propagar el malware a tu tienda.
Síntomas claros de que tu tienda tiene un virus
A veces el malware es invisible, pero otras veces deja huellas evidentes. Si notas alguno de estos síntomas, es hora de actuar rápido:
- Redirecciones extrañas: Al hacer clic en un producto, te lleva a una web de apuestas, farmacia o anuncios raros.
- Avisos de Google Safe Browsing: Cuando intentas entrar a tu web, Chrome o Firefox te muestran una pantalla roja de advertencia.
- Aparición de spam SEO: En Google, tu tienda muestra títulos como "Comprar zapatos baratos" o enlaces a webs de relojes de lujo que no has creado.
- Rendimiento pésimo: El sitio tarda muchísimo en cargar o el servidor consume el 100% de la CPU sin motivo aparente (quizás están usando tu servidor para minar criptomonedas).
- Usuarios administradores nuevos: Entras al panel de administración y hay una cuenta de empleado que no reconoces.
Si has marcado varias casillas de la lista, respira. Vamos a solucionarlo. El primer paso es, sin duda, escanear malware prestashop de forma metódica.
Fase 1: Escaneo Inicial y Diagnóstico (Antes de tocar nada)
No te lances a borrar archivos a lo loco. Eso podría romper tu tienda. Vamos a hacer un diagnóstico quirúrgico.
1.1. Revisa el Panel de Administración
Accede a tu back-office de PrestaShop. Ve a Módulos y Servicios y luego a Actualizaciones de Módulos. Si tienes módulos con vulnerabilidades conocidas, PrestaShop te avisará aquí.
También revisa Catálogo > Productos. Busca productos que no hayas creado tú. Los atacantes a veces inyectan productos fantasma que enlazan a webs externas para posicionarlas.
1.2. Escaneo Manual de Archivos (La Inspección Visual)
Necesitas acceder a tus archivos. Para ello, usa el Administrador de Archivos de tu hosting o un cliente FTP como FileZilla.
Una vez dentro, presta atención a estos puntos críticos:
- La carpeta
/modules: Busca carpetas que no reconozcas. A menudo, el malware se esconde en módulos con nombres genéricos comopayments,statsobanners. Revisa la fecha de modificación. Si un módulo antiguo tiene una fecha de modificación de hoy, es sospechoso. - La raíz del sitio (
/public_html): Busca archivos PHP que no estén en las carpetas estándar (/img,/config,/classes). Archivos comoshell.php,cmd.php,wso.phpo incluso con nombres comowp-blog-header.php(sí, de WordPress en una tienda PrestaShop) son una señal de alarma. - El archivo
.htaccess: Este archivo oculto es un objetivo común. Descárgalo y ábrelo con un editor de texto. Busca líneas que contenganbase64_decode,evalo URL extrañas. Un.htaccesslimpio no debería tener código PHP.
[WARNING] Si ves un archivo llamado
config/settings.inc.phpcon fecha de modificación reciente y no has tocado nada, hay un problema grave. Ese archivo contiene las claves de la base de datos. No lo compartas con nadie.
1.3. Escaneo con Herramientas Específicas
El escaneo manual es tedioso, así que vamos a usar artillería pesada.
- PrestaShop Security Scanner: Existe una herramienta oficial (o de terceros de confianza) que puedes subir a tu servidor vía FTP. Se trata de un archivo PHP que, al ejecutarlo desde el navegador, analiza todos los archivos de tu instalación y te dice cuáles son maliciosos o han sido modificados.
- Escáneres de Archivos del Hosting: Si tu hosting utiliza un panel de control (como Syspanel), busca en la sección de Seguridad o Protección. Muchos paneles ofrecen un escáner de malware integrado que revisa la integridad de los archivos del sistema.
[TIP] Si tu hosting usa Syspanel, recuerda que el acceso al panel de control se realiza a través del puerto 2106. Ahí podrás encontrar herramientas de gestión de archivos y, en muchos casos, un antivirus integrado que te ayudará en esta fase.
Fase 2: Limpiar Virus PrestaShop (La Intervención Quirúrgica)
Una vez identificados los archivos infectados, toca eliminarlos. Pero ojo, no todos los archivos se borran; algunos hay que "curarlos".
2.1. Limpieza de Archivos Maliciosos
Para los archivos PHP que claramente son scripts de hacking (como los que mencionamos antes: shell.php, cmd.php), la solución es simple:
- Descarga una copia de seguridad reciente de tu sitio (si no tienes, descarga la actual).
- Elimina los archivos infectados desde el FTP.
- Vacía la papelera del FTP (a veces se quedan ahí y el servidor sigue leyéndolos).
Para los archivos legítimos que han sido "inyectados" (por ejemplo, un index.php que ha sido modificado para incluir una redirección), la cosa cambia. No debes borrarlos, porque romperías la tienda. Debes reemplazarlos por una copia limpia de la versión original de PrestaShop.
¿Cómo hacerlo?
- Descarga la misma versión de PrestaShop que tienes instalada desde el sitio oficial.
- Descomprime el archivo en tu ordenador.
- Sube por FTP únicamente los archivos que estén dañados, sobrescribiendo los existentes.
[INFO] Si no sabes qué versión tienes, ve a Parámetros Avanzados > Información en tu back-office. Ahí te lo dice claramente.
2.2. Limpieza de la Base de Datos
El malware no solo vive en los archivos; también se esconde en la base de datos. Los hackers inyectan código en los campos de descripción de productos o en las tablas de configuración.
Para ello, necesitas acceder a phpMyAdmin (desde tu panel de control, ya sea cPanel o Syspanel).
Aquí tienes que buscar y ejecutar consultas SQL. No te asustes, es más fácil de lo que parece:
- Abre tu base de datos.
- Ve a la pestaña SQL.
- Ejecuta una búsqueda para encontrar código malicioso. Un buen comodín es buscar cadenas de texto típicas de malware:
SELECT * FROM ps_product WHERE description LIKE '%<script>%';
Si los resultados devuelven filas, tienes que limpiar esos campos. Sin embargo, te recomiendo muchísimo no hacer esto a mano si no estás seguro. Un error en una consulta SQL puede borrar toda tu tienda.
[WARNING] Antes de tocar la base de datos, haz una copia de seguridad de la misma. En phpMyAdmin, ve a la pestaña Exportar y descarga el archivo .sql. Este es tu salvavidas.
2.3. La Regla de Oro: Cambia Todas las Contraseñas
Después de limpiar los archivos y la base de datos, asume que tus credenciales están comprometidas.
- Cambia la contraseña de tu panel de administración de PrestaShop.
- Cambia la contraseña de tu base de datos (esto se hace desde el hosting).
- Cambia la contraseña de tu FTP.
- Cambia la contraseña de tu correo electrónico vinculado a la tienda.
Fase 3: Blindaje y Prevención (La Fortaleza)
Has limpiado el virus, pero ahora tienes que evitar que vuelva a pasar. Un buen anti-malware prestashop es la combinación de buenas prácticas y herramientas de seguridad.
3.1. Actualiza Todo (Sin Excusas)
- Núcleo de PrestaShop: Ve a Parámetros Avanzados > Actualizar PrestaShop. Mantén siempre la última versión estable.
- Módulos y Plantillas: Actualiza todos los que tengan una actualización disponible. Las actualizaciones corrigen fallos de seguridad.
- Elimina lo que no uses: Si tienes módulos o plantillas que no usas, desinstálalos y bórralos. Cada elemento extra es una puerta de entrada potencial.
3.2. Refuerza el Acceso al Panel de Administración
- Cambia la URL de administración: En lugar de usar
/admin, cámbiala a algo único como/mi-gestion-secreta-2024. Esto se hace enconfig/settings.inc.phpo renombrando la carpeta. - Activa la autenticación de dos factores (2FA): PrestaShop 1.7+ la tiene integrada. Actívala en tu cuenta de empleado. Te pedirá un código de tu móvil cada vez que entres.
- Limita los intentos de conexión: Instala un módulo que bloquee la IP después de varios intentos fallidos de inicio de sesión.
3.3. Configura el Servidor (Hosting)
- Activa el Firewall de Aplicaciones Web (WAF): Muchos hostings ofrecen esto. Filtra el tráfico malicioso antes de que llegue a tu web.
- Protege la carpeta
/admincon contraseña: Puedes añadir una capa extra de autenticación HTTP a nivel de servidor (a través de Syspanel o cPanel). Así, aunque alguien encuentre tu URL, necesitará otra contraseña más.
3.4. Instala un Módulo de Seguridad
Existen módulos de pago (y algunos gratuitos) muy buenos que actúan como un anti-malware prestashop en tiempo real.
- Escanean los archivos en busca de cambios.
- Comprueban la integridad del núcleo.
- Bloquean IPs maliciosas.
- Envían alertas por email si detectan algo raro.
[TIP] Busca en el marketplace oficial de PrestaShop. Los módulos de "Seguridad" con buenas valoraciones y actualizaciones frecuentes son una inversión inteligente.
Preguntas Frecuentes (FAQ)
¿Puedo escanear malware prestashop sin pagar?
Sí, totalmente. Puedes usar el escaneo manual vía FTP, herramientas gratuitas como el escáner de archivos de tu hosting o módulos freemium. La desventaja es que requiere más tiempo y conocimientos técnicos. Para un negocio, invertir en un módulo de pago suele ser más rentable.
¿Qué hago si mi tienda fue hackeada y Google la bloquea?
Primero, limpia el sitio siguiendo los pasos anteriores. Después, ve a Google Search Console y solicita una revisión del sitio. Google revisará tu web manualmente y, si está limpia, eliminará la advertencia en unos días.
¿Los plugins de escaneo ralentizan mi tienda?
Un buen módulo de seguridad está optimizado para no afectar el rendimiento. Sin embargo, si tu hosting es muy básico, puede consumir algo de recursos. Te recomiendo realizar escaneos manuales programados en horas de bajo tráfico (madrugada).
¿Debo contratar un servicio profesional de limpieza?
Si el malware es muy sofisticado, ha cifrado tus archivos (ransomware) o no te sientes capaz de hacerlo tú, sí. Las agencias especializadas en seguridad prestashop tienen herramientas avanzadas para limpiar incluso las infecciones más profundas, incluyendo las que se esconden en el núcleo del sistema. Te ahorrará tiempo y dolores de cabeza.
¿HestiaCP es seguro para PrestaShop?
HestiaCP (o su equivalente Syspanel, al que accedes por el puerto 2106) es un panel de control robusto y seguro si se configura bien. Lo importante es mantener el sistema operativo del servidor actualizado y usar contraseñas SSH fuertes. No es el panel el que te hackea, sino la configuración que le des.
Conclusión: La Seguridad es un Hábito Diario
Escanear malware en PrestaShop y limpiar el virus no es un evento de una sola vez; es un ciclo continuo. La seguridad de tu tienda online depende de tu constancia.
Establece un calendario:
- Semanalmente: Revisa que no haya nuevos usuarios administradores y que los módulos estén actualizados.
- Mensualmente: Realiza un escaneo completo de archivos con tu herramienta de seguridad.
- Trimestralmente: Cambia las contraseñas de acceso al hosting y al back-office.
Siguiendo estos pasos, no solo habrás limpiado tu tienda, sino que habrás construido un muro mucho más alto para que los ciberdelincuentes tengan que buscar otra víctima más fácil. Tu negocio online te lo agradecerá.
