Saltar al contenido
OPS // KITitspentest.sh

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.

  1. 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.
  2. Instala las dependencias de Perl de DotDotPwn (cpan o los paquetes de la distro listados en el README).
  3. Elige el módulo que coincida con el protocolo objetivo (http, ftp, tftp, ...) y apúntalo al host.
  4. 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.
  5. 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:" -O

ANTES 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ó.

SIGUE EXPLORANDO

Ver toda la fase →