
Un framework de fuzzing totalmente automatizado y sin supervisión, escrito en Python puro.
Si buscas un fork de Sulley con mantenimiento activo, echa un vistazo a BooFuzz.
Sulley es un motor de fuzzing y un framework de pruebas de fuzzing que consta de múltiples componentes extensibles. Sulley (IMHO) supera las capacidades de la mayoría de las tecnologías de fuzzing publicadas anteriormente, tanto comerciales como de dominio público. El objetivo del framework es simplificar no solo la representación de datos, sino también la transmisión de datos y la instrumentación. Sulley recibe su nombre cariñosamente por la criatura de Monsters Inc., porque, bueno, es fuzzy.
Claramente, también es intrépido.
Los fuzzers modernos, en su mayoría, se centran únicamente en la generación de datos. Sulley no solo tiene una impresionante generación de datos, sino que ha llevado esto un paso más allá e incluye muchos otros aspectos importantes que un fuzzer moderno debería proporcionar. Sulley vigila la red y mantiene registros metódicamente. Sulley instrumenta y monitorea la salud del objetivo, con capacidad de revertir a un estado bueno conocido utilizando múltiples métodos. Sulley detecta, rastrea y categoriza las fallas detectadas. Sulley puede hacer fuzzing en paralelo, aumentando significativamente la velocidad de las pruebas. Sulley puede determinar automáticamente qué secuencia única de casos de prueba desencadena fallas. Sulley hace todo esto, y más, automáticamente y sin supervisión. No es inusual que un fuzz se ejecute sin problemas durante días seguidos, de esa manera tú (como investigador de vulnerabilidades) puedes centrarte en otras áreas de explotación y volver a los resultados de Sulley cuando te sea conveniente.
Bueno, un buen lugar para empezar si estás en Windows es el artículo del wiki sobre instalación en Windows, y si te sientes valiente, echa un vistazo a la rama inestable de Sulley. Si estás en *nix, tranquilo, la documentación sobre el procedimiento de instalación para eso está en camino, pero si usas *nix, lo más probable es que puedas resolverlo por tu cuenta.
Esta rama master se considera la rama 'estable' de Sulley 1.0; todos los cambios que hago van a Sulley 1.1, que se puede encontrar en https://github.com/OpenRCE/sulley/tree/Sulley1.1.
Si tienes otras preguntas/mejoras/funcionalidades que te gustaría ver, no dudes en enviarme un correo!