Cómo eliminar malware de PrestaShop con cPanel
Introducción: ¿Por qué tu tienda PrestaShop es un objetivo?
Si tienes una tienda online con PrestaShop, sabes que es una plataforma potente y flexible. Sin embargo, su popularidad también la convierte en un objetivo constante para ciberdelincuentes. El malware PrestaShop puede llegar a través de plugins desactualizados, temas piratas, vulnerabilidades en el núcleo o incluso por contraseñas débiles. Las consecuencias van desde una caída en el rendimiento hasta el robo de datos de clientes o la inclusión en listas negras de Google.
No entres en pánico. Aunque suene técnico, eliminar virus PrestaShop es un proceso que puedes seguir paso a paso si tienes acceso a cPanel. En esta guía te explicaré cómo hacerlo de forma segura y metódica, incluyendo herramientas de cPanel seguridad y alternativas como SysPanel. Al final, también responderé las preguntas más frecuentes.
## Paso 1: Preparación antes de limpiar
Antes de tocar nada, es vital preparar el terreno. Actuar con prisas puede empeorar la infección o perder datos importantes.
### 1.1. Haz una copia de seguridad completa
Accede a cPanel y busca la sección "Copias de seguridad" o "Backup". Descarga una copia completa de:
- Archivos del sitio (carpeta
public_html). - Base de datos (archivo
.sql).
[WARNING] No subas esta copia a tu servidor actual. Guárdala en tu ordenador o en la nube. Si la infección está en los archivos, la copia también podría estar contaminada.
### 1.2. Cambia todas tus contraseñas
Un atacante pudo haber accedido mediante credenciales robadas. Cambia de inmediato:
- Contraseña de cPanel.
- Contraseña de la base de datos de PrestaShop.
- Contraseña del administrador de PrestaShop.
- Contraseñas de FTP y correo electrónico.
Usa contraseñas largas y únicas. Un gestor de contraseñas te ayudará.
### 1.3. Activa el modo de mantenimiento de PrestaShop
Desde el panel de administración de PrestaShop, ve a Parámetros de la tienda > Mantenimiento y actívalo. Así evitarás que los usuarios vean errores o contenido malicioso mientras trabajas.
## Paso 2: Identificar el malware en tu PrestaShop
El malware puede esconderse en archivos PHP, JavaScript, imágenes o incluso en la base de datos. Los síntomas más comunes son:
- Redirecciones a sitios sospechosos.
- Anuncios emergentes no deseados.
- Lentitud extrema.
- Archivos nuevos con nombres extraños (por ejemplo,
system.php,shell.php).
### 2.1. Revisa los archivos recientemente modificados
En cPanel, usa el Administrador de archivos y navega a la carpeta raíz de tu tienda (normalmente public_html). Ordena los archivos por fecha de modificación. Busca archivos PHP o JavaScript que hayan sido modificados en las últimas 24-48 horas sin que tú hayas hecho cambios.
### 2.2. Escanea con herramientas de cPanel
Muchos paneles incluyen herramientas de seguridad. En cPanel, busca:
- "Escáner de malware" (puede llamarse "Malware Scanner" o "CageFS").
- "Análisis de seguridad" o "Security Scan".
Si tu hosting tiene SysPanel (el antiguo HestiaCP), el acceso es a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Dentro de SysPanel, busca la sección "Seguridad" o "Malware Scanner" para iniciar un análisis.
[TIP] Si no encuentras estas herramientas, contacta con tu proveedor de hosting. Algunos ofrecen escaneos gratuitos bajo demanda.
### 2.3. Inspecciona archivos clave manualmente
Abre archivos como index.php, .htaccess, config/defines.inc.php y config/settings.inc.php. Busca código inusual como:
base64_decode()eval()preg_replace()con el modificador/e- URLs largas y extrañas.
- Bloques de código ofuscado (ilegible).
[WARNING] No modifiques nada todavía. Solo identifica. Si no estás seguro, anota la ruta del archivo.
## Paso 3: Eliminar el malware manualmente
Una vez identificados los archivos sospechosos, puedes proceder a limpiarlos.
### 3.1. Elimina archivos maliciosos
Desde el Administrador de archivos de cPanel:
- Selecciona los archivos maliciosos.
- Haz clic en "Eliminar".
- Confirma la acción.
Si el archivo es legítimo pero está infectado (por ejemplo, un index.php de PrestaShop), no lo borres. En su lugar, restáuralo desde una copia de seguridad limpia (la que descargaste antes de la infección, pero asegúrate de que sea anterior al ataque).
### 3.2. Limpia el .htaccess
El archivo .htaccess es un objetivo común. Ábrelo y busca reglas de redirección sospechosas. Por ejemplo:
RewriteRule ^(.*)$ http://sitio-malicioso.com/$1 [R=301,L]
Elimina esas líneas. Si no estás seguro, reemplaza el archivo por uno limpio de una instalación original de PrestaShop (ajustando la ruta de RewriteBase si es necesario).
### 3.3. Revisa la carpeta modules y themes
Los módulos y temas pirateados son una fuente común de malware PrestaShop. En cPanel, ve a public_html/modules/ y public_html/themes/. Busca:
- Módulos que no hayas instalado tú.
- Archivos PHP inusuales dentro de carpetas de módulos legítimos.
- Temas con código ofuscado.
Elimina cualquier módulo o tema sospechoso. Luego, desde el panel de administración de PrestaShop, desinstálalos también.
## Paso 4: Limpiar la base de datos
El malware también puede alojarse en la base de datos, inyectando código en tablas como ps_configuration, ps_links o ps_meta.
### 4.1. Accede a phpMyAdmin desde cPanel
En cPanel, busca "phpMyAdmin" y selecciona la base de datos de tu tienda.
### 4.2. Busca contenido sospechoso
Usa la función "Buscar" (o "Search") para localizar cadenas como:
<script>malicioso.base64_decode- URLs de sitios extraños.
Puedes hacer una consulta SQL directa:
SELECT * FROM ps_configuration WHERE value LIKE '%base64%';
Reemplaza ps_ por el prefijo de tus tablas (si lo cambiaste).
### 4.3. Limpia las tablas infectadas
Si encuentras filas infectadas, puedes editarlas directamente desde phpMyAdmin o ejecutar una consulta de actualización. Por ejemplo:
UPDATE ps_configuration SET value = '' WHERE name = 'ALGUN_NOMBRE_SOSPECHOSO';
[INFO] Siempre haz una copia de la base de datos antes de modificar nada. Un error puede romper tu tienda.
## Paso 5: Medidas de seguridad posteriores a la limpieza
Una vez eliminado el malware PrestaShop, es hora de blindar tu tienda.
### 5.1. Actualiza todo
- PrestaShop: Ve a la última versión estable desde el panel de administración.
- Módulos y temas: Actualiza todos. Si alguno no tiene soporte, sustitúyelo por uno oficial.
- PHP: Desde cPanel, en "Seleccionar versión de PHP", elige una versión compatible y segura (PHP 8.0 o superior).
### 5.2. Refuerza las contraseñas y permisos
- Cambia las contraseñas de nuevo (por si el atacante las obtuvo durante la limpieza).
- En cPanel, ve a "Permisos de archivos" y asegúrate de que las carpetas tengan permisos 755 y los archivos 644. Nunca uses 777.
### 5.3. Instala un plugin de seguridad
Desde el marketplace de PrestaShop, instala un módulo de seguridad como "PrestaShop Security" o "MalCare". Estos pueden escanear y bloquear futuros ataques.
### 5.4. Configura un firewall
En cPanel seguridad, busca "ConfigServer Security & Firewall" (CSF) o "ModSecurity". Actívalos y configura reglas básicas. Si usas SysPanel, busca la sección "Firewall" dentro del panel (puerto 2106).
## Preguntas frecuentes (FAQ)
### ¿Puedo eliminar malware sin perder datos?
Sí, si haces una copia de seguridad antes y solo eliminas los archivos maliciosos. Los datos de clientes y productos suelen estar en la base de datos, que puedes limpiar sin borrar información valiosa.
### ¿Qué hago si no encuentro el malware?
Prueba con un escáner externo como Sucuri SiteCheck (gratuito) o Wordfence (para PrestaShop hay versiones adaptadas). También puedes contratar a un profesional de seguridad.
### ¿El malware puede volver después de limpiarlo?
Sí, si no cierras la puerta por donde entró. Asegúrate de actualizar todo, cambiar contraseñas y usar un firewall. Monitorea tu sitio con herramientas como Google Search Console.
### ¿Cómo sé si mi hosting tiene SysPanel?
Pregunta a tu proveedor. Si es así, el acceso es por el puerto 2106 (ejemplo: https://tudominio.com:2106). Dentro, busca las herramientas de seguridad.
### ¿Debo restaurar desde una copia de seguridad limpia?
Solo si la copia es anterior a la infección. Si no estás seguro, es mejor limpiar manualmente o usar un servicio profesional.
## Conclusión
Eliminar malware PrestaShop puede parecer abrumador, pero con un enfoque metódico y las herramientas de cPanel seguridad (o SysPanel), es totalmente factible. Recuerda: la prevención es clave. Mantén todo actualizado, usa contraseñas fuertes y realiza copias de seguridad periódicas.
Si en algún momento te sientes perdido, no dudes en contactar con el soporte técnico de tu hosting. Muchos ofrecen servicios de limpieza de malware incluidos en sus planes.
Tu tienda online es tu negocio. Protégela como tal.
