Password Spraying - Making a Target User List
Detailed User Enumeration
Trước khi spray password, ta cần tạo 1 list các username hợp lệ trước, có một số cách sau:
SMB NULL session để truy xuất list domain user từ domain controller.
LDAP anonymous bind
Kerbrute để check valid users từ một wordlist (statistically-likely-usernames) hoặc được thu thập từ linkedin2username.
Từ một credential được cung cấp hoặc có thể dùng LLMNR/NBT-NS response poisoning
Nếu attacker có một SMB NULL session, LDAP anonymous bind hoặc một credential hơn lệ, hoàn toàn thể enumerate được password policy. Biết được lockout threshold sẽ cho ta biết được nên thử bao nhiêu lần trong một khoảng thời gian là đủ và tránh bị khóa.
SMB NULL Session to Pull User List
Một số tools sử dụng SMB NULL Session như enum4linux, rpcclient và CrackMapExec.
enum4linux -U 172.16.5.5 | grep "user:" | cut -f2 -d"[" | cut -f1 -d"]"$> enum4linux -U 172.16.5.5 | grep "user:" | cut -f2 -d"[" | cut -f1 -d"]"
administrator
guest
krbtgt
lab_adm
htb-student
avazquez
pfalcon
fanthony
wdillard
lbradford
sgage
asanchez
dbranch
ccruz
njohnson
mholliday
<SNIP>LDAP Anonymous
Một số ví dụ cho windapsearch và ldapsearch, search theo filter:
Enumerating Users with Kerbrute
Ta có thể sử dụng Kerbrute cho việc enumerate tài khoản AD hợp lệ và spray password.
Tool này sử dụng Kerberos Pre-Authentication, đây là cách nhanh hơn và stealth hơn cho việc spray password. Phương thức này không tạo ra Windows event ID 4625: An account failed to log on

Tool này sẽ gửi các TGT request tới domain controller mà không cần Kerberos Pre-Authentication, nếu KDC phản hồi với lỗi PRINCIPAL UNKNOWN thì có nghĩa username invalid. Còn khi nào KDC prompt lên cho Kerberos Pre-Authentication thì có nghĩa username này tồn tại và hợp lệ trong domain. Cách này sẽ không gây ra log đăng nhập và khóa account.
Credentialed Enumeration to Build our User List
Nếu đã có credential hợp lệ thì việc enumerate username thì dễ khi sử dụng CrackMapExec
Last updated