Kerberoast attack toolkit -pure python
Install
pip3 install kerberoast
Prerequirements
Python 3.6 See requirements.txt
IMPORTANT: the accepted target url formats for LDAP and Kerberos are the following<ldap_connection_url>
: <protocol>+<auth-type>://<domain>\<user>:<password>@<ip_or_hostname>/?<param1>=<value1>
<kerberos_connection_url>
: <protocol>+<auth-type>://<domain>\<user>:<password>@<ip_or_hostname>/?<param1>=<value1>
Steps -with SSPI-: kerberoast auto <DC_ip>
Steps -SSPI not used-:
kerberoast ldap all <ldap_connection_url> -o ldapenum
ldapenum_asrep_users.txt
filekerberoast asreproast <DC_ip> -t ldapenum_asrep_users.txt
ldapenum_spn_users.txt
filekerberoast spnroast <kerberos_connection_url> -t ldapenum_spn_users.txt
This command group is for enumerating potentially vulnerable users via LDAP.
kerberoast ldap <type> <ldap_connection_url> <options>
Type
: It supports three types of users to be enumerated
spn
Enumerates users with servicePrincipalName
attribute set.asrep
Enumerates users with DONT_REQ_PREAUTH
flag set in their UAC attribute.all
Startes all the above mentioned enumerations.ldap_connection_url
: Specifies the usercredential and the target server in the msldap url format (see help)
options
:
-o
: Output file base name
This command is to perform username enumeration by brute-forcing the kerberos service with possible username candidates
kerberoast brute <realm> <dc_ip> <targets> <options>
realm
: The kerberos realm usually looks like COMPANY.corp
dc_ip
: IP or hostname of the domain controllertargets
: Path to the file which contains the possible username candidatesoptions
:
-o
: Output file base name
This command is to perform ASREProast attack
kerberoast asreproast <dc_ip> <options>
dc_ip
: IP or hostname of the domain controlleroptions
:
-r
: Specifies the kerberos realm to be used. It overrides all other realm info.
-o
: Output file base name
-t
: Path to the file which contains the usernames to perform the attack on
-u
: Specifies the user to perform the attack on. Format is either <username>
or <username>@<realm>
but in the first case, the -r
option must be used to specify the realm
This command is to perform SPNroast (AKA kerberoast) attack.
kerberoast spnroast <kerberos_connection_url> <options>
kerberos_connection_url
: Specifies the usercredential and the target server in the kerberos URL format (see help)
options
:
-r
: Specifies the kerberos realm to be used. It overrides all other realm info.
-o
: Output file base name
-t
: Path to the file which contains the usernames to perform the attack on
-u
: Specifies the user to perform the attack on. Format is either <username>
or <username>@<realm>
but in the first case, the -r
option must be used to specify the realm
Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…
While file extensions in Linux are optional and often misleading, the file command helps decode what a…
The touch command is one of the quickest ways to create new empty files or update timestamps…
Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…
Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…
Creating directories is one of the earliest skills you'll use on a Linux system. The mkdir (make…