Ataque de path traversal

| Última modificación: 2 de julio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Qué es un ataque de path traversal y cómo se ejecuta en un entorno de práctica de hacking web?

El siguiente tutorial sobre cómo ejecutar un ataque de path traversal está hecho con fines académicos. Ejecutar técnicas de hacking web en sitios no autorizados se considera ilegal. Por lo tanto, te enseñaremos cómo funciona este ciberataque en un entorno legal de práctica, diseñado especialmente para el aprendizaje de estas técnicas.

El hacking web se utiliza para encontrar vulnerabilidades en las aplicaciones y es uno de los servicios más demandados de la ciberseguridad. En este post, te explicaremos una técnica de hacking web, conocida como ataque de path traversal, por medio de la cual se puede acceder a cualquier fichero de un servidor.

Ataque de path traversal

Un ataque de path traversal, directory traversal o, en español, salto de directorios se utiliza para descargar ficheros del servidor de un aplicación cuando no se debería tener autorización para hacerlo. Dicho ataque se puede hacer cuando la aplicación tiene una vulnerabilidad que consiste en utilizar inputs del usuario para construir rutas de descarga de archivos.

Esta falta de validación de los inputs del lado del cliente puede poner en riesgo información confidencial relacionada con los clientes y los servidores de la aplicación. Para entender mejor cómo funciona un ataque de path traversal, veremos un tutorial práctico de cómo se ejecuta en un entorno de práctica de hacking web.

Preparación

Antes de iniciar este ataque es necesario preparar el entorno de práctica legal de hacking web en el que se va a realizar. Para ello, debemos instalar las siguientes herramientas de virtualización:

  1. Instala una máquina virtual con la última versión de Kali Linux, una distribución del sistema operativo GNU/Linux, diseñada por Offensive Security especial para pentesting.
  2. Instala la máquina virtual Web For Pentester, diseñada por PentesterLab, que contiene un entorno web vulnerable de forma preconfigurada.
  3. Averigua las direcciones IP de las máquinas, ejecutando el comando “ifconfig” en sus terminales.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Para efectos de este tutorial de cómo ejecutar un ataque de path traversal, supondremos que las direcciones IP de estas máquinas son:

  • Dirección IP de la máquina con Kali Linux: 192.168.175.128
  • Dirección IP de la máquina de Web For Pentester: 192.168.175.129

Ejecución

Ya has preparado tu entorno de práctica legal de hacking web. Ahora, veremos el paso a paso de cómo ejecutar un ataque de path traversal en Web For Pentester.

  • Para comenzar, abre un navegador en la máquina de Kali Linux e ingresa a la dirección IP de la máquina de Web For Pentester. Al acceder, verás el siguiente menú en el navegador:
  • Como verás, los links para los ejemplos de ataques de directory traversal están desactivados. Para acceder a ellos, haz clic derecho sobre la imagen del hacker que aparece junto a la palabraExample 1” y selecciona la opción “Open image in new tab“.
  • Como resultado, verás que se abre la siguiente pestaña en el navegador:
  • Al ver la URL, podemos deducir, por el parámetro “file=hacker.png“, que es posible utilizar esta sección del enlace para indicarle al servidor que nos envíe cualquier fichero de la aplicación.
  • Para ello, utilizaremos el siguiente payload:
http://192.168.175.129/dirtrav/example1.php?file=../../../../../etc/passwd
  • Al ejecutarlo, veremos que la aplicación habrá accedido al fichero “passwd” que contiene las contraseñas del servidor.

Explicación del payload

Ya hemos visto cómo se ejecuta un ataque de path traversal en Web For Pentester. Ahora, te explicaremos en qué consiste el payload que utilizamos.

Al haber reconocido que el servidor utiliza un input del usuario para construir la ruta de descarga de un archivo, un atacante puede utilizar comandos de Linux para acceder a cualquier fichero del sistema.

El siguiente comando, que forma parte del payload, se utiliza para moverse de manera ascendente entre los directorios:

../../../

El que le sigue se usa para acceder al ficheropasswd“, que contiene las credenciales privadas del sistema:

/etc/passwd

Ahora sabes cómo se ejecuta un ataque de path traversal en el entorno de práctica de Web For Pentester. Si quieres aprender más técnicas de hacking web, en KeepCoding tenemos el curso ideal para ti. Ingresa a nuestro Ciberseguridad Full Stack Bootcamp y especialízate en tan solo 7 meses. ¡Pide ya más información y empieza a cambiar tu vida!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado