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
o365spray — Ferramenta de enumeração de nomes de usuário e pulverização de senhas voltada para o Microsoft O365. | Kitploit
Ferramentas/GitHubGitHub/0xzdh/o365spray
Ataques de SenhaColeta de InformaçõesTestes de PenetraçãoSegurança na NuvemAutenticação
GitHub0xzdh/o365spray

o365spray

Ferramenta de enumeração de nomes de usuário e pulverização de senhas voltada para o Microsoft O365.

Ver Repositório
1.0k121há 1 anoRevisado 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

o365spray

o365spray é uma ferramenta de enumeração de nomes de usuário e pulverização de senhas voltada para o Microsoft Office 365 (O365). Esta ferramenta reimplementa uma coleção de técnicas de enumeração e pulverização pesquisadas e identificadas por aqueles mencionados em Agradecimentos.

Apenas para fins educacionais, autorizados e/ou de pesquisa.

AVISO: Os módulos de enumeração de usuários Autologon, oAuth2 e RST funcionam enviando uma única tentativa de autenticação por usuário. Se os módulos forem executados em conjunto com a pulverização de senhas em uma única execução, o o365spray redefinirá automaticamente o temporizador de bloqueio antes de realizar a pulverização de senhas – se a enumeração for executada sozinha, o usuário deve estar ciente de quantas e quando cada tentativa de autenticação foi feita e redefinir manualmente o temporizador de bloqueio antes de realizar qualquer pulverização de senhas.

Índice

  • Uso
  • Módulos
    • Validação
    • Enumeração
    • Pulverização
  • URLs Base do FireProx
    • Enumeração
    • Pulverização
  • Randomização de User Agent
  • Agradecimentos
  • Bugs
  • Versões Anteriores

Uso

o365spray

Validar se um domínio usa O365:
o365spray --validate --domain test.com

Realizar enumeração de nomes de usuário contra um domínio específico:
o365spray --enum -U usernames.txt --domain test.com

Realizar pulverização de senhas contra um domínio específico:
o365spray --spray -U usernames.txt -P passwords.txt --count 2 --lockout 5 --domain test.com

root@kitploit:~
usage: o365spray [flags]

o365spray | Microsoft O365 User Enumerator and Password Sprayer -- v3.0.4

options:
  -h, --help            show this help message and exit

Target:
  -d DOMAIN, --domain DOMAIN
                        Target domain for validation, user enumeration, and/or
                        password spraying.

Actions:
  --validate            Run domain validation only.

  --enum                Run username enumeration.

  --spray               Run password spraying.

Credentials:
  -u USERNAME, --username USERNAME
                        Username(s) delimited using commas.

  -p PASSWORD, --password PASSWORD
                        Password(s) delimited using commas.

  -U USERFILE, --userfile USERFILE
                        File containing list of usernames.

  -P PASSFILE, --passfile PASSFILE
                        File containing list of passwords.

  --paired PAIRED       File containing list of credentials in username:password
                        format.

Password Spraying Configuration:
  -c COUNT, --count COUNT
                        Number of password attempts to run per user before resetting
                        the lockout account timer.
                        Default: 1

  -l LOCKOUT, --lockout LOCKOUT
                        Lockout policy's reset time (in minutes).
                        Default: 15 minutes

Module Configuration:
  --validate-module VALIDATE_MODULE
                        Specify which valiadtion module to run.
                        Default: getuserrealm

  --enum-module ENUM_MODULE
                        Specify which enumeration module to run.
                        Default: office

  --spray-module SPRAY_MODULE
                        Specify which password spraying module to run.
                        Default: oauth2

  --adfs-url ADFS_URL   AuthURL of the target domain's ADFS login page for password
                        spraying.

Scan Configuration:
  --sleep [-1, 0-120]   Throttle HTTP requests every `N` seconds. This can be randomized
                        by passing the value `-1` (between 1 sec and 2 mins).
                        Default: 0

  --jitter [0-100]      Jitter extends --sleep period by percentage given (0-100).
                        Default: 0

  --rate RATE           Number of concurrent connections (attempts) during
                        enumeration and spraying.
                        Default: 10

  --poolsize POOLSIZE   Maximum size of the ThreadPoolExecutor.
                        Default: 10000

  --safe SAFE           Terminate password spraying run if `N` locked accounts
                        are observed.
                        Default: 10

HTTP Configuration:
  --useragents USERAGENTS
                        File containing list of user agents for randomization.

  --timeout TIMEOUT     HTTP request timeout in seconds. Default: 25

  --proxy PROXY         HTTP/S proxy to pass traffic through
                        (e.g. http://127.0.0.1:8080).

  --proxy-url PROXY_URL
                        FireProx API URL.

Output Configuration:
  --output OUTPUT       Output directory for results and test case files.
                        Default: current directory

Debug:
  -v, --version         Print the tool version.

  --debug               Enable debug output.

Módulos

Validação

  • getuserrealm (padrão)

Enumeração

  • autologon
  • oauth2 (padrão)
  • office
  • onedrive
  • rst

O módulo onedrive depende de o(s) usuário(s) alvo já terem feito login no OneDrive. Se um usuário válido ainda não usou o OneDrive, sua conta será exibida como 'inválida'.

Pulverização

  • activesync
  • adfs
  • autodiscover
  • autologon
  • oauth2 (padrão)
  • reporting
  • rst

O módulo oAuth2 pode ser usado para pulverização federada, mas deve-se observar que isso só funcionará quando o locatário alvo tiver a sincronização de senhas habilitada – caso contrário, a autenticação sempre falhará. O mecanismo padrão é usar o módulo 'adfs' quando a federação for identificada.

URLs Base do FireProx

A Microsoft tornou mais difícil realizar pulverização de senhas, portanto, o uso de ferramentas como FireProx ajuda a contornar a limitação de taxa baseada em endereços IP.

Para usar o FireProx com o o365spray, crie uma URL de proxy para o módulo o365spray específico com base nas tabelas de URL base abaixo. A URL do proxy pode então ser passada via --proxy-url.

NOTA: Certifique-se de usar a flag correta --enum-module ou --spray-module com a URL base usada para criar a URL do FireProx.

Enumeração

O valor 'tenant' na URL do OneDrive é o valor do nome de domínio fornecido via a flag --domain.

Pulverização

Randomização de User Agent

A randomização de User-Agent agora é suportada e pode ser realizada fornecendo um arquivo de User-Agent para a flag --useragents. O o365spray inclui um arquivo de exemplo com mais de 4.800 agentes via resc/user-agents.txt.

Os agentes no conjunto de dados de exemplo foram coletados dos seguintes:

  • https://github.com/sqlmapproject/sqlmap/blob/master/data/txt/user-agents.txt
  • https://www.useragentstring.com/pages/useragentstring.php?name=

Omnispray

O framework do o365spray foi portado para uma nova ferramenta: Omnispray. Esta ferramenta visa modularizar o framework original de enumeração e pulverização para permitir alvos genéricos, não apenas O365. O Omnispray inclui módulos de modelo para enumeração e pulverização que podem ser modificados e utilizados para qualquer alvo.

Agradecimentos

Bugs

Se algum bug/erro for encontrado, por favor, abra uma Issue com os detalhes (ou um Pull Request com a correção proposta). Veja a seção abaixo para mais informações sobre como usar versões anteriores.

Usando Versões Anteriores

Se problemas forem encontrados, tente verificar versões anteriores antes das reescritas de código:

root@kitploit:~
# v1.3.7
git checkout e235abdcebad61dbd2cde80974aca21ddb188704

# v2.0.4
git checkout a585432f269a8f527d61f064822bb08880c887ef
Baixar ferramenta
MóduloURL Base
autodiscoverhttps://outlook.office365.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
officehttps://login.microsoftonline.com/
rsthttps://login.microsoftonline.com/
onedrivehttps://<tenant>-my.sharepoint.com/
MóduloURL Base
activesynchttps://outlook.office365.com/
adfsAtualmente não implementado
autodiscoverhttps://autodiscover-s.outlook.com/
autologonhttps://autologon.microsoftazuread-sso.com/
oauth2https://login.microsoftonline.com/
reportinghttps://reports.office365.com/
rsthttps://login.microsoftonline.com/
AutorFerramenta/PesquisaLink
gremwello365enum: Enumeração de usuários via office.com sem autenticaçãoo365enum
grimhackeroffice365userenum: Pesquisa e descoberta de enumeração de usuários via ActiveSync.office365userenum / post no blog
RaikiaUhOh365: Enumeração de usuários via Autodiscover sem autenticação.UhOh365
dafthackMSOLSpray: Pulverização de senhas via MSOLMSOLSpray
byt3bl33d3rMSOLSpray: Reimplementação em PythonGist
nyxgeekonedrive_user_enum: Enumeração de usuários do OneDriveonedrive_user_enum / post no blog
Mr-Un1k0d3radfs-spray: Pulverização de senhas ADFSadfs-spray
Nestori SyynimaaAADInternals: Módulos oAuth2 e autologonAADInternals
Daniel Chronlund / xFreed0mInvoke-AzureAdPasswordSprayAttack / ADFSpray: Pulverização de senhas via API de relatórios do Office 365Invoke-AzureAdPasswordSprayAttack / ADFSpray
Optiv (Vários Autores)Go365: Módulo de enumeração de usuários e pulverização de senhas RSTGo365
byt3bl33d3rSprayingToolkit: Referências de códigoSprayingToolkit
sensepostruler: Referências de códigoRuler