Llegamos a ustedes gracias a:



Reportajes y análisis

¿Qué es directory traversal?: Definición, ejemplos y prevención

[26/12/2019] En setiembre, los investigadores descubrieron una vulnerabilidad directory traversal de "gravedad crítica en el Jira Service Desk Server de Atlassian, así como en el Jira Service Desk Data Center, que podría permitir a los atacantes acceder a la información protegida que pertenece a los clientes de la compañía, afirma Satnam Narang, ingeniero de investigación senior de Tenable Network Security.

"Pueden ver informes de errores y otras cosas que se están rastreando, como solicitudes de nuevas funciones, afirma. "Información confidencial a la que no deberían acceder, posibles secretos comerciales, todos los problemas que las organizaciones manejan internamente.

Con una simple búsqueda, los investigadores de Tenable pudieron encontrar portales de acceso público de Jira Service Desk. Los atacantes también podrían usar la información que obtienen de los boletos para la ingeniería social, afirma Kevin Delaney, director de ingeniería de soluciones de Security Compass, una compañía de software de ciberseguridad con sede en Toronto. "Alguien puede llamarlo y tiene su número de boleto, su dirección de correo electrónico, todo lo que necesita para convencerlo de que confíe en ellos, afirma. "Pueden conseguir que les dé sus contraseñas o les envíe dinero.

Atlassian no es la única compañía que hace noticias con tanta vulnerabilidad. A fines de septiembre, Adobe lanzó una solución para tres vulnerabilidades en su plataforma de desarrollo web, ColdFusion, incluida una vulnerabilidad path traversal "crítica que podría permitir a los atacantes evitar los controles de acceso.

Otra filtración directory traversal reciente fue en junio e involucró a Kubecti, una interfaz de línea de comandos para controlar los grupos de Kubernetes. Según Charles Ragland, ingeniero de seguridad del equipo de investigación de Photon en Digital Shadows, el error estaba en el comando cp, que permite a los usuarios copiar archivos desde el pod Kubernetes a su máquina local. "Debido a la forma en que Kubernetes realizó las transferencias de archivos, afirma, "los usuarios malintencionados podrían copiar rutas de archivos relativas y potencialmente usar esto para ejecutar código o elevar los privilegios.

Y no solo las aplicaciones web son vulnerables a los ataques directory traversal. En septiembre, los investigadores de Independent Security Evaluators descubrieron que 12 de cada 13 routers y dispositivos NAS, de varios fabricantes, tenían fallas de seguridad que permitían a los investigadores obtener acceso remoto a nivel raíz: siete de ellos tenían vulnerabilidades path traversal.

¿Qué es el directory traversal?

En un ataque directory traversal, también conocido como path traversal, un atacante ingresa información en un formulario web, línea de dirección URL u otro método de input que le da acceso a un archivo o directorio al que no deberían tener acceso. Por ejemplo, afirma Delaney de Security Compass, un atacante podría escribir un punto, punto, barra diagonal inversa para llegar al directorio principal. Los atacantes pueden usar esta vulnerabilidad para acceder a archivos en un servidor web u otro dispositivo, o incluso para cargar archivos maliciosos.

Según un informe de investigación publicado en septiembre por Contrast Security, el path traversal fue uno de los tres principales ataques en agosto, después de la inyección SQL y secuencias de scripting entre sitios. La ruta transversal representó el 17% de todos los ataques, apuntando al 69% de las aplicaciones web. El path traversal también fue uno de los 10 errores de software más peligrosos, según un informe publicado por MITRE el mes pasado, basado en aproximadamente 25 mil CVEs de los últimos dos años

Cómo evitar el directory traversal

Primero, los inputs deben ser validados, afirma Delaney. Este es un primer paso clave para crear cualquier tipo de formulario web. Algunas de las vulnerabilidades más comunes incluyen este tipo de ataque, incluidas las inyecciones de SQL.

Suena como un curso básico de seguridad. Sin embargo, como lo demuestra la gran cantidad de vulnerabilidades reportadas que entran en esta categoría, los desarrolladores siguen cometiendo los mismos errores una y otra vez. "Los desarrolladores tienen su historia de usuario y esperan que el equipo de seguridad solucione cualquier problema de seguridad, afirma Delaney, pero los equipos de seguridad podrían no tener la experiencia necesaria, o el tiempo, para navegar a través de un código inseguro con el fin corregir errores básicos.

El segundo paso es garantizar que todos los archivos y carpetas en el servidor tengan los controles de acceso adecuados. Además, los desarrolladores deben evitar almacenar datos confidenciales en la raíz web de la aplicación.

Cómo encontrar vulnerabilidades de directory traversal

El mejor momento para encontrar vulnerabilidades directory traversal es mientras se escribe el código, al tener un fuerte enfoque de seguridad justo al comienzo del proceso de desarrollo de software. El siguiente mejor momento es antes de implementar el software, utilizando herramientas de análisis de código.

Sin embargo, estas herramientas suelen pasar por alto la mitad de todas las vulnerabilidades, afirma Delaney. Además, también suelen tener una alta tasa de falsos positivos, lo que hace que el proceso de reparación de vulnerabilidades sea largo y costoso.

Finalmente, una vez que el software está en funcionamiento, ya sea en un ambiente de prueba o, en el peor de los casos, en producción, se pueden usar pruebas de penetración para encontrar problemas. Un enfoque es usar el fuzzing para probar diferentes entradas para ver si alguna de ellas causa problemas, afirma Delaney. Los investigadores que encontraron el último conjunto de vulnerabilidades VoIP de Android usaron fuzzing, afirma.

Haga actualizaciones rápidamente para protegerse de vulnerabilidades de path traversal

Cuando se trata de software popular como Adobe ColdFusion, Jira Service Desk y Android, el parcheado rápido es esencial. Esto puede ser difícil para algunas empresas, donde el proceso de actualización y parchado es engorroso. Por ejemplo, algunas compañías pueden restringir la aplicación de actualizaciones para sistemas de misión crítica a los sábados por la mañana, afirma Delaney. En estos casos, cada segundo importa, afirma.

Por ejemplo, los atacantes pueden escanear fácilmente la web en busca de portales de Jira Service Desk e intentar atacarlos, afirma Delaney. A medida que más investigadores buscan defectos en el recorrido de la ruta, a menudo alentados por los programas de recompensas por encontrar vulnerabilidades, los atacantes tienen cada vez más vulnerabilidades para elegir. "Es como que te den algo en una bandeja, afirmó Narang de Tenable. "Existen investigadores que publican estos detalles, ya se les está presentando.

En algunos casos, los investigadores publicarán código de prueba de concepto o proporcionarán suficientes detalles para que los atacantes puedan descubrir cómo explotar la vulnerabilidad. "Obviamente, las actualizaciones son importantes, y todos han hablado de esto hasta la muerte, afirma Narang.

En los casos en que una actualización no se pueda implementar de inmediato, puede haber otras medidas de mitigación que una empresa puede tomar. En el caso de la vulnerabilidad reciente de Jira Service Desk, por ejemplo, las empresas pueden desactivar la configuración que le permite a cualquier persona presentar solicitudes de soporte sin tener que ser autorizadas primero.

Muchas organizaciones quieren que sea lo más fácil posible para las personas presentar solicitudes, afirma Narang, pero si no pueden implementar la actualización de software de inmediato, deberían desactivarla hasta que puedan poner un parche.