Cómo encontrar una puerta trasera en un sitio Hacked WordPress y arreglarlo

Una y otra vez, hemos ayudado a los usuarios a arreglar sus sitios de WordPress pirateados. La mayor parte del tiempo cuando se acercan a nosotros, ya han limpiado el sitio, y el hacker fue capaz de volver a entrar. Esto sucede si usted no lo limpió correctamente, o si no sabía lo que estaba buscando. En la mayoría de los casos que encontramos, había una puerta trasera creada por el hacker que les permitía evitar la autenticación normal. En este artículo, le mostraremos cómo encontrar una puerta trasera en un sitio de WordPress pirateado y arreglarlo.

¿Qué es un Backdoor?

La puerta trasera se refiere a un método para evitar la autenticación normal y obtener la capacidad de acceder de forma remota al servidor sin ser detectado. La mayoría de los hackers inteligentes siempre cargan la puerta trasera como la primera cosa. Esto les permite recuperar el acceso incluso después de encontrar y eliminar el plugin explotado. Las puertas traseras a menudo sobreviven a las actualizaciones, por lo que su sitio es vulnerable hasta que usted limpie este desastre.

Algunas puertas traseras simplemente permiten a los usuarios crear un nombre de usuario de administrador oculto. Mientras que las puertas traseras más complejas pueden permitir al hacker ejecutar cualquier código PHP enviado desde el navegador. Otros tienen una interfaz de usuario completa que les permite enviar correos electrónicos como su servidor, ejecutar consultas SQL y todo lo demás que quieran hacer.

¿Dónde está escondido este Código?

Las puertas traseras en una instalación de WordPress se almacenan más comúnmente en las siguientes ubicaciones:

  1. Temas – Lo más probable es que no esté en el tema actual que está usando. Los hackers quieren que el código sobreviva a las actualizaciones del núcleo. Así que si tienes el viejo tema de Kubrick en tu directorio de temas, u otro tema inactivo, entonces los códigos probablemente estarán ahí. Por eso recomendamos borrar todos los temas inactivos.
  2. Plugins – Los plugins son un gran lugar para que el hacker esconda el código por tres razones. Una porque la gente no los mira. Dos porque a la gente no le gusta actualizar sus plugins, así que sobreviven a las actualizaciones (la gente los mantiene actualizados). Tres, hay algunos plugins mal codificados que probablemente tienen sus propias vulnerabilidades para empezar.
  3. Directorio de Subidas – Como blogger, nunca revisas tu directorio de subidas. ¿Por qué lo harías? Simplemente sube la imagen y úsala en tu mensaje. Probablemente tienes miles de imágenes en la carpeta de subidas divididas por año y mes. Es muy fácil para el hacker subir una puerta trasera en la carpeta uploads porque se esconderá entre miles de archivos multimedia. Además, no lo revisas regularmente. La mayoría de la gente no tiene un plugin de monitorización como Sucuri. Por último, el directorio uploads es escribible, por lo que puede funcionar de la forma en que se supone que debe hacerlo. Esto lo convierte en un gran objetivo. Muchas de las puertas traseras que encontramos están ahí.
  4. wp-config.php – Este es también uno de los archivos más buscados por los hackers. También es uno de los primeros lugares donde a la mayoría de la gente se le dice que busque.
  5. Includes Folder – /wp-includes/ folder es otro lugar donde encontramos puertas traseras. Algunos hackers siempre dejan más de un archivo de puerta trasera. Una vez que suben una, añadirán otra copia de seguridad para asegurar su acceso. Includes es otra carpeta donde la mayoría de la gente no se molesta en mirar.

En todos los casos que encontramos, la puerta trasera estaba disfrazada para que pareciera un archivo de WordPress.

Por ejemplo: en un sitio que limpiamos, la puerta trasera estaba en la carpeta wp-includes, y se llamaba wp-user.php (esto no existe en la instalación normal). Existe user.php, pero no wp-user.php en la carpeta /wp-includes/. En otro caso, encontramos un archivo php llamado hello.php en la carpeta uploads. Estaba disfrazado como el plugin Hello Dolly. ¿Pero por qué diablos está en la carpeta de subidas? D’oh.

También puede usar nombres como wp-content.old.tmp, data.php, php5.php, o algo así. No tiene que terminar con PHP sólo porque tenga código PHP. También puede ser un archivo.zip. En la mayoría de los casos, estos archivos están codificados con código base64 que normalmente realizan todas las operaciones de clasificación (es decir, añadir enlaces de spam, añadir páginas adicionales, redirigir el sitio principal a páginas spammy, etc.).

Ahora probablemente estás pensando que WordPress es inseguro porque permite puertas traseras. Estás MUERTO DE MUERTE. La versión actual de WordPress no tiene vulnerabilidades conocidas. Las puertas traseras no son el primer paso del hacker. Normalmente es el segundo paso. A menudo los hackers encuentran un exploit en un plugin o script de terceros que les da acceso para cargar la puerta trasera. Sugerencia: el hackeo de TimThumb. Pero puede ser todo tipo de cosas. Por ejemplo, un plugin mal codificado puede permitir la escalada de privilegios de usuario. Si su sitio tenía registros abiertos, el hacker puede registrarse gratuitamente. Explotar la única característica para obtener más privilegios (lo que les permite subir los archivos). En otros casos, es muy posible que sus credenciales se hayan visto comprometidas. También podría ser que estuvieras usando un mal proveedor de hosting. Vea nuestra lista recomendada de alojamiento web.

¿Cómo encontrar y limpiar la puerta trasera?

Ahora que sabes lo que es una puerta trasera, y dónde se puede encontrar. Tienes que empezar a buscarlo. La limpieza es tan fácil como borrar el archivo o el código. Sin embargo, la parte difícil es encontrarla. Puede empezar con uno de los siguientes plugins de escáner de malware de WordPress. De ellos, recomendamos Sucuri (sí, se paga).

También puede usar el Exploit Scanner, pero recuerde que en los plugins también se utilizan los códigos base64 y eval. Así que a veces se obtendrán muchos falsos positivos. Si usted no es el desarrollador de los plugins, entonces es realmente difícil para usted saber qué código está fuera de su lugar en las miles de líneas de código. Lo mejor que puedes hacer es borrar tu directorio de plugins y reinstalar tus plugins desde cero. Sí, esta es la única manera de estar seguro a menos que tengas mucho tiempo para gastar.

Buscar en el directorio de cargas

Uno de los plugins del escáner encontrará un archivo falso en la carpeta uploads. Pero si está familiarizado con SSH, sólo tiene que escribir el siguiente comando:

1encontrar uploads -nombre «*.php» -imprimir

No hay una buena razón para que un archivo.php esté en su carpeta de subidas. La carpeta está diseñada para archivos multimedia en la mayoría de los casos. Si hay un archivo.php que está ahí, tiene que ir.

Eliminar temas inactivos

Como mencionamos anteriormente, a menudo los temas inactivos son tratados. Lo mejor que puedes hacer es borrarlos (yup esto incluye el tema por defecto y el clásico). Pero espera, no comprobé si la puerta trasera estaba ahí. Si lo fue, entonces ya no está. Acabas de salvar tu tiempo de mirar, y has eliminado un punto de ataque extra.

Archivo.htaccess

A veces los códigos de redirección se añaden allí. Simplemente borre el archivo, y se recreará solo. Si no es así, ve al panel de administración de WordPress. Ajustes » Enlaces permanentes. Haga clic en el botón de guardar allí. Recreará el archivo.htaccess.

Archivo wp-config.php

Compare este archivo con el archivo wp-config-sample.php por defecto. Si ves algo que está fuera de lugar, entonces deshazte de él.

Exploración de la base de datos en busca de vulnerabilidades y SPAM

Un hacker inteligente nunca tendrá un solo lugar seguro. Crean numerosos. Apuntar a una base de datos llena de datos es un truco muy fácil. Pueden almacenar sus malas funciones PHP, nuevas cuentas administrativas, enlaces de SPAM, etc. en la base de datos. Sí, a veces no verás al usuario administrador en tu página de usuario. Verás que hay 3 usuarios, y sólo puedes ver 2. Lo más probable es que hayas sido hackeado.

Si no sabe lo que está haciendo con SQL, entonces probablemente quiera que uno de estos escáneres haga el trabajo por usted. Exploit Scanner plugin o Sucuri (versión de pago) se encarga de eso.

¿Crees que lo has limpiado? Piénsalo de nuevo!

Muy bien, el hacker se ha ido. Uf. Espera, no te relajes todavía. Abra su navegador de incógnito para ver si el hacker vuelve. A veces, estos hackers son listos. No mostrarán el hacker a los usuarios conectados. Sólo los usuarios desconectados lo ven. O mejor aún, intenta cambiar el useragent de tu navegador como Google. A veces, los hackers sólo quieren apuntar a los motores de búsqueda. Si todo se ve bien, entonces estás listo para irte.

Sólo para tu información: si quieres estar 100% seguro de que no hay ningún hacker, entonces borra tu sitio. Y restaurarlo hasta el punto de que sepas que el hacker no estaba allí. Esto puede no ser una opción para todos, así que tienes que vivir al límite.

¿Cómo prevenir las piruetas en el futuro?

Nuestro consejo #1 sería mantener copias de seguridad sólidas (VaultPress o BackupBuddy) y empezar a usar un servicio de monitoreo. Como dijimos antes, no es posible que usted pueda monitorear todo lo que sucede en su sitio cuando está haciendo toneladas de otras cosas. Es por eso que usamos Sucuri. Puede sonar como que los estamos promoviendo. Pero no lo somos. Sí, recibimos una comisión de afiliación de todos los que se inscriben en Sucuri, pero esa no es la razón por la que la recomendamos. Sólo recomendamos productos que usamos y que son de calidad. Publicaciones importantes como CNN, USAToday, PC World, TechCrunch, TheNextWeb, y otras también están recomendando a estos tipos. Es porque son buenos en lo que hacen.

Lea nuestro artículo sobre 5 razones por las que usamos Sucuri para mejorar nuestra seguridad en WordPress

Hay otras cosas que puedes hacer:

  1. Usar contraseñas seguras – Forzar contraseñas seguras a los usuarios. Empiece a utilizar una utilidad de administración de contraseñas como 1Password.
  2. Autenticación de 2 pasos – Si su contraseña se ve comprometida, el usuario aún necesita tener el código de verificación de su teléfono.
  3. Limitar intentos de inicio de sesión – Este plugin le permite bloquear al usuario después de X números de intentos de inicio de sesión fallidos.
  4. Desactivar editores de temas y plugins – Esto evita problemas de escalada de usuarios. Incluso si los privilegios del usuario se incrementaran, no podrían modificar el tema o los plugins utilizando el Administrador de WP.
  5. Proteger con contraseña WP-Admin – Puede proteger con contraseña todo el directorio. También puede limitar el acceso por IP.
  6. Desactivar la ejecución de PHP en ciertos directorios de WordPress – Esto desactiva la ejecución de PHP en los directorios de carga y otros directorios de su elección. Básicamente, aunque alguien pudiera subir el archivo a su carpeta de uploads, no podría ejecutarlo.
  7. Manténgase al día – Ejecute la última versión de WordPress y actualice sus plugins.

Por último, no sea tacaño cuando se trata de seguridad. Siempre decimos que la mejor medida de seguridad son las copias de seguridad. Por favor, por favor, por favor, mantenga buenas copias de seguridad periódicas de su sitio. La mayoría de las compañías de hospedaje NO hacen esto por usted. Comenzar a utilizar una solución fiable como BackupBuddy o VaultPress. De esta manera, si alguna vez te piratean, siempre tendrás un punto de restauración. También si puedes, consigue a Sucuri y ahórrate todos los problemas. Ellos monitorearán su sitio y lo limpiarán si alguna vez lo piratean. Resultó ser como $3 por mes por sitio si obtienes el plan de 5 sitios.

Esperamos que este artículo le haya ayudado. No dudes en dejar un comentario a continuación si tienes algo que añadir

Valora el post

Deja un comentario