Qué es una puerta trasera
Una puerta trasera, en el ámbito informático, es un software que se instala en un sistema con el propósito de eludir las medidas de seguridad y obtener acceso al sistema de archivos, la base de datos u otros componentes para llevar a cabo acciones que beneficien al perpetrador, a expensas del propietario del sitio.
Es esencialmente una entrada oculta que permite acceder al sitio web sin ser detectado por los métodos de seguridad convencionales.
Cómo identificar la presencia de una puerta trasera en WordPress
Existen varias formas de detectar la presencia de una puerta trasera en tu sitio de WordPress:
- Recibes notificaciones de que tu sitio web ha sido hackeado por servicios como Google Safe Browsing, Google Search Console o tu proveedor de hosting, lo cual en algunos casos puede impedir que los visitantes accedan a tu sitio.
- De repente, tu sitio web presenta comportamientos extraños, como un consumo excesivo de recursos del servidor, una caída significativa en el tráfico, una disminución notable en la indexación en Google, la imposibilidad de acceder al panel de administración, la aparición de nuevos usuarios con permisos de administrador, entre otros.
- Utilizando herramientas de detección de intrusiones, como Sucuri SiteCheck.
- Mediante el uso de un plugin de seguridad confiable para WordPress, aunque en algunas ocasiones puede resultar difícil acceder al panel de administración.
Por supuesto, la mejor forma de detectar una puerta trasera en tu sitio de WordPress es de manera preventiva, utilizando una herramienta de detección antes de que se manifiesten efectos no deseados.

En qué lugares se esconden las puertas traseras en WordPress
Existen varios lugares comunes en una instalación de WordPress donde las puertas traseras pueden ocultarse. Basado en mi experiencia, estos son los más habituales:
- Temas WordPress \»premium\»: A menudo, los temas premium descargados de fuentes no confiables pueden incluir archivos que funcionan como puertas traseras. Estos archivos pueden agregar enlaces, mostrar contenido no deseado en el sitio e incluso realizar actividades como la minería de criptomonedas.
- Plugins \»premium\»: Al igual que con los temas, los plugins \»premium\», especialmente aquellos obtenidos de fuentes no confiables o utilizados en su versión \»nulled\», pueden ser propensos a la inyección de puertas traseras y otros tipos de malware.
- Plugins \»nuevos\»: En ocasiones, las puertas traseras se pueden agregar como un plugin más en la estructura de carpetas, aunque no aparezcan en la lista de plugins o no sean visibles en el panel de administración. Estos plugins ocultos pueden tener nombres como \»mega-cache\», \»incache\» o \»security-patch\» y pueden parecer carpetas de plugins legítimos.
- Carpeta \»uploads\»: La carpeta \»uploads\» suele contener una gran cantidad de archivos, organizados en subcarpetas, y puede ser fácil para un hacker agregar archivos o directorios completos sin ser detectados, incluso por usuarios avanzados.
- Carpetas \»wp-admin\» y \»wp-includes\»: Estas carpetas son parte del sistema de WordPress y generalmente no se modifican ni se agregan archivos, excepto durante los procesos automáticos de actualización. Por esta razón, los hackers pueden encontrar atractivo agregar archivos o carpetas que funcionen como puertas traseras en estas ubicaciones, ya que es poco probable que los administradores del sitio revisen estas carpetas.
- Archivo \»wp-config.php\»: El archivo de configuración de WordPress, accesible para escritura por defecto, es otro lugar común para agregar código malicioso que actúe como una puerta trasera. Aunque algunos plugins pueden necesitar modificar este archivo, también representa un posible punto vulnerable.
- Archivo \».htaccess\»: Este archivo de configuración del servidor (Apache), utilizado por WordPress y muchos plugins para mejorar el rendimiento y la seguridad, también puede ser un objetivo para agregar código malicioso debido a sus permisos de escritura.
- Archivos con extensiones \».php\» y \».js\»: Cualquier archivo con estas extensiones alojado en los directorios de la instalación de WordPress, con los permisos de archivo predeterminados, puede ser susceptible a inyecciones de código malicioso. Algunos de los archivos más comunes que suelen ser comprometidos son \»index.php\» y \»wp-blog-header.php\» en la carpeta raíz de la instalación de WordPress.
- Otros archivos: La imaginación de los hackers no tiene límites y se han encontrado casos de malware en archivos con extensiones como \».tmp\» (archivos temporales) e incluso en archivos comprimidos \\\\\\\».zip\\\\\\\». La regla general es no dar nada por sentado y sospechar de todo.
Como puedes ver, identificar las puertas traseras no es una tarea fácil. Los hackers utilizan técnicas de ingeniería social para engañar y utilizan nombres de archivo que no parecen sospechosos en ubicaciones que normalmente no consideraríamos peligrosas.
¿Y en la base de datos?
¿Te sorprende que no haya mencionado a la base de datos como una posible vía de entrada para las puertas traseras? No debería ser así, ya que aunque un malware o una puerta trasera pueden almacenar información no deseada en la base de datos (como nuevos usuarios, contenido no deseado, enlaces, etc.), rara vez la base de datos es la puerta de entrada.
Esto se debe a que la base de datos suele estar más protegida que el sistema de archivos. Es responsabilidad del proveedor de hosting, no es fácilmente accesible desde un navegador y, sobre todo, cualquier hacker sabe que el eslabón más débil es el usuario, el propietario del sitio web. Aunque su objetivo final sea acceder a la base de datos, sabe que siempre encontrará vulnerabilidades a través de fallas del usuario, como la falta de actualizaciones o el uso de contraseñas débiles.
Existen diversas formas de eliminar una puerta trasera en WordPress.
Una vez que entendemos qué es una puerta trasera, cómo detectarla y dónde suele ocultarse, si nos encontramos en la desafortunada situación de haber sido infectados, es crucial aplicar un plan de acción rápido, sistemático y exhaustivo para eliminarla de nuestro sitio web lo antes posible. De esta manera, evitaremos que cause daños graves a nuestro SEO, robo de datos o daños a nuestra reputación.
Copias de seguridad
Nunca valoramos lo importante que es hacer copias de seguridad frecuentes hasta que nos encontramos en la situación de necesitarlas y no tenerlas a mano. Es cierto, no insisto en hacer copias de seguridad por capricho, sino por preocupación y porque he experimentado las consecuencias de no tenerlas cuando era imprudente y vivía al límite, sin red de seguridad.
Restaurar una copia de seguridad limpia debería ser siempre nuestra primera opción. Sin embargo, esto no siempre es factible, ya sea porque desconocemos cuándo ocurrió la infección o porque ha pasado tanto tiempo desde que nos infectaron que perderíamos una gran cantidad de contenido, pedidos, etc., al restaurar una copia de seguridad demasiado antigua.
En cualquier caso, si eres una persona disciplinada y cuentas con copias de seguridad recientes, el primer paso sería restaurar la última copia limpia. Luego, procede a analizar si el sitio web está libre de infecciones y, finalmente, fortalecer la seguridad de manera sólida y confiable.
En todos los escenarios, ya sea que cuentes con una copia de seguridad o no, siempre es recomendable seguir los siguientes pasos para asegurarte de que todo esté limpio o en caso de duda:
Elimina el archivo .htaccess
No es necesario revisarlo, simplemente bórralo. Cualquier configuración que haya sido añadida por WordPress o plugins se regenerará automáticamente cuando sea necesario.
Verifica el archivo wp-config.php
Compara el archivo wp-config.php con el archivo wp-config-sample.php que se encuentra en la misma carpeta, o utiliza una copia conocida y limpia. Si encuentras líneas adicionales que no reconoces como parte de plugins legítimos, elimínalas sin dudarlo.
Adicionalmente, para limpiar las cookies de sesión y desconectar a todos los usuarios, puedes cambiar las claves SALT.
Recuerda seguir estos pasos como medida adicional para asegurarte de que tu sitio esté limpio y seguro.
Elimina todos los plugins
Accede a la carpeta /wp-content/plugins/ y elimina todas las carpetas y archivos que se encuentren en ella. Más adelante podrás reinstalar versiones limpias y actualizadas de los plugins que necesites. Si prefieres, puedes conservar el archivo index.php de esta carpeta, siempre y cuando su contenido sea exclusivamente el siguiente:
// Silence is golden.
En cada carpeta de contenido (/wp-content/), encontrarás un archivo similar que tiene como objetivo evitar, en la medida de lo posible, mostrar el listado de su contenido.
Elimina todos los temas
Dirígete a la carpeta /wp-content/themes/ y, al igual que con los plugins, elimina todas las carpetas y archivos que se encuentren allí por la misma razón. Una vez estés seguro de que toda la instalación está libre de amenazas, podrás subir el tema (limpio) que utilices en tu sitio web.
Elimina todo lo innecesario de la carpeta de subidas
Dentro de la carpeta /wp-content/uploads/, inicialmente, solo debería existir un archivo index.php, como mencioné anteriormente, y una serie de directorios numerados por año, dentro de los cuales habrá subcarpetas numeradas por meses, por ejemplo, /wp-content/uploads/2023/05/. Dentro de cada carpeta de mes, solo deberían encontrarse archivos de imágenes, videos o, en algunos casos, documentos que hayas subido para ilustrar tus entradas y páginas utilizando el cargador de archivos del editor de WordPress.
Cualquier archivo PHP u otro tipo de archivo presente en estas carpetas es sospechoso, por lo tanto, debes eliminarlos todos, al igual que cualquier carpeta que encuentres que no corresponda a los años. Puede haber diversas carpetas, como las de caché o configuraciones teóricas de plugins, y podrían ser decenas. No te preocupes, si un plugin requiere agregar algún archivo o carpeta aquí, se volverá a crear cuando lo instales y configures, asegurándote de que sea una copia limpia.
Realiza el cambio de todas las contraseñas
Antes de continuar, es importante que cambies todas las contraseñas siguientes:
- Usuario de la base de datos: Actualiza la contraseña del usuario de la base de datos y asegúrate de reflejar el cambio en el archivo wp-config.php.
- Usuarios de FTP: Cambia las contraseñas de todos los usuarios de FTP, no limitándote solo al tuyo.
- Panel de control del hosting: Modifica la contraseña del panel de control de tu proveedor de hosting.
- Cuenta de usuario del hosting: Actualiza la contraseña de tu cuenta de usuario del hosting.
- Cuentas de correo electrónico: Cambia las contraseñas de todas las cuentas de correo electrónico vinculadas a tu sitio.
- Usuarios de WordPress: Accede a la base de datos y actualiza las contraseñas de todos los usuarios registrados en tu sitio de WordPress.
Además, te sugiero enfáticamente que implementes la autenticación de doble factor en todas las áreas posibles, como correos electrónicos, acceso al hosting, entre otros.
Restaurar todo
Ahora es el momento de restaurar todo lo que hemos eliminado utilizando copias limpias:
- Plugins
- Temas
- Archivo
wp-config.php
- Carpetas
wp-admin
ywp-includes
más los archivos sueltos de un WordPress limpio recién descargado.
Puedes cargar las copias nuevas utilizando el gestor de archivos del panel de hosting o mediante FTP, según tu preferencia.
Realiza otro análisis de tu sitio web
Una vez hayas reemplazado todo con copias limpias, realiza otra revisión de tu sitio web para asegurarte de que no hay archivos o carpetas infectadas.
Si aún encuentras algo sin limpiar, significa que omitiste un paso completo o parte de él, por lo que debes tomártelo en serio y volver al principio. En seguridad, no se puede hacer las cosas a medias.
Si ya has confirmado que está limpio… sigue leyendo, aún no has terminado.
Incrementa la seguridad
Es el momento de fortalecer la seguridad de tu sitio web lo más pronto posible. Yo recomiendo seguir estos simples pasos:
- Considera cambiar de proveedor de hosting si es necesario. Elige uno que garantice un firewall confiable, software y hardware siempre actualizados.
- Instala y configura adecuadamente un plugin de seguridad confiable.
- Agrega un sólido cortafuegos para proteger tu sitio web.
- Implementa medidas de seguridad para proteger tus archivos y carpetas de posibles amenazas.
- Establece programaciones regulares de copias de seguridad para prevenir futuros inconvenientes.
100% Seguridad
¿Alguna vez has leído en algún lugar que alguien pueda asegurarte al 100% la seguridad de tu sitio web? No lo creas, eso es falso. Un hacker con suficiente tiempo y conocimientos siempre podrá superar cualquier medida de seguridad. Nuestra misión es tratar de prevenir ataques indiscriminados de piratas informáticos novatos o poco especializados, dificultarles el acceso y, sobre todo, reaccionar de manera rápida y oportuna para recuperar tu sitio web.
En nuestro servicio de mantenimiento web, rara vez ocurre que un cliente vea su sitio web infectado. Sin embargo, en caso de que ocurra, nos aseguramos de enterarnos el mismo día y siempre tenemos copias de seguridad limpias suficientes para restaurar el sitio en cuestión de minutos, lo cual es lo más importante.
Si no te sientes cómodo realizando estas tareas por ti mismo y simplemente deseas recuperar el sitio web de tu marca o negocio, no te preocupes. Si no tienes los conocimientos o la confianza suficiente, siempre puedes contratar a profesionales especializados en seguridad web y WordPress que se encarguen de ello por ti. Contratar a expertos en este campo es más económico de lo que puedas imaginar.
Además, una vez que tu sitio web esté limpio, te recomendaría contratar un servicio de mantenimiento WordPress que se encargue de vigilar y resolver este tipo de problemas en el futuro, permitiéndote centrarte en tu negocio.