¿Qué es el cruce de directorios?

Publicado: 2023-05-09

Al engañar a un servidor web para que exponga información restringida, los atacantes pueden obtener una herramienta poderosa para comprometer un sistema y causar un daño significativo. El cruce de directorios es un método común utilizado para lograr esto. Un intento de navegar fuera de las áreas del sistema de archivos reservadas para un sitio web en particular puede provocar el robo de datos y la ejecución de código arbitrario.

Por lo general, los servidores web restringen el acceso al sistema de archivos al confinar los archivos de un sitio web dentro de su directorio raíz, también conocido como la carpeta raíz del documento. Sin embargo, los ciberdelincuentes pueden eludir estos controles de seguridad y explotar permisos de archivos inseguros. De esta forma, pueden obtener acceso no autorizado a información crítica almacenada en otro lugar del servidor de la víctima.

Las vulnerabilidades de inclusión de archivos, identificadas regularmente en complementos y temas, hacen que los sitios web de WordPress sean un objetivo de alta prioridad para los ataques que involucran el cruce de directorios. Y si bien la implementación de prácticas de codificación seguras es una tarea para los desarrolladores de complementos y temas, la implementación de buenas prácticas de seguridad es responsabilidad de los propietarios de sitios web.

En esta guía para atravesar directorios, exploraremos este método común que emplean los piratas informáticos para salir del directorio raíz del sitio web y acceder a datos restringidos. Aprenderá cómo el recorrido de ruta permite a los atacantes explotar con éxito las vulnerabilidades de inclusión de archivos locales (LFI) para infligir daños y cómo proteger su sitio web de WordPress contra este tipo de ataques mediante la implementación de prácticas de seguridad sólidas.

Primero, veamos más de cerca los conceptos de las operaciones seguras del servidor. Más específicamente, cómo se separan los diferentes tipos de datos en el entorno del servidor y qué lugar tienen los datos del sitio web en este ecosistema.

recorrido del directorio

Cómo el particionamiento de datos ayuda a proteger las operaciones del servidor

Los sitios web y las aplicaciones web dependen de servidores para almacenar sus datos. Estos datos luego son procesados ​​por servidores web y de bases de datos y otras aplicaciones específicas antes de ser entregados a los navegadores de los visitantes a través de Internet como páginas web solicitadas. Los componentes subyacentes de hardware y software trabajan juntos para crear una infraestructura sólida que impulsa esta funcionalidad.

Sin embargo, esta arquitectura cliente-servidor también requiere un enfoque consciente de la seguridad del servidor. Los servicios críticos y otros componentes del sistema operativo del servidor deben estar completamente separados de los archivos de usuario y los datos del sitio web. Esta separación de datos en el sistema de archivos se conoce comúnmente como partición de datos.

La partición de datos ayuda a proteger los aspectos más vulnerables de las operaciones del servidor al segregar diferentes tipos de datos en particiones separadas. La implementación de la partición del sistema de archivos y otros mecanismos de seguridad ayuda a proteger los servidores del acceso no autorizado a información confidencial y compromisos a nivel del sistema. Además, la partición de datos permite una gestión eficiente de los recursos y mejora el rendimiento del servidor al separar los datos que se modifican con frecuencia de los archivos predominantemente de solo lectura y aislar los datos del sistema y del usuario.

Control de acceso al servidor web: Confinamiento de los datos del sitio web con raíces de documentos

Para aislar los datos del sitio web de los datos del sistema, los servidores web utilizan el concepto de raíces de documentos. Esto implica restringir los archivos del sitio web a un directorio designado en el sistema de archivos, conocido como el directorio raíz de un sitio web. Al definir la raíz del documento, el servidor web puede dirigir y responder correctamente a las solicitudes entrantes del contenido de ese sitio web. Este directorio raíz es el punto de partida para manejar solicitudes web para ese sitio web.

Este confinamiento ayuda a evitar el acceso no autorizado a datos críticos del servidor, como información del sistema operativo y archivos de configuración clave, almacenados fuera del directorio raíz designado. Esto significa que cualquier secuencia de comandos u otro contenido y funcionalidad relacionados con un sitio web en particular solo pueden acceder y modificar datos dentro del directorio raíz y sus subdirectorios, lo que protege al resto del servidor en caso de una brecha de seguridad.

Además de las raíces de los documentos, los servidores web utilizan otros mecanismos de control de acceso para restringir aún más el acceso a los datos del sitio web. Uno de los mecanismos más notables son los permisos de archivos. Los permisos de archivo ayudan a hacer cumplir el principio de privilegio mínimo, lo que significa que a los usuarios o procesos del sistema se les otorga solo el nivel mínimo de acceso necesario para realizar las funciones previstas.

A pesar de la sólida seguridad de este enfoque, los piratas informáticos pueden emplear una serie de técnicas maliciosas para eludirlo. Uno de estos métodos es el recorrido de directorios. Los ataques transversales de directorio aprovechan las debilidades del código del sitio web y la implementación de permisos seguros para engañar al servidor web para que revele información restringida que, de otro modo, sería inaccesible desde el navegador.

¿Qué es el cruce de directorios?

El recorrido de directorios, también conocido como recorrido de ruta, es una técnica maliciosa destinada a otorgar acceso a archivos y directorios restringidos fuera de la raíz del documento del sitio web o la aplicación web de destino. El cruce de rutas permite al atacante navegar a través del sistema de archivos del servidor hasta el directorio raíz y otras carpetas restringidas a través del navegador, el tipo de comportamiento que no debería ser posible en circunstancias normales.

El recorrido de directorios se realiza manipulando las variables que hacen referencia a los archivos con el uso de caracteres especiales, conocidos como secuencias de recorrido de ruta. Secuencias como punto-punto-barra '../' son interpretadas por el servidor web, obligándolo a subir un directorio en la jerarquía del sistema de archivos, alejándose de la raíz del documento del sitio web.

Si un sitio web se almacena en /home/user/public_html, proporcionar una secuencia transversal de directorio de '../../../etc' permitirá al atacante navegar al directorio /etc, que almacena la configuración crítica del sistema en Linux. servidores.

Si la lista de directorios está deshabilitada en la configuración del servidor web, el ciberdelincuente no podrá ver el contenido del directorio solicitado. Esto puede aumentar parcialmente la seguridad del sistema y limitar el daño potencial infligido por los ataques transversales de directorio, ya que el atacante tendrá que especificar el archivo exacto que desea mostrar en el navegador. Pero como la mayoría de las veces, los piratas informáticos saben exactamente qué información están buscando, deshabilitar la lista de directorios no les impedirá acceder a ella.

El archivo /etc/passwd es uno de los objetivos comunes de los ataques transversales de directorio. En servidores Linux, el archivo /etc/passwd contiene la lista de usuarios creados en el servidor. Esto puede dar a los piratas informáticos un buen punto de partida para los ataques de fuerza bruta a las credenciales de los usuarios. Como /etc/passwd tiene permisos de archivo de 644, lo que significa que todos los usuarios del sistema pueden leerlo, incluido el usuario con el que se ejecuta el servidor web. De esta forma, el servidor web puede mostrar el contenido del archivo a través del navegador.

¿Cómo funciona el cruce de directorios?

Como técnica maliciosa, el cruce de directorios rara vez se usa como el único medio para obtener acceso a información confidencial en los servidores de las víctimas. Primero, los atacantes necesitan encontrar una manera de explotar una vulnerabilidad en el sitio web objetivo para encontrar una manera de hacer que muestre la información solicitada en el navegador. Solo entonces se utiliza el cruce de directorios para navegar a través del sistema de archivos del servidor de la víctima para llegar a los directorios restringidos.

Las vulnerabilidades de inclusión de archivos son las que permiten el uso del recorrido de directorios. La vulnerabilidad de cruce de directorios ocurre cuando un sitio web no desinfecta adecuadamente la entrada del usuario, como las rutas de archivos proporcionadas mediante la inclusión dinámica de archivos. Una combinación de vulnerabilidades de inclusión de archivos locales (LFI) y de cruce de directorios presentes permite a los piratas informáticos acceder a datos fuera de la raíz del documento del sitio web objetivo, revelando información confidencial del servidor.

Un ejemplo de recorrido de directorio

Para comprender mejor cómo se pueden explotar las vulnerabilidades de inclusión de archivos locales y de cruce de directorios, echemos un vistazo al siguiente ejemplo. Este ejemplo es una representación simplificada de cómo se usa el cruce de directorios a través de una falla de inclusión de archivos.

Un desarrollador web agrega una página web content.php que se usará para permitir que el sitio web cargue diferentes páginas o componentes dinámicamente según la solicitud del usuario. Por ejemplo, si un visitante del sitio web desea ver la página "Contáctenos", su solicitud podría mostrarse en la barra de direcciones del navegador como "https://website.com/content.php?page=contact_us".

La página content.php usaría la técnica de inclusión de archivos locales para hacer referencia al archivo que corresponde al parámetro "contact_us", que podría contener el código PHP y HTML para la página "Contáctenos" solicitada. En este ejemplo, la página web content.php actúa como un controlador, que carga el archivo apropiado que genera el contenido dinámicamente en función de la entrada del usuario.

Sin embargo, si la entrada del usuario no se valida o desinfecta correctamente, los atacantes pueden aprovechar las vulnerabilidades de inclusión de archivos y cruce de directorios para incluir archivos arbitrarios, que luego se mostrarán en el navegador.

Por ejemplo, un pirata informático puede pasar "../../../../../var/log/apache2/access.log" como el valor del parámetro de consulta de página: una serie de secuencias transversales de directorio seguidas de la dirección del registro de acceso principal del servidor web Apache en el sistema de archivos. De esta forma, el atacante puede ver el contenido del archivo de registro, que contiene información confidencial, como direcciones IP, cadenas de agentes de usuario y URL solicitadas por los visitantes del sitio web.

Cómo los permisos de archivos pueden facilitar o mitigar el cruce de directorios

Los permisos de archivo juegan un papel muy importante para garantizar la seguridad del servidor y del sitio web. Al limitar el acceso al archivo solo a usuarios y grupos particulares del sistema, los permisos pueden ayudar a facilitar o mitigar el cruce de directorios.

En un ataque de inclusión de archivos mediante el cruce de directorios, el contenido del archivo solicitado por el atacante solo se mostraría en el navegador si sus permisos de archivo permiten que el sistema que usa el servidor web se ejecute para leerlo. Si bien algunos archivos restringidos, como /etc/password, tienen permisos de 644, lo que los hace legibles para todos los usuarios del sistema, otros archivos solo son accesibles para el usuario raíz.

El archivo /etc/shadow, que contiene contraseñas encriptadas para todos los usuarios en un servidor Linux, tiene permisos de archivo de 640, lo que lo hace inaccesible para cualquier usuario que no sea root. Esto hace que sea imposible para los piratas informáticos acceder al archivo a través del navegador a través del recorrido del directorio.

¿Cómo detectar vulnerabilidades transversales de directorio en su sitio de WordPress?

El núcleo de WordPress mantiene un alto nivel de seguridad y está totalmente protegido contra las vulnerabilidades de inclusión de archivos y el cruce de directorios. Sin embargo, las altas opciones de personalización que ofrece la plataforma plantean la posibilidad de que esas vulnerabilidades estén presentes en un sitio de WordPress. Incluso los complementos y temas de WordPress de mayor reputación pueden contener fallas de seguridad que se descubren regularmente.

Los informes semanales de vulnerabilidades de WordPress de iThemes lo ayudan a identificar y parchear rápidamente las vulnerabilidades recientemente reveladas en los complementos y temas de WordPress, incluido el cruce de directorios. Simplemente revise los informes de vulnerabilidad para ver si se han encontrado recientemente debilidades de seguridad en los complementos que usa en su sitio de WordPress, así como en su tema activo, y vea si se ha lanzado un parche.

iThemes Security Pro puede automatizar el proceso de escanear su sitio web de WordPress en busca de vulnerabilidades y parchear rápidamente las fallas identificadas en su nombre. iThemes Security Pro realizará un análisis avanzado de vulnerabilidades dos veces al día, le enviará un correo electrónico si se detectan vulnerabilidades e instalará automáticamente una actualización si hay una solución de seguridad disponible.

¿Cómo defenderse del cruce de directorios?

La explotación de las vulnerabilidades encontradas en complementos y temas es uno de los mayores vectores de ataque que utilizan los piratas informáticos para obtener acceso no autorizado, robar datos confidenciales y cargar malware, incluidos los shells de puertas traseras, en los sitios web de WordPress. Y aunque seguir prácticas de codificación segura cae dentro del alcance de las responsabilidades de los desarrolladores de complementos y temas, los propietarios de sitios web de WordPress son responsables de implementar medidas de protección localmente. Solo un enfoque multifacético de la seguridad de WordPress puede ayudar a reducir el riesgo de ser víctima de los sofisticados ataques cibernéticos modernos.

Mantenga todo el software actualizado

Mantener el núcleo de WordPress, los complementos activos y el tema elegido actualizado a la última versión disponible es el primer paso para eliminar el cruce de directorios y otras vulnerabilidades graves a nivel de aplicación. A medida que se identifican nuevas fallas de seguridad en el software que alimenta su sitio de WordPress, es de suma importancia instalar parches de seguridad tan pronto como estén disponibles. Antes de que el desarrollador del complemento o del tema aborde la vulnerabilidad descubierta, la pieza de software afectada se puede desactivar para reducir la superficie de ataque.

Hacer un seguimiento de las actualizaciones de complementos y temas puede ser una tarea desafiante, pero con iThemes Security Pro, los propietarios de sitios web pueden tener acceso a una solución integral que simplifica el proceso y ayuda a garantizar que los sitios web permanezcan actualizados y protegidos contra vulnerabilidades de seguridad. La función de gestión de versiones ofrece actualizaciones de software automáticas para proteger su sitio de WordPress.

Configurar permisos de archivos seguros

Los permisos de archivos seguros de WordPress brindan una capa adicional de defensa contra los ataques destinados a obtener acceso a información confidencial del sitio web y del servidor. Y aunque rara vez necesita cambiar los permisos de archivo de los archivos de configuración críticos del sistema y otros datos restringidos del servidor, la responsabilidad de configurar permisos seguros para los archivos del sitio web a menudo recae en el propietario del sitio web.

Mantener información crítica de WordPress, como el archivo wp-config.php, puede ayudar a prevenir de manera efectiva compromisos entre cuentas a través de enlaces simbólicos de ataques de inclusión de archivos que explotan vulnerabilidades transversales de directorio. Las verificaciones de permisos de archivos en iThemes Security Pro ayudan a los propietarios de sitios web a garantizar que este mecanismo de seguridad crítico se implemente correctamente en sus sitios de WordPress.

Implementar un firewall de aplicaciones web

Los cortafuegos funcionan filtrando las solicitudes web maliciosas que coinciden con patrones conocidos o muestran patrones anómalos antes de pasar al servidor web. Como una sólida primera línea de defensa contra una amplia gama de ciberataques impulsados ​​por bots, como denegación de servicio (Dos) y denegación de servicio distribuida (DDoS), y ataques de inyección de datos como cross-site scripting (XSS) y SQL inyecciones (SQLi).

La implementación de un firewall de aplicaciones web (WAF) o una combinación de una solución de prevención de intrusiones basada en el host y en la nube puede reducir significativamente la posibilidad de un intento de intrusión exitoso. Actuando como una segunda capa de defensa contra la inclusión de archivos y las vulnerabilidades de cruce de directorios, los firewalls de aplicaciones web garantizan que los piratas informáticos puedan explotar cualquier debilidad de seguridad que se encuentre en versiones sin parches de complementos y temas.

Con IThemes Security Pro, la protección de fuerza bruta y las soluciones integradas de administración de bots ayudan a detener los bots maliciosos y filtrar las solicitudes web maliciosas para que no lleguen a su sitio web. Con la adición de la autenticación de múltiples factores impulsada por claves de acceso con inicios de sesión biométricos, esta completa suite de seguridad ofrece un enfoque multifacético para defender su sitio web contra varios tipos de amenazas de seguridad.

Asegure su sitio web de WordPress con iThemes Security Pro

Las vulnerabilidades de inclusión de archivos y cruce de directorios representan una amenaza significativa para la seguridad del sitio web, ya que con frecuencia son explotadas por piratas informáticos que buscan obtener acceso no autorizado a datos confidenciales o ejecutar código malicioso en el servidor de la víctima. Usando secuencias de recorrido de directorios y proporcionando a un sitio web vulnerable la ruta a ciertos datos, un atacante puede engañar al servidor web para que exponga información del servidor y del sitio web que de otro modo estaría restringida.

A pesar de ser ampliamente estudiado y reconocido, el recorrido de directorios sigue siendo una gran preocupación para los sitios web de WordPress que dependen de software obsoleto y carecen de las medidas de seguridad adecuadas. Realizar actualizaciones oportunas del núcleo, el tema y los complementos de WordPress, configurar permisos de archivos seguros e implementar un firewall de aplicaciones web puede reducir significativamente el riesgo de que su sitio web sea susceptible a ataques de inclusión de archivos que aprovechan el recorrido de directorios.

iThemes Security Pro puede ayudarlo a defender su sitio web de WordPress contra una amplia gama de amenazas cibernéticas al ofrecer un enfoque integral y multifacético para la seguridad del sitio web. Con análisis de vulnerabilidades avanzado, actualizaciones de software automáticas y potentes soluciones de gestión de bots integradas, iThemes Security Pro actúa como su asesor de seguridad personal, manteniendo su sitio web de WordPress seguro y protegido en todo momento.