Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if platform.system().upper() == 'WINDOWS' and len(sys.argv) == 1:
#auto start on double click with default settings
asyncio.run(run_auto())
return
import argparse
parser = argparse.ArgumentParser(description='Tool to perform verious kerberos security tests', formatter_class=argparse.RawDescriptionHelpFormatter, epilog = kerberoast_epilog)
parser.add_argument('-v', '--verbose', action='count', default=0, help='Increase verbosity, can be stacked')
subparsers = parser.add_subparsers(help = 'commands')
subparsers.required = True
subparsers.dest = 'command'
ldap_group = subparsers.add_parser('ldap', formatter_class=argparse.RawDescriptionHelpFormatter, help='Enumerate potentially vulnerable users via LDAP', epilog = MSLDAPURLDecoder.help_epilog)
ldap_group.add_argument('type', choices=['spn', 'asrep', 'full','custom', 'all'], help='type of vulnerable users to enumerate')
ldap_group.add_argument('ldap_url', help='LDAP connection URL')
ldap_group.add_argument('-o','--out-file', help='Output file base name, if omitted will print results to STDOUT')
ldap_group.add_argument('-f','--filter', help='CUSTOM mode only. LDAP search filter')
ldap_group.add_argument('-a','--attrs', action='append', help='FULL and CUSTOM mode only. LDAP attributes to display')
brute_group = subparsers.add_parser('brute', help='Enumerate users via brute-forcing kerberos service')
brute_group.add_argument('realm', help='Kerberos realm ')
brute_group.add_argument('address', help='Address of the DC')
brute_group.add_argument('targets', help='File with a list of usernames to enumerate, one user per line')
brute_group.add_argument('-o','--out-file', help='Output file base name, if omitted will print results to STDOUT')
asreproast_group = subparsers.add_parser('asreproast', help='Perform asrep roasting')
asreproast_group.add_argument('address', help='Address of the DC')
asreproast_group.add_argument('-t','--targets', help='File with a list of usernames to roast, one user per line')
asreproast_group.add_argument('-r','--realm', help='Kerberos realm This overrides realm specification got from the target file, if any')