Modlishka

Exploitation

Реверс-прокси для фишинга — проксирует реальные сайты в реальном времени и перехватывает учётные данные и сессионные куки. Поддерживает TLS, кастомные домены и автоматическое внедрение payload-а. Альтернатива Evilginx без написания phishlets.

Добавлен 07.07.2026 · Обновлён 07.07.2026 · Exploitation
Установка
# Требуется Go 1.14+:
git clone https://github.com/drk1wi/Modlishka
cd Modlishka
go build

# Запуск:
./modlishka -proxyDomain attacker.com -target targetsite.com \
  -listeningPort 443 -tls true
переведено ИИ

..Modlishka..

Лицензия Платформа Статус сборки Версия Go

Modlishka — это инструмент для тестирования на проникновение с открытым исходным кодом, который действует как прокси типа «человек посередине». Он внедряет новый технический подход к обработке потока HTTP-трафика на основе браузера, что позволяет прозрачно проксировать трафик с назначением в нескольких доменах (как TLS, так и non-TLS) через один домен, без необходимости установки какого-либо дополнительного сертификата на клиенте.

В 2019 году Modlishka стала первым публично выпущенным исследовательским инструментом, продемонстрировавшим новую технику атаки «атакующий посередине» (Adversary-in-the-Middle, AitM), способную обходить многие распространенные реализации двухфакторной аутентификации (2FA) — с целью повышения осведомленности и улучшения реальных средств защиты.

Примечание: Этот проект предназначен исключительно для авторизованного исследования и профессионального тестирования безопасности.

Области применения

Тестирование безопасности: - Этичные фишинговые тесты на проникновение с прозрачным, автоматизированным обратным прокси и универсальной поддержкой обхода 2FA - Выявление слабостей в схемах 2FA для стимулирования разработки более безопасных отраслевых решений

Общее: - Обертывание устаревших веб-сайтов с TLS - Путание сканеров пауков и автоматических сканеров - Универсальный прозрачный обратный прокси для других проектов

Возможности

Общие: - Настраиваемое по точкам управления обратное проксирование HTTP и HTTPS для произвольных доменов - Полный контроль потока кросс-доменного TLS-трафика без установки клиентского сертификата - Простая конфигурация через параметры командной строки и файлы конфигурации JSON - Инъекция JavaScript-полезной нагрузки на основе шаблонов - Обертывание с TLS, аутентификация и заголовки безопасности для устаревших веб-сайтов - Бесплатный от состояния дизайн для удобного масштабирования через DNS-балансировщик - Расширяемость через модульные плагины - Плагин автоматической генерации TLS-сертификатов (требует самоподписанный CA) - Кроссплатформенность: Windows, macOS, Linux, BSD

Безопасность: - Поддержка большинства схем двухфакторной аутентификации «из коробки» - Реализация атаки «Перехват клиентского домена» (Client Domain Hooking) с диагностическим плагином - Сбор учетных данных пользователей с контекстом, основанным на параметрах URL - Плагин веб-панели для управления учетными данными и подмены сессий (бета-версия) - Не требуются шаблоны веб-сайтов — автоматическая обработка в большинстве случаев

Демонстрация

Modlishka в действии против примера схемы 2FA (обход на основе SMS):

Демо

Установка

Последний исходный код: zip | tar

Используя go install:

go install github.com/drk1wi/Modlishka@latest

Ручная сборка:

git clone https://github.com/drk1wi/Modlishka.git
cd Modlishka
make

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

./dist/proxy -h

Usage of ./dist/proxy:

  -cert string
      base64 encoded TLS certificate
  -certKey string
      base64 encoded TLS certificate key
  -certPool string
      base64 encoded Certification Authority certificate
  -config string
      JSON configuration file. Convenient instead of using command line switches.
  -controlCreds string
      Username and password to protect the credentials page. user:pass format
  -controlURL string
      URL to view captured credentials and settings. (default "SayHello2Modlishka")
  -credParams string
      Credential regexp with matching groups. e.g.: base64(username_regex),base64(password_regex)
  -debug
      Print debug information
  -disableSecurity
      Disable proxy security features like anti-SSRF. Disable at your own risk.
  -disableDynamicSubdomains
      Translate URL domain names to be the proxy domain
  -dynamicMode
      Enable dynamic mode for 'Client Domain Hooking'
  -forceHTTP
      Strip all TLS from the traffic and proxy through HTTP only
  -forceHTTPS
      Strip all clear-text from the traffic and proxy through HTTPS only
  -allowSecureCookies
      Allow secure cookies to be set. Useful when using HTTPS and cookies have SameSite=None
  -ignoreTranslateDomains string
      Comma separated list of domains to never translate and proxy
  -jsRules string
      Comma separated list of URL patterns and JS base64 encoded payloads that will be injected
      e.g.: target.tld:base64(alert(1))
  -listeningAddress string
      Listening address (default "127.0.0.1")
  -listeningPortHTTP int
      Listening port for HTTP requests (default 80)
  -listeningPortHTTPS int
      Listening port for HTTPS requests (default 443)
  -log string
      Local file to which fetched requests will be written (appended)
  -pathHostRules string
      Comma separated list of URL path patterns and target domains
      e.g.: /path/:example.com,/path2:www.example.com
  -plugins string
      Comma separated list of enabled plugin names (default "all")
  -postOnly
      Log only HTTP POST requests
  -proxyAddress string
      Proxy that should be used (socks/https/http) e.g.: http://127.0.0.1:8080
  -proxyDomain string
      Proxy domain name that will be used e.g.: proxy.tld
  -rules string
      Comma separated list of string patterns and their replacements
      e.g.: base64(old):base64(new),base64(older):base64(newer)
  -staticLocations string
      Comma separated list of FQDNs in location headers that should be preserved
  -target string
      Target domain name e.g.: target.tld
  -targetRes string
      Comma separated list of domains that were not translated automatically
      e.g.: static.target.tld
  -terminateTriggers string
      Comma separated list of URLs from target's origin which will trigger session termination
  -terminateUrl string
      URL to which a client will be redirected after session termination
  -trackingCookie string
      Name of the HTTP cookie used to track the client (default "id")
  -trackingParam string
      Name of the HTTP parameter used to track the client (default "id")

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

Modlishka распространяется под этой лицензией.

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

Благодарности

Автор: Modlishka разработана и реализована Пиотром Дужинским (@drk1wi). Все права защищены.

Ознакомьтесь со списком участников, которые приняли участие в этом проекте.

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

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

Комментарии
Войдите, чтобы оставить комментарий