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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/li4n0/revsuit
Фреймворки для пентестаРазведкаАнализ уязвимостейЭксплуатацияСбор информацииВеб-безопасностьТестирование на ПроникновениеАнализ DNS
GitHubli4n0/revsuit

revsuit

RevSuit — это гибкая и мощная платформа для обратных соединений, предназначенная для приема соединений от целевого хоста при пентесте.

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

Популярное

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

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

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

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

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

RevSuit — Гибкая и мощная платформа для обратного подключения

English |简体中文

Обзор

RevSuit — это гибкая и мощная платформа для обратного подключения, предназначенная для приема соединений от целевого хоста во время пентеста. В настоящее время поддерживаются протоколы HTTP, DNS, RMI, LDAP, MySQL и FTP.

Гибкость:

  1. RevSuit позволяет задавать гибкие правила для захвата различных соединений.
  2. Развертывание и запуск через бинарные файлы без головной боли от зависимостей.

Мощность:

  1. Позволяет настраивать ответ для разных соединений через правила и поддерживает динамическую генерацию ответов с использованием переменных шаблонов.
  2. Поддерживает множество протоколов, а также углубленное использование некоторых из них, например, DNS rebinding, MySQL Load Local Data, JDBC Deserialize Exploit, FTP Passive Mode SSRF и др.
  3. Нативная поддержка совместной работы со сканерами.
  4. Поддержка push-уведомлений в популярные офисные программы.
  5. Другие продуманные и детализированные функции.

Базовое использование

Установка и настройка

Скачайте последний релиз напрямую или соберите самостоятельно, следуя инструкциям:

git clone https://github.com/Li4n0/revsuit.git
cd revsuit/frontend && yarn install && yarn build
cd ../ && go build ./cmd/revsuit/revsuit.go

RevSuit сгенерирует файл конфигурации по умолчанию при первом запуске. Измените файл конфигурации в соответствии с вашими потребностями, затем перезапустите. Подробное описание файла конфигурации можно найти здесь: Примечания к конфигурации

Запуск

Для определения местоположения по IP требуется база данных IP-адресов. По умолчанию используется QQwry, также можно изменить конфигурацию для использования GeoIP. Если выбранная база данных недоступна в текущем каталоге или обновлялась более недели назад, RevSuit автоматически загрузит последнюю версию. Если загрузка не удалась, поле IpArea всегда будет пустым.

$ ./revsuit   
2021/05/16 22:55:10 [ INFO] Загрузка qqwry.dat...

    ____            _____       _ __ 
   / __ \___ _   __/ ___/__  __(_) /_
  / /_/ / _ \ | / /\__ \/ / / / / __/
 / _, _/  __/ |/ /___/ / /_/ / / /_  
/_/ |_|\___/|___//____/\__,_/_/\__/    
                                   vBeta0.1
     https://revsuit.pro
2021/05/16 22:55:22 [ INFO] Запуск HTTP-сервера на :80, токен:your_token
2021/05/16 22:55:22 [ INFO] Начало прослушивания FTP PASV-порта на :2020, PasvIP = 10.9.8.7
2021/05/16 22:55:22 [ INFO] Запуск FTP-сервера на :21
2021/05/16 22:55:22 [ INFO] Запуск MySQL-сервера на :3306
2021/05/16 22:55:22 [ INFO] Запуск RMI-сервера на :1099
2021/05/16 22:55:22 [ INFO] Запуск DNS-сервера на :53

После запуска вы можете перейти по пути /revsuit/admin/ HTTP-сервера и ввести токен для доступа к панели управления.

Создание правил и получение соединения

Рассмотрим на примере создания HTTP-правил:

Несколько примечаний:

  1. name и flagFormat правила уникальны.
  2. FlagFormat использует синтаксис регулярных выражений, и для разных протоколов поля, совпадающие с flagFormat, различаются. Вы можете проверить соответствующие подсказки при создании правил для получения подробностей.
  3. Правила с более высоким рангом применяются в первую очередь.
  4. Для разных протоколов можно задать разные пользовательские ответы, а для некоторых протоколов можно использовать переменные шаблонов.
  5. Вы можете задать именованные группы в регулярном выражении flagFormat, и результат совпадения группы также будет использоваться как переменная шаблона.

Как показано ниже, мы создаем правило, использующее встроенные переменные шаблонов и пользовательские переменные шаблонов для HTTP-протокола, и называем его test_create_rule:

img.png

Затем делаем запрос, удовлетворяющий правилу, и просматриваем ответ.

img.png

Запрос также будет зарегистрирован на платформе.

img.png

Уведомления

Если вы хотите получать уведомления о новых соединениях в вашем офисном ПО, вы можете настроить webhook-адрес соответствующего программного обеспечения в файле конфигурации и включить переключатель Notice для соответствующего правила. В настоящее время поддерживаются только четыре типа ПО: dingtalk, wechat, lark, slack. (Поддержка Discord и Telegram запланирована.)

Импорт/Экспорт правил

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

Точка входа для этой функции находится в Settings > RULES.

Правила хранятся в формате yaml для импорта/экспорта, например:

http:
  - name: test_create_rule
    flag_format: (?P<what>\w+)\?
    rank: 0
    push_to_client: false
    notice: false
    response_status_code: "302"
    response_headers:
      Location: ${query.url}
    response_body: ${header.say} ${what}
  - name: other_rule
    flag_format: other
    rank: 1
    push_to_client: false
    notice: true
    response_status_code: "200"
    response_headers: { }
    response_body: Hello Revsuit!
dns:
  ... ...

Продвинутое использование

Использование со сканером

RevSuit был выделен из моего проекта сканера, поэтому его нативная поддержка работает со сканерами.

С точки зрения RevSuit, сканер называется клиентом.

Установка соединения

RevSuit использует Server-sent Events (SSE) HTTP для установления одностороннего канала связи с клиентом.

API для канала: /revsuit/api/events?message. Клиент должен сначала добавить заголовок Token: your token в заголовок, а затем обратиться к API для установления канала. Когда платформа получает новый запрос, flag, захваченный правилом, передается клиенту через этот канал. img.png

Вот простой пример с использованием библиотеки sse на Golang.

Несколько клиентов

Как показано выше, RevSuit поддерживает несколько клиентов, и каждый клиент в состоянии соединения получает push-уведомление с flag, что позволяет поддерживать распределенное сканирование.

Если вы не хотите, чтобы каждый клиент получал все push-уведомления flag, вы можете использовать заголовок запроса Flag-Filter при создании SSE-соединения, чтобы задать формат (регулярное выражение) flag, который должен получать этот клиент:

img.png

Временная очередь

RevSuit будет временно хранить flag в очереди, когда нет клиентского соединения, и отправлять его, когда клиент подключается, так что вам не нужно беспокоиться о пропуске уязвимости из-за отключения клиента. (Это особенно полезно для обнаружения уязвимостей с задержкой срабатывания.)

Использование flagGroup

В реальном сценарии сканирования уязвимостей вы можете отправлять множество различных полезных нагрузок для одной точки уязвимости, и все они могут быть валидными, что приведет к получению платформой обратного подключения множества запросов, но все они вызваны одной и той же уязвимостью. Если вы не хотите, чтобы клиент получал так много flag для одной уязвимости, вы можете воспользоваться функцией flagGroup в правиле flagFormat.

Скачать инструмент