Escáner ofensivo de Local File Disclosure (LFD) y Directory Traversal escrito en Python.
Pensado para bug bounty, pentesting web y laboratorios de seguridad donde se necesita comprobar rápidamente si un parámetro permite leer archivos locales del sistema.
- Soporte para:
- un único objetivo (
--url) - múltiples objetivos desde archivo (
--list)
- un único objetivo (
- Inyección de rutas mediante:
- marcador
FUZZen la URL - parámetro configurable (
--param, por defectofile)
- marcador
- Conjunto de rutas de traversal por defecto (Unix y Windows).
- Soporte para rutas personalizadas desde archivo.
- Detección heurística de contenido interesante:
/etc/passwd/etc/hostswin.ini- patrones típicos de sistema.
- Escaneo concurrente con hilos por objetivo.
- User-Agent configurable.
- Opción
--insecurepara entornos de prueba. - Exportación de resultados a JSON.
- Python 3.8 o superior.
- Librerías de Python:
pip install requests coloramagit clone https://github.com/theoffsecgirl/tool-lfdscanner.git
cd tool-lfdscanner
chmod +x tool-lfdscanner.pySi prefieres, renombra el archivo:
mv tool-lfdscanner.py lfdscanner.py
chmod +x lfdscanner.pypython3 tool-lfdscanner.py -u "https://example.com/download.php?file=FUZZ"En este caso, FUZZ será reemplazado por cada ruta de traversal.
python3 tool-lfdscanner.py -L dominios.txtArchivo dominios.txt:
https://example.com/download.php?file=FUZZ
https://victima.com/view?path=FUZZ
-u, --url URL objetivo (puede contener FUZZ)
-L, --list Archivo con lista de objetivos
--paths Archivo con rutas de traversal personalizadas
-p, --param Nombre del parámetro cuando no hay FUZZ (por defecto: file)
-t, --timeout Timeout por petición (por defecto: 5)
-T, --threads Hilos por objetivo (por defecto: 10)
-A, --agent User-Agent personalizado
--insecure No verificar TLS (solo entornos de laboratorio)
--json-output Guardar resultados en JSON
-v, --verbose Mostrar más información
# Escaneo rápido con marcador FUZZ
python3 tool-lfdscanner.py -u "https://example.com/get.php?f=FUZZ"
# Escaneo usando parámetro file
python3 tool-lfdscanner.py -u "https://example.com/get.php" -p file
# Lista de objetivos y rutas personalizadas
python3 tool-lfdscanner.py -L scope.txt --paths traversal_paths.txt -T 20
# Guardar resultados JSON
python3 tool-lfdscanner.py -L scope.txt --json-output resultados_lfd.jsonCuando se detecta una posible vulnerabilidad se mostrará una salida similar a:
[+] Posible LFD/Traversal en https://example.com/get.php?file=../../etc/passwd
path: ../../etc/passwd
status: 200
snippet: root:x:0:0:root:/root:/bin/bash
Esto indica que el servidor probablemente está devolviendo contenido del archivo local solicitado.
Siempre valida manualmente el contexto y el impacto.
Esta herramienta está pensada para:
- programas de bug bounty
- pruebas en entornos de laboratorio
- auditorías autorizadas
No la uses contra sistemas sin permiso. El uso indebido es ilegal y va en contra del propósito del proyecto.
Consulta el archivo LICENSE para más detalles.
Desarrollado por TheOffSecGirl
- GitHub: https://github.com/theoffsecgirl
- Web técnica: https://www.theoffsecgirl.com
- Academia: https://www.northstaracademy.io