
yakit v1.4.8-0731
Универсальная платформа для тестирования на проникновение с MITM-прокси, веб-фаззером, обработчиком обратных соединений и системой плагинов для автоматизированного тестирования безопасности и эксплуатации.
Yakit — Интерактивная платформа для тестирования безопасности приложений
Посмотреть технический документ • Официальная документация • Сообщить о проблеме • Перейти на сайт • Присоединиться к сообществу • Архитектура проекта
Введение в Yakit
Конвергенция безопасности — это реформа управления безопасностью и операционной деятельностью предприятия в новых условиях, а также первоочередная задача предприятия в текущей реальности.
На основе концепции конвергенции безопасности команда Yaklang.io разработала вертикальный язык в области безопасности — Yaklang. Для продуктов/инструментов, которые невозможно нативно интегрировать в платформу Yak, с помощью Yaklang можно переписать их «высококачественные замены». Для продуктов с полной экосистемой и высоким признанием Yaklang может напрямую компилировать и интегрировать их, внося необходимые изменения в исходный код для лучшей адаптации к языку Yaklang. Для специалистов по безопасности, которые не хотят писать код, Yakit предоставляет подходящий графический интерфейс для всех возможностей Yaklang. С выходом новых версий GUI будет становиться всё более зрелым.
Чтобы возможности безопасности самого Yaklang были ближе к реальному использованию, мы написали gRPC-сервер для Yak и построили на его основе клиент: Yakit.
Архитектура проекта
Ключевая технология: CDSL
CDSL (CyberSecurity Domain Specific Language) — это специализированный язык программирования для области кибербезопасности. Мы написали стековый виртуальный исполнитель, который поддерживает состояние выполнения этого тьюринг-полного языка. Мы стремимся объединить возможности безопасности и унифицировать базовую платформу с помощью подхода «CDSL».
Чтобы CDSL, разработанный для области безопасности, был максимально приближен к реальным сценариям использования, мы написали gRPC-сервер для Yaklang и построили на его основе клиент Yakit. По сути, через GUI Yakit управляются возможности движка. gRPC-сервер Yakit делает развертывание более удобным и быстрым, не зависит от платформы, допускает удаленное развертывание или локальный запуск на хосте.
- Полноценная замена BurpSuite для перехвата MITM;
- Уникальный в своем роде GUI для пассивного сканирования MITM;
- Встраивание скриптов Yaklang для динамической отладки трафика; выполнение кода в реальном времени;
- Первый в мире визуальный инструмент для фаззинга Web — Web Fuzzer;
- Магазин плагинов Yakit;
- Выполнение пользовательских скриптов или плагинов Yaklang на любом этапе пентеста; ... ...
Обзор возможностей безопасности:
Особые технологии
Интерактивный перехват MITM
При помощи консоли MITM можно на 100% заменить BurpSuite для выполнения всех операций (загрузка и установка сертификата, перехват запросов, ответов, редактирование перехваченных пакетов и т.д.). Предоставляется полный рабочий процесс: перехват => История => Repeater/Intruder. Перехватываются данные, в истории просматриваются исторические данные, выбираются пакеты для «анализа», отправляются в Web Fuzzer для повторения/внедрения. Помимо этих типичных сценариев, MITM предлагает более гибкие функции: пассивное сканирование через плагины, горячую загрузку, замену пакетов, маркировку и т.д.
Принцип модуля MITM Yakit: запускается HTTP-прокси, который автоматически перенаправляет трафик. Когда пользователь включает ручной перехват, автоматическое перенаправление прекращается, запрос блокируется и помещается в стек, где выполняется его обработка: распаковка Gzip, обработка chunk, декодирование и т.д., чтобы запрос стал читаемым для человека. Он отображается на интерфейсе пользователя, который может просматривать, изменять или повторять запрос. При повторе HTTP-пакет, сформированный пользователем, восстанавливается для обеспечения его корректности. Движок Yak реализовал HTTP-библиотеку вручную, поэтому пользователь может отправлять кастомные некорректные или ответные пакеты для эксплуатации уязвимостей в особых сценариях.
Интерактивное воспроизведение трафика и фаззинг веб-приложений
Модуль Web Fuzzer позволяет пользователю отправлять запросы в произвольном HTTP-формате. Для упрощения использования и интуитивности интерфейса бэкенд Yakit делает многое: автоматически исправляет и дополняет информацию, необходимую для передачи и анализа данных в исходном HTTP-сообщении (например, исправляет CRLF, дополняет Content-Type, передает через chunk, дополняет boundary, корректирует Content-Length и т.д.).
