Las copias de seguridad de WordPress pueden ser su mayor debilidad

Las copias de seguridad de Wordpress pueden ser su mayor debilidad
Fecha: 29 de noviembre de 2022

Los archivos de configuración existen para facilitar la vida de los desarrolladores y operadores de sitios web. En un mundo sin archivos de configuración, cada instancia de código que dependiera de una conexión de base de datos podría requerir que los detalles de la conexión se codifiquen o se ingresen manualmente. 

Otros datos reutilizables se definirían varias veces, lo que provocaría un exceso de código y posibles problemas de rendimiento. Incluso hacer cambios en un sitio web podría ser una tarea tediosa de rastrear exactamente dónde se guardan los detalles de configuración y actualizar todas las instancias. 

Los archivos de configuración son un gran recurso para mantener un sitio web con facilidad, pero también son un recurso común para los actores malintencionados.

Datos confidenciales en los archivos de configuración de WordPress

WordPress incluye un archivo central llamado wp-config.php que define las credenciales de la base de datos, las claves secretas, el prefijo de la tabla de la base de datos que se usará y las rutas de archivo requeridas. Es conveniente definirlos en un archivo de configuración, pero si un actor malintencionado puede obtener el archivo wp-config.php, entonces tiene mucha información que puede conducir al robo de datos e incluso a la toma de control del sitio. 

En WordPress, el contenido del sitio web se almacena en la base de datos, incluidos los detalles de usuario para administradores y otras funciones. Este archivo está protegido de forma predeterminada en WordPress, pero ¿qué sucede cuando necesita cambiar algunos detalles menores en el archivo y realiza una copia de seguridad con un nombre diferente, pero lo deja en un directorio accesible desde la web?

Echemos un vistazo a los detalles de la base de datos incluidos en el archivo wp-config.php. Lo que se define aquí es el nombre de la base de datos, el nombre del usuario de la base de datos, así como la contraseña asociada, el nombre de host para la ubicación de la base de datos y el juego de caracteres y la intercalación predeterminados. 

Si no existen otras protecciones en el servidor de la base de datos, como la restricción de IP, esta información puede brindarle a un actor malicioso todo lo que necesita para acceder a la base de datos. Con el acceso a la base de datos sin restricciones, pueden insertar nuevos usuarios administradores, lo que a su vez les brinda acceso sin restricciones al sitio web y a todos sus datos de back-end.

Errores comunes de copia de seguridad

Una forma común de hacer una copia de seguridad del archivo wp-config.php es hacer una copia del archivo y agregar una nueva extensión de archivo como .txt, .bak o .html al final del nombre del archivo. Esta es una forma rápida de hacer una copia de seguridad y asegurarse de que esté disponible para reactivarla cambiando el nombre del archivo al original. El problema es que dejar estos archivos en un directorio accesible desde la web hace que sea relativamente sencillo para los actores malintencionados encontrar los datos confidenciales contenidos en el archivo.

Digamos que el archivo se actualiza para cambiar la ruta absoluta del sitio web de WordPress, con la copia de seguridad original como wp-config.php.html. Si va al archivo de copia de seguridad directamente en un navegador, obtendrá una página en blanco. Esto parece inofensivo y seguro, pero también brinda la información de que el archivo existe, solo que sin ningún código HTML real para mostrar el contenido en la pantalla. Si, en cambio, se llama a la página mediante un comando cURL desde una terminal, se mostrará el contenido del archivo.

Si el archivo está respaldado como wp-config.php.bak, el navegador descargará el archivo cuando se cargue, y si el archivo está respaldado como wp-config.php.txt, el contenido se mostrará directamente en el navegador.

Sondeo de copia de seguridad de configuración

Hay varias técnicas que se utilizan para sondear las copias de seguridad de los archivos de configuración. Una técnica simple es usar lo que se conoce como tontos de Google. Esta técnica hace uso de la funcionalidad de búsqueda integrada en Google y otros motores de búsqueda. 

Por ejemplo, la frase de búsqueda inurl:wp-config.php intext:DB_PASSWORD arrojará resultados para los archivos que contienen wp-config.php dentro de la URL que también contienen DB_PASSWORD en el cuerpo del archivo que se carga. 

Los actores malintencionados también suelen automatizar el proceso de búsqueda de archivos de configuración de copia de seguridad con el uso de scripts y herramientas prediseñadas. El uso de alguna forma de automatización para encontrar estos archivos hace que el proceso sea mucho más eficiente.

Buscar copias de seguridad del archivo wp-config.php es una práctica muy común. De hecho, es tan común que el cortafuegos de Wordfence ha rastreado 70 408 576 intentos de localizar estas copias de seguridad solo en los últimos 30 días.

En estos datos, identificamos cuatro escáneres de tiempo de actividad legítimos que se estaban utilizando para encontrar este archivo. Lo que pasa con estos escáneres es que no son caros, y dos de ellos incluso tienen versiones gratuitas disponibles. 

Debido a que no hay una razón legítima para buscar copias de seguridad del archivo wp-config.php, parece que los actores maliciosos han determinado que los recursos necesarios para usar estos escáneres se ven superados por los beneficios de implementar una solución legítima conocida para fines nefastos. 

Estos escáneres representan un poco más de 6,5 millones de intentos de localizar las copias de seguridad del archivo wp-config.php.

Las siguientes son las diez principales direcciones IP que hemos bloqueado para que no busquen copias de seguridad de wp-config.php.

  • 3.69.53.252 con 3953193 intentos
  • 3.71.111.191 con 2165519 intentos
  • 52.59.9.15 con 1726745 intentos
  • 35.83.251.89 con 1707670 intentos
  • 3.96.219.221 con 1645568 intentos
  • 35.182.107.115 con 1553854 intentos
  • 34.240.248.60 con 1526032 intentos
  • 50.16.69.90 con 1065868 intentos
  • 3.99.130.127 con 952639 intentos
  • 35.91.211.91 con 789722 intentos

Todos estos están registrados en Amazon y están repartidos por todo el mundo, lo cual no es raro. Los actores de amenazas a menudo usarán servidores en cualquier ubicación que les pueda ser útil, especialmente si hay una ubicación conocida por permitir (o al menos hacer la vista gorda) el tipo de actividad para la que usarán el servidor.

Conclusión

Al observar los datos recopilados en los últimos 30 días, queda claro que la búsqueda de archivos de configuración como wp-config.php está muy extendida entre los actores malintencionados. Las credenciales de la base de datos por sí solas pueden resultar increíblemente valiosas para cualquiera que tenga la intención de hacerse cargo de un sitio web. 

Con más del 40% de los sitios web actuales que ejecutan WordPress, esto hace que encontrar archivos wp-config.php sea aún más valioso, ya que solo requiere el conocimiento de un único sistema de administración de contenido (CMS).

Wordfence Scanner incluye una opción para «Buscar archivos de registro, copia de seguridad o configuración de acceso público» que le avisará si hay archivos de registro, copia de seguridad o configuración de acceso público en el directorio de su sitio. 

Esta configuración está habilitada en un escaneo estándar y también se puede verificar para escaneos personalizados. Si recibió resultados que indican que tiene un archivo confidencial de acceso público, le recomendamos que lo elimine del directorio de acceso público de inmediato.

Noticias Recientes

Copilot, el mayor cambio en la historia Windows

A lo largo de sus casi 40 años de vida, el sistema operativo Microsoft Windows ha cambiado mucho. Sin embargo, ninguna actualización alcanzó el impacto que puede tener Copilot. Quienes tuvieron la suerte de tener un ordenador personal en casa durante la década de 1990...