Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
squarephish — Ferramenta avançada de phishing que combina o fluxo de autenticação de código de dispositivo OAuth com códigos QR para colher tokens de autenticação da Microsoft usando pretextos de atualização de MFA. | Kitploit
Ferramentas/GitHubGitHub/secureworks/squarephish
Ferramentas de PhishingFerramentas de ImpersonaçãoPhishingEngenharia SocialAutenticaçãoRed Teaming
GitHubsecureworks/squarephish

squarephish

Ferramenta avançada de phishing que combina o fluxo de autenticação de código de dispositivo OAuth com códigos QR para colher tokens de autenticação da Microsoft usando pretextos de atualização de MFA.

Ver Repositório
34653há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

SquarePhish

SquarePhish é uma ferramenta de phishing avançada que utiliza uma técnica combinando o fluxo de autenticação de código do dispositivo OAuth e códigos QR.

Consulte PhishInSuits para mais detalhes sobre o uso do fluxo de código do dispositivo OAuth para ataques de phishing.

root@kitploit:~

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

usage: squish.py [-h] {email,server} ...

SquarePhish -- v0.1.0

optional arguments:
  -h, --help      show this help message and exit

modules:
  {email,server}
    email         send a malicious QR Code email to a provided victim
    server        host a malicious server QR Codes generated via the 'email' module will 
                  point to that will activate the malicious OAuth Device Code flow

Etapas do Ataque

Um atacante pode usar o módulo email do SquarePhish para enviar um e-mail com um código QR malicioso para uma vítima. O pretexto padrão é que a vítima precisa atualizar a autenticação MFA da Microsoft para continuar usando o e-mail no celular. O ID do cliente atualmente em uso é o do aplicativo Microsoft Authenticator.

Ao enviar um código QR primeiro, o atacante pode evitar iniciar prematuramente o fluxo de código do dispositivo OAuth, que dura apenas 15 minutos.

A vítima então escaneará o código QR encontrado no corpo do e-mail com seu dispositivo móvel. O código QR direcionará a vítima para o servidor controlado pelo atacante (executando o módulo server do SquarePhish), com um parâmetro de URL definido para seu endereço de e-mail.

Quando a vítima visita o servidor malicioso SquarePhish, um processo em segundo plano é acionado que iniciará o fluxo de autenticação de código do dispositivo OAuth e enviará por e-mail para a vítima um código de dispositivo gerado, que ela deve inserir no site legítimo de código do dispositivo da Microsoft (isso iniciará o temporizador de 15 minutos do fluxo de código do dispositivo OAuth).

O servidor SquarePhish continuará então a sondar a autenticação em segundo plano.

root@kitploit:~
[2022-04-08 14:31:51,962] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:31:57,185] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:02,372] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:07,516] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:12,847] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:17,993] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:23,169] [info] [[email protected]] Polling for user authentication...
[2022-04-08 14:32:28,492] [info] [[email protected]] Polling for user authentication...

A vítima então visitará o site de autenticação de código do dispositivo da Microsoft a partir do link fornecido no e-mail ou através de um redirecionamento ao visitar a URL do SquarePhish em seu dispositivo móvel.

A vítima então inserirá o código de dispositivo fornecido e será solicitada a dar consentimento.

Após a vítima autenticar e consentir, um token de autenticação é salvo localmente e fornecerá ao atacante acesso através do escopo definido do aplicativo solicitante.

root@kitploit:~
[2022-04-08 14:32:28,796] [info] [[email protected]] Token info saved to [email protected]

A definição de escopo atual:

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

Uso

!IMPORTANTE: Antes de usar qualquer módulo, atualize as informações necessárias no arquivo settings.config marcadas com Required.

Módulo de E-mail

Envie para a vítima alvo um código QR gerado que acionará o fluxo de código do dispositivo OAuth.

root@kitploit:~
usage: squish.py email [-h] [-c CONFIG] [--debug] [-e EMAIL]

optional arguments:
  -h, --help            show this help message and exit

  -c CONFIG, --config CONFIG
                        squarephish config file [Default: settings.config]

  --debug               enable server debugging

  -e EMAIL, --email EMAIL
                        victim email address to send initial QR code email to

  -u URL, --url URL     force a url to use, this will override the default
                        and will not work with default device flow or
                        pretext but can be useful if using squarephish to
                        send lures directing targets to other servers

Módulo de Servidor

Hospede um servidor para o qual um código QR gerado será direcionado e, quando solicitado, acionará o fluxo de código do dispositivo OAuth.

root@kitploit:~
usage: squish.py server [-h] [-c CONFIG] [--debug]

optional arguments:
  -h, --help            show this help message and exit

  -c CONFIG, --config CONFIG
                        squarephish config file [Default: settings.config]

  --debug               enable server debugging

Configuração

Todas as configurações aplicáveis para execução podem ser encontradas e modificadas através do arquivo settings.config. Existem várias informações necessárias que não possuem valor padrão e devem ser preenchidas pelo usuário: SMTP_EMAIL, SMTP_PASSWORD e SQUAREPHISH_SERVER (apenas ao executar o módulo de e-mail). Todas as opções de configuração foram documentadas no arquivo de configurações através de comentários em linha.

Nota: Os valores SQUAREPHISH_ presentes na seção 'EMAIL' da configuração devem corresponder aos valores definidos ao executar o servidor SquarePhish.

root@kitploit:~
[DEFAULT]
SMTP_PORT            = 465                                                                      # SMTP port, defaulted to 465
SMTP_SERVER          = "smtp.gmail.com"                                                         # SMTP server, defaulted to GMail
SMTP_PROTO           = "ssl"                                                                    # SMTP protocol: {ssl, tls, None (leave empty)}
SMTP_EMAIL           = ""                                                                       # Provide authenticating email address here
SMTP_PASSWORD        = ""                                                                       # Provide authenticating password here

[EMAIL]
SQUAREPHISH_SERVER   = ""                                                                       # Required: Provide IP address/domain name of hosted SquarePhish server
SQUAREPHISH_PORT     = 8443                                                                     # Hosted SquarePhish server port, defaulted to 8443 (this should match the below server value)
SQUAREPHISH_ENDPOINT = "/mfa"                                                                   # Hosted SquarePhish endpoint to trigger OAuth Device Code flow, defaulted to an MFA pretext (this should match the below server value)
FROM_EMAIL           = "[email protected]"                                                     # Default FROM address when sending an email
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Default SUBJECT when sending an email, defauled to an MFA pretext
EMAIL_TEMPLATE       = "pretexts/mfa/qrcode_email.html"                                         # Email body template for QR code email to victim

[SERVER]
PORT                 = 8443
FROM_EMAIL           = "[email protected]"                                                     # Default FROM address when sending an email
SUBJECT              = "ACTION REQUIRED: Multi-Factor Authentication (MFA) Update"              # Default SUBJECT when sending an email, defauled to an MFA pretext
CLIENT_ID            = "4813382a-8fa7-425e-ab75-3b753aab3abb"                                   # Authenticating client ID, defaulted to Microsoft Authenticator App
ENDPOINT             = "/mfa"                                                                   # Hosted endpoint to trigger OAuth Device Code flow, defaulted to an MFA pretext
CERT_CRT             = ""                                                                       # Server SSL certificate .crt file
CERT_KEY             = ""                                                                       # Server SSL certificate .key file
EMAIL_TEMPLATE       = "pretexts/mfa/devicecode_email.html"                                     # Email body template for device code email to victim
PERMISSION_SCOPE     = ".default offline_access profile openid"                                 # OAuth permission scope - https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-permissions-and-consent

Pretextos Personalizados

Atualmente, os pretextos pré-definidos podem ser encontrados na pasta pretextos.

Para escrever pretextos personalizados, use o modelo existente através da pasta pretexts/iphone/. Um modelo de e-mail é necessário tanto para o e-mail inicial do código QR quanto para o e-mail de acompanhamento do código do dispositivo.

Importante: Ao escrever um pretexto personalizado, observe a existência de %s em ambos os modelos de pretexto. Isso existe para permitir que o SquarePhish preencha os dados corretos ao gerar e-mails (dados do código QR e/ou valor do código do dispositivo).

OPSEC

Existem vários cabeçalhos de resposta HTTP definidos no arquivo utils.py. Esses cabeçalhos são definidos para substituir quaisquer valores de cabeçalho de resposta Flask existentes e fornecer uma resposta mais 'legítima' do servidor. Esses valores de cabeçalho podem ser modificados, removidos e/ou cabeçalhos adicionais podem ser incluídos para melhor 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",
}
Baixar ferramenta