Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
MASAPT — Мультиагентная система для автоматизированного тестирования на проникновение (MASAPT) | Kitploit
Инструменты/GitHubGitHub/marzekan/masapt
Фреймворки для пентестаРазведкаСканеры уязвимостейКартирование сетиТестирование на ПроникновениеОбучение и Образование
GitHubmarzekan/masapt

MASAPT

Мультиагентная система для автоматизированного тестирования на проникновение (MASAPT)

Репозиторий
3044 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

MASAPT 🤖 ↔ 🤖 ↔ 🤖


 

❗ Отказ от ответственности

Этот инструмент разработан в академических и исследовательских целях в рамках университетского курса. Использование MASAPT для атак на цели без предварительного согласия незаконно.

Разработчики не несут ответственности за любой ущерб, причинённый с помощью этого инструмента, и осуждают любое злонамеренное использование MASAPT. Этот инструмент не предназначен для использования в любой профессиональной среде на данный момент, это лишь доказательство концепции для лежащей в основе теоретической модели.


Добро пожаловать в...

Многоагентная система для автоматизированного тестирования на проникновение 🐱‍💻

usage_gif

 

Разведка → Эксплуатация → Отчёт → 📝

Автономная система агентов SPADE, взаимодействующих через XMPP для координации и выполнения тестирования на проникновение. В CLI-инструменте!

Передайте URL, подождите немного, прочитайте отчёт!

   

report1 report1


Что такое MASAPT?

Это доказательство концепции, многоагентная система, разработанная на Python, предназначенная для автоматизации процесса тестирования на проникновение структурированным и интеллектуальным способом.

Конечная цель — создать рабочий, гибкий, распределённый, основанный на CLI инструмент для тестирования на проникновение, который можно использовать для автоматизации задач тестирования на проникновение.

Текущие возможности:

  • Выполнение сканирования сети с помощью Nmap
  • Выполнение базовой SQL-инъекции с помощью SQLMap
  • Генерация отчёта с результатами выполненных эксплойтов и разведки

Планы на будущее и возможности перечислены здесь.


Как запустить?

Сложно.

Установка требований:

Имеется довольно много предварительных условий и требований к установке:

  • Kali Linux 2020.4 (опционально) — любая ОС на основе Debian должна работать.
  • Python 3.8
  • Pip3
  • SPADE
  • SQLMap (уже установлен в Kali)
  • Nmap (уже установлен в Kali)

Помимо Python и инструментов тестирования на проникновение, которые можно найти в Kali, вам также понадобится доступ к какому-либо XMPP-сервису. Для тестирования системы я использовал ejabberd, запущенный локально.

Чтобы запустить агентов на вашем XMPP-сервере, вам необходимо создать следующих пользователей. Вы, конечно, можете создать других пользователей, но тогда вам нужно будет передать новые параметры JID и PWD при создании агентов в скрипте masapt.

JIDПАРОЛЬ
repoter@domainrepoterSecret

Настройка:

После установки всех предварительных требований и настройки XMPP:

  1. Перейдите в папку проекта

    root@kitploit:~
        cd ../MASAPT
    
  2. Добавьте директорию в PATH

    root@kitploit:~
        export PATH=$PATH:/path/to/MASAPT
        source ~/.bashrc
    
  3. Установите Python зависимости

    root@kitploit:~
        pip install -r requirements.txt
    
  4. Сделайте скрипт masapt исполняемым

    root@kitploit:~
        chmod +x masapt
    

Запуск:

Запустите систему с помощью:

root@kitploit:~
    masapt -t url/to/target

 


Дальнейшая работа

  • скрипт install.sh
  • Агенты Docker
  • Подключение к базе эксплойтов/базе знаний

Больше агентов:

  • DoS-агент
  • XSS-агент
  • Агент переполнения буфера

Расширить Explorer.py, чтобы он мог:

  • Запускать Harvester
  • Запускать больше OSINT-инструментов

Расширить SQLinjector.py, чтобы он мог:

  • Лучше использовать SQLMap
  • Адаптироваться к большему количеству типов баз данных

Расширить Coordinator.py, чтобы он мог:

  • Принимать более обоснованные решения о том, какие агенты выполняют атаки

Обзор системы 🔎

Система MASAPT задумывалась как модульная, распределённая и прагматичная. Это означает, что агенты, составляющие систему, независимы от основного процесса, обновляемы и используют существующие, 'проверенные в бою' инструменты тестирования на проникновение.

Для достижения поставленных целей агенты разрабатываются как часть трёхуровневой модели, которая выведена из стандартных фаз тестирования на проникновение (планирование - выполнение - пост-выполнение). Общий обзор этой модели можно увидеть на Img1 ниже.

Все теоретические концепции в этом обзоре уже реализованы в коде (за исключением идеи для будущего — Img 8.). Эти концепции должны продолжать реализовываться в любых будущих обновлениях системы.

Трёхуровневая модель

Основная идея трёхуровневой модели — предоставить структуру для организации и классификации агентов в этой системе.

Первый уровень модели содержит агента(ов) Explorer, которые отвечают за проведение OSINT и сбор любой полезной информации о цели.

Второй уровень содержит агента Coordinator и Exploit агентов. Coordinator — это единственный агент, который решает, какие агенты-эксплойты будут участвовать в текущем тестировании. Агенты-эксплойты, как следует из названия, запускают эксплойты — SQL-инъекции, XSS, DoS, переполнение буфера... Таких агентов-эксплойтов может быть много.

Третий уровень содержит агента Reporter, задача которого — собрать все данные эксплойтов, результаты, дампы данных от всех агентов-эксплойтов и обобщить их в итоговом отчёте. Отчёт затем показывается пользователю и сохраняется локально.

На первом изображении толстые стрелки представляют поток данных в модели.

 

Img1     Img2

 

Img2 показывает ту же модель, что и первое изображение, но более детально — агенты чётко видны на своих соответствующих уровнях. Сплошные стрелки на этом изображении снова представляют поток данных в модели, что, следовательно, показывает, какие агенты общаются друг с другом. Видно, что агент Explorer отправляет данные агенту Coordinator, который, в свою очередь, отправляет некоторые данные агентам Exploit (SQLinjector, agent2, agent3). Наконец, все данные, собранные агентами-эксплойтами, передаются агенту Reporter, который затем компилирует их, обобщает и представляет пользователю.

Также видно, что только агенты Explorer и Exploit (SQLinjector) взаимодействуют с внешней средой (тестовой целью). Это представлено двунаправленными пунктирными стрелками.


Архитектура

Как упоминалось ранее, одной из характеристик системы MASAPT является её распределённость. Один из аспектов этого уже реализован, так как все агенты реализованы как независимые программы, запускаемые главным скриптом (masapt).

Img 3. показывает, как текущая система была настроена и протестирована. Видно, что агенты используют среду SPADE для общения через сервер XMPP (ejabberd), который настроен на локальной системе. Тестовая цель (SQLi Labs) также настроена локально. Такая настройка хороша для тестирования системы, но не показывает полные возможности MASAPT как распределённой системы.

 

 

Img 4., с другой стороны, показывает одну из возможных будущих реализаций MASAPT. Она показывает распределённую многоагентную систему, которая использует XMPP для связи и Docker для запуска на множестве различных систем. Сплошные стрелки снова показывают аспект связи и потока данных системы, демонстрируя, как агенты отправляют и получают данные через центральный сервер XMPP.

 

 

Причина использования XMPP

Основная причина использования XMPP для связи агентов — обеспечить надёжный, не зависящий от языка способ общения. При таком подходе не все будущие агенты должны быть написаны на Python или даже использовать среду SPADE.

Логика здесь в том, что в будущем может возникнуть необходимость включить в MASAPT другую систему (например, агентов, написанных на других языках программирования). Таким образом, этот 'XMPP-подход' — лучший способ обеспечить такую гибкость системы.

Поведение агентов

Помимо способности общаться, поведение является вторым по важности аспектом любого агента. Агенты MASAPT и их поведение моделируются с помощью набора состояний, что делает их конечными автоматами. Среда SPADE хорошо поддерживает создание конечных автоматов.

Диаграммы ниже показывают все возможные состояния, в которых может находиться агент в любой момент времени. Диаграммы также показывают, какие события вызывают переход агента в следующее состояние. Все будущие агенты должны быть реализованы аналогичным образом.

Все будущие агенты-эксплойты (например, DoS, XSS...) должны быть реализованы с использованием диаграммы Img 8. в качестве шаблона.

 

Img5 Img6

 

Img7   Img8

 

Ссылки 🔗

[1] Большое спасибо Audi-1 и его отличным SQLI labs за тестирование SQL-инъекций на основе ошибок, слепых логических и временных!

[2] Chu, Ge, and Alexei Lisitsa. "Agent-based (BDI) modeling for automation of penetration testing." arXiv preprint arXiv:1908.06970 (2019).

[3] Qiu, X., Wang, S., Jia, Q., Xia, C., & Xia, Q. (2014, October). An automated method of penetration testing. In 2014 IEEE Computers, Communications and IT Applications Conference (pp. 211-216). IEEE.

Скачать инструмент
explorer@domain
explorerSecret
coordinator@domaincoordinatorSecret
sqlinjector@domaininjectorSecret