Kitty — это модульный фреймворк для фаззинга на Python с открытым исходным кодом. Появился на свет он под впечатлением от таких известных фаззеров, как Sulley и Peach.
Как говорят сами создатели этого фреймворка, при работе над ним была задача сконцентрироваться на необычных целях. Целях, которые работают не на TCP/IP-уровне, и при этом без переписывания всего с нуля каждый раз. Фреймворк, естественно, включает в cебя все стадии, которые только могут быть в процессе фаззинга: генерацию данных, фаззинг, мониторинг цели.
Особенности:
- модульность — каждая функциональная часть обособлена и может быть переиспользована;
- расширяемость — есть ядро системы, все остальное можно расширять на свое усмотрение;
- модель данных — модель позволяет описывать сложные структуры данных, включая строки, хеши, длины, условия и прочее;
- состояния — возможность описывать порядок сообщений и их условия отправки;
- фаззинг клиента и сервера;
- кросс-платформенность.
Так как в самом Kitty нет реализаций различных протоколов передачи данных (HTTP, TCP или UART), то можно обратиться к другому проекту автора — katnip, и этого будет достаточно для старта.
Автор: cisco-sas
URL: https://github.com/cisco-sas/kitty
Система: Linux / OS X / Windows