
Um framework de fuzzing totalmente automatizado e não supervisionado, em Python puro.
Se você está procurando um fork ativamente mantido do Sulley, dê uma olhada no BooFuzz.
Sulley é um motor de fuzzing e um framework de teste de fuzzing composto por múltiplos componentes extensíveis. Sulley (IMHO) supera as capacidades da maioria das tecnologias de fuzzing publicadas anteriormente, comerciais e de domínio público. O objetivo do framework é simplificar não apenas a representação de dados, mas também a transmissão e instrumentação dos dados. Sulley é carinhosamente nomeado após a criatura de Monsters Inc., porque, bem, ele é fuzzy.
Claramente ele também é destemido.
Os fuzzers modernos, na maioria das vezes, focam apenas na geração de dados. Sulley não só possui uma impressionante geração de dados, mas foi além e inclui muitos outros aspectos importantes que um fuzzer moderno deve fornecer. Sulley monitora a rede e mantém registros metodicamente. Sulley instrumenta e monitora a saúde do alvo, sendo capaz de reverter para um estado bom conhecido usando múltiplos métodos. Sulley detecta, rastreia e categoriza falhas detectadas. Sulley pode fazer fuzzing em paralelo, aumentando significativamente a velocidade dos testes. Sulley pode determinar automaticamente qual sequência única de casos de teste desencadeia falhas. Sulley faz tudo isso, e mais, automaticamente e sem supervisão. Não é incomum um fuzz rodar continuamente por dias a fio, assim você (como pesquisador de vulnerabilidades) pode focar em outras áreas de exploração e voltar aos resultados do Sulley quando for conveniente para você.
Bem, um bom lugar para começar se você está no Windows é o artigo da wiki sobre instalação no Windows, e se você está se sentindo corajoso, dê uma olhada no ramo instável do Sulley. Se você está em *nix, fique tranquilo, a documentação para o procedimento de instalação está a caminho, mas se você usa *nix, é provável que você consiga descobrir por conta própria.
Este branch master é considerado o branch 'estável' do Sulley 1.0; todas as alterações que faço estão indo para o Sulley 1.1, que pode ser encontrado em https://github.com/OpenRCE/sulley/tree/Sulley1.1.
Se você tiver outras perguntas/melhorias/recursos que gostaria de ver, fique à vontade para me enviar um e-mail!