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

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

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

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

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

Категории

Все категории
Loading categories
squarephish — Продвинутый фишинговый инструмент, объединяющий поток аутентификации OAuth Device Code с QR-кодами для сбора токенов аутентификации Microsoft с помощью предлогов обновления MFA. | Kitploit
Инструменты/GitHubGitHub/secureworks/squarephish
Инструменты фишингаИнструменты для выдачи себя за другое лицоФишингСоциальная инженерияАутентификацияRed Teaming
GitHubsecureworks/squarephish

squarephish

Продвинутый фишинговый инструмент, объединяющий поток аутентификации OAuth Device Code с QR-кодами для сбора токенов аутентификации Microsoft с помощью предлогов обновления MFA.

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

Популярное

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

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

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

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

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

SquarePhish

SquarePhish — это продвинутый фишинговый инструмент, использующий технику, сочетающую поток аутентификации по OAuth Device Code и QR-коды.

Подробнее об использовании потока OAuth Device Code для фишинговых атак см. в PhishInSuits.

root@kitploit:~

   _____                            _____  _     _     _     
  / ____|                          |  __ \| |   (_)   | |    
 | (___   __ _ _   _  __ _ _ __ ___| |__) | |__  _ ___| |__  
  \___ \ / _` | | | |/ _` | '__/ _ \  ___/| '_ \| / __| '_ \ 
  ____) | (_| | |_| | (_| | | |  __/ |    | | | | \__ \ | | |
 |_____/ \__, |\__,_|\__,_|_|  \___|_|    |_| |_|_|___/_| |_|
            | |                                              
            |_|                                            
                     _________
                    |         | /(
                    | O       |/ (
                    |>        |\ (  v0.1.0
                    |_________| \(

использование: squish.py [-h] {email,server} ...

SquarePhish -- v0.1.0

необязательные аргументы:
  -h, --help      показать это справочное сообщение и выйти

модули:
  {email,server}
    email         отправить вредоносное письмо с QR-кодом указанной жертве
    server        запустить вредоносный сервер, на который будут указывать QR-коды, 
                  созданные через модуль 'email', и который активирует вредоносный поток OAuth Device Code

Этапы атаки

Злоумышленник может использовать модуль email SquarePhish для отправки жертве письма с вредоносным QR-кодом. Предлог по умолчанию: жертве необходимо обновить свою аутентификацию Microsoft MFA, чтобы продолжить использование мобильной почты. Используемый идентификатор клиента — приложение Microsoft Authenticator.

Отправляя QR-код заранее, злоумышленник может избежать преждевременного запуска потока OAuth Device Code, который действует всего 15 минут.

Затем жертва сканирует QR-код из тела письма с помощью своего мобильного устройства. QR-код направляет жертву на сервер, контролируемый злоумышленником (работающий с модулем server SquarePhish), с параметром URL, содержащим адрес электронной почты жертвы.

Когда жертва заходит на вредоносный сервер SquarePhish, запускается фоновый процесс, который начинает поток аутентификации OAuth Device Code и отправляет жертве по электронной почте сгенерированный Device Code, который она затем должна ввести на легитимном сайте Microsoft для ввода Device Code (это запускает 15-минутный таймер потока OAuth Device Code).

После этого сервер SquarePhish продолжает опрашивать аутентификацию в фоновом режиме.

root@kitploit:~
[2022-04-08 14:31:51,962] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:31:57,185] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:02,372] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:07,516] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:12,847] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:17,993] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:23,169] [info] [[email protected]] Опрос аутентификации пользователя...
[2022-04-08 14:32:28,492] [info] [[email protected]] Опрос аутентификации пользователя...

Затем жертва переходит на сайт аутентификации Microsoft Device Code либо по ссылке из письма, либо через перенаправление после перехода на URL SquarePhish с мобильного устройства.

Затем жертва вводит полученный Device Code и ей предлагается дать согласие.

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

root@kitploit:~
[2022-04-08 14:32:28,796] [info] [[email protected]] Информация о токене сохранена в [email protected]

Текущее определение области действия:

root@kitploit:~
"scope": ".default offline_access profile openid"

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

!ВАЖНО: Перед использованием любого модуля обновите необходимую информацию в файле settings.config, отмеченную как Required.

Модуль Email

Отправляет целевой жертве сгенерированный QR-код, который запускает поток OAuth Device Code.

root@kitploit:~
использование: squish.py email [-h] [-c CONFIG] [--debug] [-e EMAIL]

необязательные аргументы:
  -h, --help            показать это справочное сообщение и выйти

  -c CONFIG, --config CONFIG
                        файл конфигурации squarephish [По умолчанию: settings.config]

  --debug               включить отладку сервера

  -e EMAIL, --email EMAIL
                        адрес электронной почты жертвы для отправки начального письма с QR-кодом

  -u URL, --url URL     принудительно использовать URL, переопределит значение по умолчанию
                        и не будет работать с потоком устройства по умолчанию или
                        предлогом, но может быть полезен при использовании squarephish для
                        отправки приманок, направляющих цели на другие серверы

Модуль Server

Запускает сервер, на который будет указывать сгенерированный QR-код, и при запросе запускает поток OAuth Device Code.

root@kitploit:~
использование: squish.py server [-h] [-c CONFIG] [--debug]

необязательные аргументы:
  -h, --help            показать это справочное сообщение и выйти

  -c CONFIG, --config CONFIG
                        файл конфигурации squarephish [По умолчанию: settings.config]

  --debug               включить отладку сервера

Конфигурация

Все применимые настройки для выполнения можно найти и изменить в файле settings.config. Есть несколько обязательных полей, не имеющих значения по умолчанию, которые должен заполнить пользователь: SMTP_EMAIL, SMTP_PASSWORD и SQUAREPHISH_SERVER (только при выполнении модуля email). Все параметры конфигурации задокументированы в файле настроек с помощью встроенных комментариев.

Примечание: Значения SQUAREPHISH_, присутствующие в разделе 'EMAIL' конфигурации, должны соответствовать значениям, установленным при запуске сервера SquarePhish.

root@kitploit:~
[DEFAULT]
SMTP_PORT            = 465                                                                      # Порт SMTP, по умолчанию 465
SMTP_SERVER          = "smtp.gmail.com"                                                         # SMTP-сервер, по умолчанию Gmail
SMTP_PROTO           = "ssl"                                                                    # Протокол SMTP: {ssl, tls, None (оставить пустым)}
SMTP_EMAIL           = ""                                                                       # Укажите адрес электронной почты для аутентификации
SMTP_PASSWORD        = ""                                                                       # Укажите пароль для аутентификации

[EMAIL]
SQUAREPHISH_SERVER   = ""                                                                       # Обязательно: укажите IP-адрес/домен размещенного сервера SquarePhish
SQUAREPHISH_PORT     = 8443                                                                     # Порт размещенного сервера SquarePhish, по умолчанию 8443 (должен совпадать со значением сервера ниже)
SQUAREPHISH_ENDPOINT = "/mfa"                                                                   # Конечная точка размещенного сервера SquarePhish для запуска потока OAuth Device Code, по умолчанию предлог MFA (должен совпадать со значением сервера ниже)
FROM_EMAIL           = "[email protected]"                                                     # Адрес FROM по умолчанию при отправке письма
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Тема письма по умолчанию при отправке, по умолчанию предлог MFA
EMAIL_TEMPLATE       = "pretexts/mfa/qrcode_email.html"                                         # Шаблон тела письма с QR-кодом для жертвы

[SERVER]
PORT                 = 8443
FROM_EMAIL           = "[email protected]"                                                     # Адрес FROM по умолчанию при отправке письма
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Тема письма по умолчанию при отправке, по умолчанию предлог MFA
CLIENT_ID            = "4813382a-8fa7-425e-ab75-3b753aab3abb"                                   # Идентификатор клиента для аутентификации, по умолчанию приложение Microsoft Authenticator
ENDPOINT             = "/mfa"                                                                   # Размещенная конечная точка для запуска потока OAuth Device Code, по умолчанию предлог MFA
CERT_CRT             = ""                                                                       # SSL-сертификат сервера, файл .crt
CERT_KEY             = ""                                                                       # Ключ SSL-сертификата сервера, файл .key
EMAIL_TEMPLATE       = "pretexts/mfa/devicecode_email.html"                                     # Шаблон тела письма с device code для жертвы
PERMISSION_SCOPE     = ".default offline_access profile openid"                                 # Область разрешений OAuth — https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent

Пользовательские предлоги

В настоящее время предопределенные предлоги можно найти в папке pretexts.

Для создания собственных предлогов используйте существующий шаблон из папки pretexts/iphone/. Требуется шаблон письма как для первоначального письма с QR-кодом, так и для последующего письма с device code.

Важно: При написании собственного предлога обратите внимание на наличие %s в обоих шаблонах предлогов. Он нужен, чтобы SquarePhish мог подставить правильные данные при генерации писем (данные QR-кода и/или значение device code).

OPSEC

В файле utils.py определены несколько заголовков HTTP-ответа. Эти заголовки предназначены для переопределения любых существующих значений заголовков ответа Flask и для обеспечения более «легитимного» ответа от сервера. Эти значения заголовков можно изменять, удалять и/или добавлять дополнительные заголовки для лучшей OPSEC.

root@kitploit:~
{
    "vary": "Accept-Encoding",
    "server": "Microsoft-IIS/10.0",
    "tls_version": "tls1.3",
    "content-type": "text/html; charset=utf-8",
    "x-appversion": "1.0.8125.42964",
    "x-frame-options": "SAMEORIGIN",
    "x-ua-compatible": "IE=Edge;chrome=1",
    "x-xss-protection": "1; mode=block",
    "x-content-type-options": "nosniff",
    "strict-transport-security": "max-age=31536000",
}
Скачать инструмент