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
apimspray — Azure apim mini proxy | Kitploit
Ferramentas/GitHubGitHub/crtvrffnrt/apimspray
OSINT (Inteligência de Fontes Abertas)ReconhecimentoAtaques de SenhaColeta de InformaçõesSegurança na NuvemRed Teaming
GitHubcrtvrffnrt/apimspray

apimspray

Azure apim mini proxy

Ver Repositório
616há 11 diasRevisado 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
Site

Apimspray

apimspray

Python Azure License Status

apimspray é um Kit de Password Spraying do Entra ID especializado, projetado para pesquisa de segurança autorizada e Red Teaming. Ele utiliza gateways do Azure API Management (APIM) como uma camada de proxy distribuída e rotativa para rotação de IP.

Leia o Post do Blog para mais detalhes sobre este projeto.

Pré-requisitos

  • Azure CLI (az): Necessário para o script rotator implantar recursos. (Execute o script a partir de uma sessão CLI já autenticada no az cli ou use o Azure Cloud Shell)
  • Assinatura Ativa do Azure: Para implantar recursos do APIM no nível Consumo (o custo é insignificante, geralmente <$0,01 para avaliações curtas).

Instalação

  1. Clone o repositório.
  2. Instale as dependências Python:
    root@kitploit:~
    pip install -r requirements.txt
    
  3. Certifique-se de estar logado no Azure CLI:
    root@kitploit:~
    az login
    
    Nota: O script rotator depende de uma sessão ativa do Azure CLI em segundo plano para implantar recursos.

Configuração

Início Rápido (Azure Cloud Shell)

Execute o apimspray diretamente de um ambiente Azure autenticado.

Open in Azure Cloud Shell
root@kitploit:~
git clone https://github.com/crtvrffnrt/apimspray.git
cd apimspray
python3 apimspray.py --help

1. Implantar Gateways

Implante vários Gateways APIM em diversas Localizações.

root@kitploit:~
python3 apimspraycreate.py --count 5 --outfile urls.txt

Implanta 33 instâncias APIM em germanywestcentral e westeurope e salva em urls.txt.

root@kitploit:~
 python3 apimspraycreate.py --location germanywestcentral,westeurope --count 33 --outfile urls.txt

Referência da CLI apimspraycreate:

root@kitploit:~
usage: apimspraycreate.py [-h] --outfile OUTFILE [--count COUNT] [--location LOCATION] [--prefix PREFIX] [--realm-prefix REALM_PREFIX] [--delete-old]

apimspraycreate - Azure APIM Deployer

options:
  -h, --help            show this help message and exit
  --outfile OUTFILE     Output file for URLs
  --count COUNT         Number of instances
  --location LOCATION   Comma-separated APIM location(s) to deploy into. When provided, only those regions are used and the first location is used for the resource group.
  --prefix PREFIX       API URL prefix
  --realm-prefix REALM_PREFIX
                        Realm API prefix
  --delete-old          Delete old resource groups

Importante: Para todos os métodos, você deve ter uma sessão az ativa em segundo plano (az login).

2. Preparar Wordlists

Certifique-se de ter suas listas de alvos prontas:

  • users.txt: Lista de UserPrincipalNames (ex.: [email protected]).
  • passwords.txt: Lista de senhas para testar (spray).

3. Reconhecimento / Geração de UPN (Opcional)

Se você não tiver uma lista de usuários, pode usar o script auxiliar generate_upns.py. Esta ferramenta:

  1. Consulta o locatário Azure alvo para descobrir todos os domínios conectados e verificados.
  2. Baixa uma lista de nomes de usuários de contas de serviço estatisticamente prováveis do GitHub.
  3. Gera uma lista de permutações de UPNs (UserPrincipalNames) e salva em users.txt.

Uso:

root@kitploit:~
# Gera users.txt para um domínio ou ID de locatário específico
python3 generate_upns.py --target example.com
# OU usando o TenantID
python3 generate_upns.py --target 00000000-0000-0000-0000-000000000000

Referência da CLI generate_upns:

root@kitploit:~
usage: generate_upns.py [-h] --target TARGET

Generate UPNs from connected Azure Tenants and Service Accounts.

options:
  -h, --help       show this help message and exit
  --target TARGET  Target Domain (e.g., example.com) or Tenant UUID

Uso

root@kitploit:~
usage: apimspray.py [-h] [--urls URLS] [--users USERS] [--passwords PASSWORDS] [--output OUTPUT] [--tenant TENANT] [--domain DOMAIN] --mode {spray,validate} [--pace {stealth,low,mid,medium,high}]
                    [--continue-on-success]

apimspray - Entra ID Assessment Tool

options:
  -h, --help            show this help message and exit
  --urls URLS           Path to APIM URLs file (from apimspraycreate.py or apimsprayrotator.sh)
  --users USERS         Path to users file
  --passwords PASSWORDS
                        Path to passwords file
  --output OUTPUT       Output directory
  --tenant TENANT       Tenant ID or Domain
  --domain DOMAIN       Append domain to users if missing
  --mode {spray,validate}
                        Operation mode. 'spray' tests all passwords against all users (1:N). 'validate' performs 1:1 credential pair testing.
  --pace {stealth,low,mid,medium,high}
                        Pacing profile for requests and lockout management:
                         - high:    15 workers, 0.1s delay, 10 passes/chunk, 5m lockout, 20 safe threshold
                         - medium:  5 workers,  1.0s delay,  5 passes/chunk, 10m lockout, 10 safe threshold, 10% jitter
                         - low:     2 workers,  5.0s delay,  2 passes/chunk, 15m lockout,  5 safe threshold, 20% jitter
                         - stealth: 1 worker,  30.0s delay,  1 pass/chunk,   20m lockout,  1 safe threshold, 40% jitter
  --continue-on-success
                        Continue the assessment even after finding valid credentials.

Modos

  • validate: Verifica uma lista de pares user:password. Requer listas de mesmo tamanho.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode validate --users u.txt --passwords p.txt
    
  • spray: Tenta uma senha contra todos os usuários, depois espera (se configurado), em seguida passa para a próxima senha.

    root@kitploit:~
    python3 apimspray.py --urls urls.txt --mode spray --users users.txt --passwords common_passwords.txt --pace medium
    

Perfis de Ritmo (Pacing)

O argumento --pace controla a agressividade do teste de senhas. Os valores são definidos internamente para garantir estabilidade e segurança.

  • Contagem: Número de senhas a tentar por usuário antes de pausar para permitir a reinicialização dos temporizadores de bloqueio.
  • Espera de Bloqueio: Tempo de espera entre os blocos de senhas.
  • Limite Seguro: Se essa quantidade de contas for bloqueada (AADSTS50053), a ferramenta aborta imediatamente.
  • Jitter: Randomiza o atraso para evitar análise estática de temporização.

Saída

Os resultados são armazenados no diretório results/<timestamp>/:

  • valid_*.txt: Autenticações bem-sucedidas (MFA Necessário ou Token recebido).
  • blocked_*.txt: Contas bloqueadas ou condicionalmente impedidas.
  • failed_*.txt: Credenciais inválidas ou usuário não encontrado.

Créditos e Referências

  • o365spray: Inspiração lógica para o fluxo ROPC.
  • TeamFiltration: Inspiração de design para estrutura da ferramenta.
  • FireProx: O avô das técnicas de rotação de gateway na nuvem.
Baixar ferramenta
PerfilWorkersAtrasoContagem (Chunk)Espera de BloqueioLimite SeguroJitter
high150.1s105m20 locked0%
medium51.0s510m10 locked10%
low25.0s215m5 locked20%
stealth130.0s120m1 locked40%