DotDotPwn – The Directory Traversal Fuzzer

DotDotPwn es un fuzzer inteligente y flexible escrito en Perl, diseñado para descubrir vulnerabilidades de recorrido de directorios (Directory Traversal) en una amplia gama de software, incluyendo servidores HTTP, FTP, TFTP, y plataformas web como CMS y ERPs. Es reconocido históricamente por ser la primera herramienta mexicana incluida en la legendaria distribución BackTrack Linux.

DotDotPwn - The Directory Traversal Fuzzer

Si estás auditando un servidor y sospechas que podría ser vulnerable a ataques de Path Traversal, las pruebas manuales no son suficientes. Los servidores modernos utilizan filtros complejos. DotDotPwn automatiza el proceso de «fuzzing», enviando miles de variantes de rutas codificadas para evadir defensas y confirmar la vulnerabilidad.

Origen y Legado: «Orgullo Mexicano» en la Ciberseguridad

Más allá de su utilidad técnica, DotDotPwn tiene un lugar especial en la historia del hacking en Latinoamérica. Fue desarrollada por Christian Navarrete (aka chr1x) y Alejandro Hernández H. (aka nitr0us).

Un dato que pocos conocen es que DotDotPwn fue la primera herramienta mexicana en ser incluida oficialmente en los repositorios de BackTrack Linux (específicamente en la versión BT4 R2), el precursor del actual Kali Linux.

Está escrita completamente en lenguaje de programación Perl, lo que le otorga una portabilidad total: puede ejecutarse sin problemas bajo plataformas OS X, *NIX (Linux/Unix) o Windows.

Módulos de Fuzzing Soportados

La potencia de DotDotPwn reside en su arquitectura modular. No se limita a la web; puede atacar la infraestructura subyacente. Según la documentación oficial, soporta los siguientes módulos:

Módulo Descripción Técnica
HTTP / HTTP URL Diseñado para servidores web, CMS, Blogs y ERPs. Inyecta payloads en la URL o cabeceras.
FTP Prueba comandos como CWD o RETR en servidores de transferencia de archivos para escapar de la jaula (chroot).
TFTP Específico para el Trivial File Transfer Protocol, común en dispositivos de red y IoT.
Payload (Protocol Independent) Un módulo agnóstico que envía la carga útil al host y puerto especificados, útil para protocolos propietarios.
STDOUT Envía los vectores de ataque a la salida estándar, permitiendo su uso en scripts personalizados o tuberías (pipes) con otras herramientas.

Requisitos Técnicos e Instalación

Para ejecutar DotDotPwn correctamente en 2025, debes asegurarte de cumplir con las dependencias. Aunque el script es ligero, requiere ciertos módulos de Perl y herramientas externas para funcionalidades avanzadas.

Software Base

  • Perl: Programado y testeado en versiones 5.8.8 y 5.10, aunque compatible con versiones modernas.
  • Nmap: Necesario únicamente si planeas usar la característica de detección de Sistema Operativo (OS detection). Nota: Esto requiere privilegios de root.

Módulos de Perl Requeridos

El script depende de librerías específicas para manejar las conexiones de red:

  • Net::FTP
  • TFTP (Solo requerido si vas a fuzzear este protocolo)
  • Time::HiRes
  • Socket y IO::Socket
  • Getopt::Std

Si te falta alguno, puedes instalarlos fácilmente con privilegios de superusuario (root) usando CPAN:

# perl -MCPAN -e "install Net::FTP"
# perl -MCPAN -e "install TFTP"

O entrando a la consola interactiva de CPAN:

# cpan
cpan> install Time::HiRes

Descarga Oficial y Recursos

Para garantizar que estás utilizando la versión más reciente y segura del código, te recomendamos acceder directamente al repositorio mantenido por la comunidad o sus autores.

¿Cómo funciona la «Magia» del Traversal?

DotDotPwn no envía simplemente ../. Su inteligencia radica en la evasión. La herramienta genera mutaciones de este patrón (como ..%c0%af para servidores IIS o codificaciones Unicode) para burlar WAFs y filtros de entrada. Además, gracias a la integración con Nmap, puede determinar si el servidor es Windows o Linux para usar el separador de directorios correcto (\ o /).

Conclusión

DotDotPwn sigue siendo una herramienta de culto y de uso diario para pentesters profesionales. Su capacidad para trabajar fuera del protocolo HTTP (con FTP/TFTP) y su flexibilidad mediante el módulo STDOUT la convierten en el «navaja suiza» para las vulnerabilidades de Path Traversal.

Si deseas reportar bugs, contribuir o contactar a los autores (CubilFelino Security Research Lab & Chatsubo Labs), puedes hacerlo a través de su correo oficial [email protected] o visitar el repositorio oficial.