X-DOT
DotDotPwn
Fuzzer en Perl que automatiza pruebas de payloads de path traversal e inclusión de archivos sobre HTTP, FTP, TFTP y más.
Sitio oficialVolver al catálogo
RESUMEN
DotDotPwn (github.com/wireghoul/dotdotpwn) es un fuzzer en Perl dedicado a directory traversal / inclusión de archivos: genera una matriz amplia de payloads estilo '../' variando la profundidad de traversal, separadores de ruta específicos del sistema operativo y codificaciones (URL, doble URL, Unicode y más), y los lanza contra un objetivo a través de uno de varios módulos de protocolo — http, http-url, ftp, tftp, payload (stdout), o un fuzzer para un archivo específico.
Una opción -k/--keyword lo hace autoverificable: se le indica una cadena esperada en un archivo recorrido con éxito (como 'root:' para /etc/passwd) y marca qué combinaciones de payload devolvieron realmente esa cadena, en lugar de obligar al tester a revisar a ojo cientos de respuestas.
CASOS DE USO
Casos de uso en un engagement
- 01
Fuzzear un parámetro de ruta de archivo o nombre de archivo en una app web en busca de secuencias de path traversal clásicas y codificadas.
- 02
Probar servicios FTP o TFTP en busca de path traversal fuera de su directorio raíz configurado.
- 03
Usar la opción de coincidencia por palabra clave para marcar automáticamente qué variantes de payload leyeron con éxito un archivo objetivo conocido (por ejemplo, /etc/passwd, web.config).
- 04
Generar una lista de payloads reutilizable (módulo payload) para pasarla a otra herramienta como Burp Intruder en una revisión manual más controlada.
PRIMEROS PASOS
Cuando un parámetro o endpoint parece leer una ruta de archivo, para fuzzear profundidad de traversal y variantes de codificación de forma sistemática en vez de a mano.
- Confirma que el host, protocolo y parámetro objetivo están dentro del alcance autorizado, y que el tráfico de fuzzing a alto volumen es aceptable.
- Instala las dependencias de Perl de DotDotPwn (cpan o los paquetes de la distro listados en el README).
- Elige el módulo que coincida con el protocolo objetivo (http, ftp, tftp, ...) y apúntalo al host.
- Añade una palabra clave con -k que corresponda a un archivo que esperas leer con éxito, para que los aciertos se marquen automáticamente en vez de revisar a mano cada respuesta.
- Revisa los payloads marcados, reproduce manualmente los exitosos y registra la cadena de traversal exacta usada para el informe.
perl dotdotpwn.pl -m http -h target.example.com -k "root:" -OANTES DE USARLA
Qué revisar antes de lanzarla
Una ejecución completa de fuzzing envía un número muy alto de peticiones (cada combinación de profundidad × codificación); confirma que el objetivo y cualquier WAF/rate limiting delante de él pueden absorber ese volumen antes de ejecutarlo sin supervisión.
Un traversal que lee con éxito un archivo sensible (por ejemplo, /etc/passwd, una config con credenciales) es exposición de datos en vivo desde el momento en que tiene éxito — trata la salida como sensible y evita repetirla más de lo necesario.
La detección automática por palabra clave puede pasar por alto respuestas codificadas o parciales; revisa el tráfico crudo (o un log de proxy) en busca de coincidencias casi exitosas que el chequeo de keyword no detectó.