Saltar al contenido
Blindea.
Todos los recursos
#backdoors#seguridad#woocommerce#prestashop

Qué es un backdoor y por qué tu plugin no lo detecta

Un backdoor es la puerta trasera que deja el atacante para volver a entrar. Te explicamos dónde se esconde y por qué tu plugin de seguridad no lo ve.

Por Blindea

Has limpiado tu tienda, has cambiado las contraseñas y a los pocos días vuelve a estar infectada. Casi siempre la culpa la tiene lo mismo: un backdoor que nadie llegó a encontrar. En esta guía te explicamos, en lenguaje llano, qué es esa puerta trasera, dónde se esconde y por qué el plugin de seguridad que tienes instalado no puede verla.

Qué es un backdoor (y por qué da tanto miedo)

Un backdoor —puerta trasera en español— es un trozo de código que el atacante deja escondido en tu tienda para poder volver a entrar cuando quiera, sin usar tu usuario ni tu contraseña. Es la diferencia entre un ladrón que entra una vez y otro que se ha hecho una copia de tu llave.

Lo importante es esto: aunque quites el malware visible (la redirección a la web de pastillas, el spam que sale en Google), si queda el backdoor el atacante vuelve a entrar en horas y lo reinstala todo. Por eso una tienda “limpiada” se reinfecta. Y no es un caso raro: el 49% de las webs comprometidas tenía al menos un backdoor (Sucuri, Hacked Website Report 2023).

Dónde se esconde una puerta trasera

Aquí está la clave del problema: un backdoor no es un archivo con un cartel que diga “malware”. Está diseñado para pasar desapercibido, y se esconde en sitios donde casi nadie mira:

  • Archivos ofuscados. Código PHP hecho ilegible a propósito —lleno de funciones como eval, base64_decode o gzinflate— para que parezca ruido sin sentido y no una instrucción maliciosa.
  • Dentro de archivos legítimos. En lugar de crear un fichero nuevo, el atacante inyecta unas líneas en un archivo real del núcleo, de un plugin o del tema. A simple vista, el archivo parece el de siempre.
  • En la carpeta de subidas (uploads). Es una carpeta pensada para imágenes, no para código. Un archivo .php colado ahí pasa inadvertido con facilidad.
  • En la base de datos. El código malicioso puede vivir en la propia base de datos: en las opciones del sitio, en un widget, en la cabecera de la plantilla o inyectado en el contenido. Ahí no hay ningún fichero que borrar.
  • En tareas programadas (cron). El atacante deja una tarea que se ejecuta sola cada cierto tiempo y reinstala el malware. Puedes borrar todo lo visible: a medianoche vuelve.
  • En usuarios y credenciales. Un administrador nuevo que no creaste, o una clave de API o de acceso al servidor añadida por el atacante, es otra puerta abierta que sobrevive a la limpieza de archivos.

Un ataque serio no deja una sola puerta: deja varias, repartidas en sitios distintos, para asegurarse de que si encuentras una, le quedan las demás.

Por qué tu tienda se reinfecta si solo limpias lo visible

Limpiar únicamente lo que se ve —quitar la redirección, borrar el archivo raro que te señaló el hosting— es como achicar el agua de una barca sin tapar el agujero. Mientras siga en pie una sola puerta trasera, o mientras no se cierre la vía por la que entraron (un plugin desactualizado, una contraseña filtrada), el atacante vuelve.

Lo desarrollamos con más detalle en nuestra guía sobre por qué vuelve la infección: la reinfección casi nunca es mala suerte, es una limpieza incompleta. Y si todavía no estás seguro de que tu tienda esté comprometida, repasa las señales de una tienda hackeada.

Por qué tu plugin de seguridad no lo detecta

Aquí está el punto que da nombre a este artículo. Un plugin de seguridad (Wordfence, Sucuri, iThemes y similares) es útil, pero arrastra un límite de nacimiento: se ejecuta desde dentro de WordPress. Y eso le impide ver buena parte del terreno.

  • No mira por debajo de WordPress. Un plugin solo ve lo que WordPress le deja ver. La configuración del servidor, los procesos del sistema, las tareas cron del sistema operativo o los archivos que están fuera de la instalación quedan fuera de su alcance.
  • Compara contra una lista de amenazas conocidas. Un backdoor nuevo o bien ofuscado no aparece en esa lista, así que el escáner lo lee como código normal y lo deja pasar.
  • Si el atacante entró antes, puede haberlo cegado. Cuando el malware ya está dentro con permisos de administrador, puede excluirse a sí mismo de los análisis, desactivar el plugin o falsear sus resultados. Es como preguntarle al zorro si hay algo raro en el gallinero.
  • No juzga el contexto. Un plugin no sabe si esas cinco líneas dentro de functions.php las pusiste tú o un atacante. Una persona que audita el código, sí.

Esto no significa que un plugin no sirva: sirve como capa de aviso y como parte del blindaje. Significa que no basta para dar una tienda por limpia.

Cómo se limpia de verdad

Sacar todas las puertas traseras obliga a mirar donde el plugin no llega: a nivel de servidor. En la práctica, esto es:

  1. Revisar todos los archivos comparándolos con las versiones originales, no solo los que salta un escáner.
  2. Auditar la base de datos en busca de código inyectado.
  3. Revisar cron, usuarios, permisos y logs del servidor.
  4. Cerrar la vía de entrada (actualizar y endurecer) para que no vuelvan a entrar por el mismo sitio.

Es exactamente el enfoque con el que trabajamos en Blindea: limpieza a nivel de servidor, no solo un plugin, con los 20 años de oficio en servidores PHP de la persona que dirige Blindea detrás. Si quieres ver el proceso paso a paso, lo contamos en Cómo funciona. Y para que una tienda ya limpia no vuelva a caer, existe el mantenimiento continuo de la Guardia gestionada.

En resumen

Un backdoor es una copia de la llave que el atacante se guarda. Se esconde en archivos ofuscados, dentro de ficheros legítimos, en uploads, en la base de datos y en tareas programadas. Un plugin, por diseño, no puede verlo todo desde dentro de WordPress: por eso las limpiezas superficiales se reinfectan.

Si sospechas que tu tienda tiene un backdoor —o ya se te ha reinfectado una vez—, pide un diagnóstico. Respondemos en menos de 2 horas laborables y toda limpieza lleva 30 días de garantía. Cuéntanos qué le pasa según tu tienda: WooCommerce, PrestaShop o cualquier tienda hackeada.

¿Tu tienda está comprometida?

Diagnóstico gratis y respuesta en menos de 2 horas.

Pedir ayuda urgente