Guía para Limpiar Malware de una Base de Datos Hackeada en WordPress

Cuando tu sitio web es hackeado, el malware no solo se esconde en los archivos del servidor, sino también en la base de datos. Los atacantes suelen inyectar scripts maliciosos que afectan la funcionalidad del sitio, roban datos o incluso redirigen a los usuarios a sitios peligrosos.

En este artículo, te explicamos cómo detectar y eliminar malware de una base de datos hackeada en WordPress siguiendo un proceso paso a paso.

El malware en la base de datos consiste en código malicioso inyectado en tablas como wp_posts, wp_options o incluso en campos de usuario. Este código puede incluir:

  • Scripts de redireccionamiento.
  • Inyecciones de spam SEO.
  • Backdoors ocultas.
  • Usuarios administradores falsos.

Detectarlo y eliminarlo a tiempo es fundamental para evitar daños mayores.

Realiza una Copia de Seguridad Completa

Antes de comenzar cualquier proceso de limpieza, asegúrate de realizar una copia de seguridad completa de:

  • La base de datos.
  • Los archivos del servidor.

Esto te permitirá revertir los cambios si algo sale mal.

📌 Consejo: Usa herramientas como phpMyAdmin o por comandos MySQL desde la terminal para exportar la base de datos.

Identifica Actividad Sospechosa en la Base de Datos

Una vez que tengas la copia de seguridad, busca actividad sospechosa en las siguientes tablas:

TablaContenido
wp_postsContenido de las publicaciones.
wp_optionsConfiguración del sitio.
wp_usersUsuarios registrados.

Busca indicios de malware como:

  • Código JavaScript inyectado en los campos de texto.
  • Enlaces a sitios desconocidos.
  • Usuarios administradores que no reconoces.
Ejemplo de Código Malicioso Común:
<script>eval(unescape('%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e'));</script>

En los últimos meses, se ha detectado una creciente detección de código malicioso, incrustado en la base de datos de WordPress bajo la tabla 
wp_options, específicamente en la fila:

option_name: widget_block
option_value: Contiene código JavaScript ofuscado.

Al inyectarse en la base de datos en lugar de en los archivos de temas o complementos, el malware evita que las herramientas de escaneo de archivos comunes lo detecten, lo que le permite persistir silenciosamente en los sitios de WordPress afectados.
El JavaScript malicioso se encontró inyectado en el widget de bloque HTML a través del panel de administración de WordPress ( wp-admin > widgets ).

Utiliza Consultas SQL para Detectar Malware

Ejecuta consultas SQL para buscar patrones sospechosos en la base de datos.

🧪 Ejemplo de Consulta SQL para Buscar Scripts Maliciosos en wp_posts:

SELECT * FROM wp_posts 
WHERE post_content LIKE '%<script>%';

🧪 Consulta para Buscar Usuarios Administradores Falsos:

SELECT * FROM wp_users 
WHERE user_login NOT IN ('admin', 'editor', 'author');

Elimina el Malware de Forma Manual

Si encuentras código malicioso, elimínalo manualmente desde phpMyAdmin o mediante consultas SQL.

🧩 Ejemplo para Eliminar Scripts Maliciosos:

UPDATE wp_posts 
SET post_content = REPLACE(post_content, '<script>malicious_code</script>', '');/code>

Cambia las Credenciales de Acceso

Después de limpiar la base de datos, es fundamental cambiar todas las credenciales de acceso:

  • Contraseña de la base de datos.
  • Usuarios administradores del CMS.
  • FTP y cPanel.

Fortalece la Seguridad de tu Sitio

Para prevenir futuros ataques, implementa estas medidas de seguridad:

Mantén tu CMS y plugins actualizados.
Usa contraseñas seguras.
Implementa un firewall de aplicaciones web (WAF).
Monitorea tu sitio en busca de actividad sospechosa.

  • Sucuri Security Plugin: Escanea tu sitio en busca de malware y vulnerabilidades.
  • MalCare: Proporciona limpieza automática de malware.
  • WP-CLI: Permite ejecutar consultas SQL directamente desde la terminal.
Conclusión

La limpieza de malware en una base de datos hackeada es un proceso crítico para proteger tu sitio web y la información de tus usuarios. Sigue los pasos descritos en esta guía y, lo más importante, refuerza la seguridad de tu sitio para evitar futuros ataques.

Recuerda: La prevención es la mejor defensa contra los hackers. 🛡️

De igual forma, los invitamos a leer los siguientes artículos en inglés, donde hablan con más detalles esta modalidad de ataques:

Si te gustó este artículo, suscríbete a nuestro canal de YouTube  para videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en  TwitterFacebook e Instagram.

Introducción a phpMyAdmin en cPanel

phpMyAdmin es una herramienta gratuita y de código abierto que permite gestionar bases de datos MySQL a través de un navegador web. Es especialmente útil para quienes no tienen experiencia avanzada en SQL, ya que simplifica tareas como la creación, edición y eliminación de bases de datos y tablas. En este artículo, exploraremos el uso básico de phpMyAdmin en cPanel, incluyendo cómo acceder a la herramienta, crear bases de datos y gestionar tablas.

Para comenzar a usar phpMyAdmin desde cPanel, sigue estos pasos:

  1. Inicia sesión en tu cuenta de cPanel: Accede a tu panel de control utilizando la URL proporcionada por tu proveedor de hosting (por ejemplo, tudominio.com:2083).
  2. Navega a la sección “Bases de datos”: Busca el icono de phpMyAdmin en esta sección y haz clic en él.
  3. Acceso a la interfaz: Se abrirá una nueva pestaña con el tablero de phpMyAdmin, donde podrás ver todas tus bases de datos existentes.

Crear una nueva base de datos en phpMyAdmin es un proceso sencillo. Aquí te mostramos cómo hacerlo:

  1. Selecciona la opción “Bases de datos”: En el menú principal de cPanel, busca y selecciona la opción para crear una nueva base de datos.
  2. Introduce un nombre para la base de datos: Escribe un nombre único para tu nueva base de datos y haz clic en “Crear base de datos”.
  3. Configura los usuarios: Después de crear la base de datos, necesitarás asignar usuarios y permisos. Puedes hacerlo desde la sección “Usuarios MySQL” en cPanel

Una vez que hayas creado tu base de datos, puedes comenzar a gestionar tablas dentro de ella:

  1. Selecciona la base de datos: En el panel izquierdo del tablero de phpMyAdmin, haz clic en el nombre de la base de datos que acabas de crear.
  2. Crea una nueva tabla:
    • En la sección “Crear tabla”, introduce el nombre y el número de columnas que deseas.
    • Haz clic en “Ir” para continuar.
    • Especifica los detalles para cada columna (nombre, tipo, longitud) y haz clic en “Guardar” para crear la tabla.
  3. Inserta datos: Una vez creada la tabla, puedes agregarle datos haciendo clic en la tabla y luego seleccionando “Insertar”. Completa los campos requeridos y guarda los cambios.

phpMyAdmin también permite importar y exportar bases de datos fácilmente:

  • Importar: Selecciona la base de datos donde deseas importar los datos, haz clic en “Importar”, selecciona el archivo SQL que deseas subir y presiona “Continuar”. Mucho hosting limitan la subida del tamaño de la base de datos a 50MB, phpMyAdmin también admiten importar una base de datos comprimida en zip, pero debes estar atento que tienen un tipo de formato, que sería nombredebasededatos.sql.zip es importante el .sql.zip
  • Exportar: Para hacer una copia de seguridad, selecciona la base de datos, haz clic en “Exportar”, elige el formato deseado (generalmente SQL) y sigue las instrucciones para descargar el archivo.

Te puede interesar leer: Cómo Hacer Copias de Seguridad y Restaurar Bases de Datos MySQL® en cPanel

phpMyAdmin es una herramienta poderosa que facilita la gestión de bases de datos MySQL desde cPanel. Con su interfaz intuitiva, puedes realizar tareas complejas sin necesidad de conocimientos avanzados en SQL. Ya sea creando nuevas bases de datos o gestionando tablas existentes, phpMyAdmin simplifica significativamente estas operaciones.

Si te gustó este artículo, suscríbete a nuestro canal de YouTube  para videos tutoriales de Hosting, prácticas y demás. También puede encontrarnos en  TwitterFacebook e Instagram.