
Un framework de fuzzing en pur Python, entièrement automatisé et sans supervision.
Si vous recherchez un fork de Sulley activement maintenu, jetez un œil à BooFuzz.
Sulley est un moteur de fuzzing et un framework de test par fuzzing constitué de plusieurs composants extensibles. Sulley (IMHO) dépasse les capacités de la plupart des technologies de fuzzing précédemment publiées, qu'elles soient commerciales ou du domaine public. L'objectif du framework est de simplifier non seulement la représentation des données, mais aussi la transmission des données et l'instrumentation. Sulley est affectueusement nommé d'après la créature de Monsters Inc., parce que, eh bien, il est fuzzy.
De toute évidence, il est aussi intrépide.
Les fuzzers modernes se concentrent, pour la plupart, uniquement sur la génération de données. Sulley ne possède pas seulement une génération de données impressionnante, il est allé plus loin et inclut de nombreux autres aspects importants qu'un fuzzer moderne devrait fournir. Sulley surveille le réseau et tient méthodiquement des registres. Sulley instrumente et surveille la santé de la cible, capable de la ramener à un état de bon fonctionnement connu via plusieurs méthodes. Sulley détecte, suit et catégorise les défauts détectés. Sulley peut fuzzer en parallèle, ce qui augmente considérablement la vitesse des tests. Sulley peut déterminer automatiquement quelle séquence unique de cas de test déclenche des défauts. Sulley fait tout cela, et plus encore, automatiquement et sans surveillance. Il n'est pas rare qu'un fuzz s'exécute sans accroc pendant des jours d'affilée, de cette façon vous (en tant que chercheur en vulnérabilités) pouvez vous concentrer sur d'autres domaines d'exploitation, et revenir aux résultats de Sulley quand cela vous arrange.
Bon, un bon point de départ si vous êtes sous Windows est l'article du wiki sur l'installation sous Windows, et si vous vous sentez courageux, jetez un œil à la branche instable de Sulley. Si vous êtes sous *nix, patientez, la documentation pour la procédure d'installation arrive, mais si vous utilisez *nix, il y a de fortes chances que vous puissiez vous débrouiller par vous-même.
Cette branche master est considérée comme la branche « stable » de Sulley 1.0 ; toutes les modifications que j'apporte sont intégrées à Sulley 1.1, que l'on peut trouver sur https://github.com/OpenRCE/sulley/tree/Sulley1.1.
Si vous avez d'autres questions/améliorations/fonctionnalités que vous aimeriez voir, n'hésitez pas à m'envoyer un e-mail !