Diccionario de patrones de ataque y primitivas para la inyección de fallos y el descubrimiento de recursos en aplicaciones de caja negra.
FuzzDB fue creado para aumentar la probabilidad de encontrar vulnerabilidades de seguridad en aplicaciones mediante pruebas dinámicas de seguridad de aplicaciones. Es el primer y más completo diccionario abierto de patrones de inyección de fallos, ubicaciones predecibles de recursos y expresiones regulares para hacer coincidir respuestas del servidor.
Patrones de ataque -
FuzzDB contiene listas completas de primitivas de payload de ataque para pruebas de inyección de fallos.
Estos patrones, categorizados por ataque y, cuando corresponde, por tipo de plataforma, se sabe que causan problemas como inyección de comandos del sistema operativo, listados de directorios, recorridos de directorios, exposición de código fuente, evasión de carga de archivos, evasión de autenticación, XSS, inyecciones CRLF en cabeceras HTTP, inyección SQL, inyección NoSQL y más. Por ejemplo, FuzzDB cataloga 56 patrones que potencialmente pueden ser interpretados como un byte nulo y contiene listas de métodos comúnmente utilizados como "get, put, test", y pares nombre-valor que activan modos de depuración.
Descubrimiento -
La popularidad de los formatos estándar de empaquetado de software y los instaladores resultó en que recursos como archivos de registro y directorios administrativos se ubiquen frecuentemente en un pequeño número de ubicaciones predecibles.
FuzzDB contiene un diccionario completo, ordenado por tipo de plataforma, lenguaje y aplicación, haciendo que las pruebas de fuerza bruta sean menos brutales.
https://github.com/fuzzdb-project/fuzzdb/tree/master/discovery
Análisis de respuestas -
Muchas respuestas interesantes del servidor son cadenas predecibles.
FuzzDB contiene un conjunto de diccionarios de patrones regex para hacer coincidir con las respuestas del servidor. Además de mensajes de error comunes del servidor, FuzzDB contiene regex para tarjetas de crédito, números de seguro social y más.
Otras cosas útiles -
Webshells en diferentes lenguajes, listas comunes de contraseñas y nombres de usuario, y algunas listas de palabras prácticas.
Documentación -
Muchos directorios contienen un archivo README.md con notas de uso.
También se incluye una colección de documentación de la web que es útil para usar FuzzDB en la construcción de casos de prueba.
FuzzDB es como un escáner de seguridad de aplicaciones, sin el escáner.
Algunas formas de usar FuzzDB:
Muchísimas horas de investigación y pentesting. Y
Otras herramientas de seguridad y proyectos que incorporan FuzzDB total o parcialmente
El método preferido es obtener las fuentes mediante git, ya que se añaden nuevos payloads con frecuencia
git clone https://github.com/fuzzdb-project/fuzzdb.git --depth 1
Mientras esté en el directorio de FuzzDB, puede actualizar su repositorio local con el comando
git pull
Este Stackoverflow ofrece ideas sobre cómo mantener un repositorio local ordenado: https://stackoverflow.com/questions/38171899/how-to-reduce-the-depth-of-an-existing-git-clone/46004595#46004595
También puede navegar por las fuentes de FuzzDB en github y siempre hay un archivo zip actualizado.
Nota: Algunos programas antivirus/antimalware alertarán sobre FuzzDB. Para solucionarlo, se debe incluir la ruta del archivo en la lista blanca. No hay nada en FuzzDB que pueda dañar su computadora tal como está, sin embargo, debido al riesgo de ataques de inclusión de archivos locales, no se recomienda almacenar este repositorio en un servidor u otro sistema importante. Úselo bajo su propio riesgo.
FuzzDB fue creado por Adam Muntner (amuntner @ gmail.com) FuzzDB (c) Derechos de autor Adam Muntner, 2010-2019 Partes con derechos de autor de otros, como se indica en los comentarios de los commits y los archivos README.md.
La licencia de FuzzDB es New BSD y Creative Commons by Attribution. El objetivo final de este proyecto es hacer que los patrones contenidos en él queden obsoletos. Si utiliza este proyecto en su trabajo, investigación o producto comercial, debe citarlo. Eso es todo. Siempre me alegra saber cómo la gente lo usa para encontrar un error interesante o en una herramienta, envíeme un correo electrónico y hágamelo saber.
¡Siempre se aceptan contribuciones!
Página oficial del proyecto FuzzDB: https://github.com/fuzzdb-project/fuzzdb/