Kerberoasting
Kerberoast
Kerberoasing tập trung vào việc thu thập TGS ticket, cụ thể là các vé liên quan đến các dịch vụ hoạt động dưới user accounts trong AD, ngoại trừ computer accounts. Việc mã hóa các vé này sử dụng khóa có nguồn gốc từ user passwords, cho phép có thể offline credential cracking. Việc sử dụng user account như một dịch vụ được chỉ định bằng thuộc tính "ServicePrincipalName"
Để thực hiện Kerberoasting, cần có domain account có khả năng yêu cầu TGS ticket; tuy nhiên, quá trình này không yêu cầu quyền đặc biệt, do đó bất kỳ ai có thông tin xác thực miền hợp lệ đều có thể truy cập
Key Points:
Kerberoasting nhắm mục tiêu vào TGS tickets cho user-account services trong AD
Vé được mã hóa với keys từ user passwords có thể crack offline
Một service được xác định bởi một ServicePrincipalName không null
Không cần special privileges, chỉ cần valid domain credentials
Attack
Linux
Multi-features tools bao gồm một tập kerberoastable users:
Windows
Enumerate Kerberoastable users
Technique 1: Ask for TGS and dump it from memory
Technique 2: Automatic tools
Khi có một TGS request, Windows event 4769 - A Kerberos service ticket was requested
được tạo.
Cracking
Persistence
Phương pháp này cho phép lấy Service Tickets (ST) thông qua request KRB_AS_REQ , đáng chú ý là không cần phải kiểm soát bất kỳ tài khoản Active Directory nào. Về cơ bản, nếu một principal được thiết lập theo cách không yêu cầu xác thực trước (tình huống tương tự AS-REP Roasting) thì đặc điểm này có thể được tận dụng để thao túng quá trình request. Cụ thể, bằng cách thay đổi thuộc tính sname trong nội dung request, hệ thống bị đánh lừa để cấp ST thay vì TGT được mã hóa tiêu chuẩn.
Lưu ý: Cần danh sách user vì sẽ không có tài khoản hợp lệ để truy vấn LDAP sử dụng kỹ thuật này
Linux
Windows
Detect, Mitigate and Respond
DETECT
Sử dụng mã hóa RC4 - Bởi vì RC4(RC4 (type 23) hashes begin with
$krb5tgs$23$*
) yếu hơn AES (AES-256(type 18) start with$krb5tgs$18$*
), TGS requests và replies bao gồm encryptionType là 0x17(rc4-hmac) là đáng ngờ.
Khối lượng TGS request bất thường - Thiết lập đường cở sở cho khối lượng TGS requests và phát hiện các sai lệch so với đường cơ sở
Ngoài ra, việc thiết lập honeypot Kerberoasting — một tài khoản người dùng có SPN được xác định nhưng thực tế không được sử dụng — có thể giúp phát hiện hoạt động do thám sớm và hoạt động Kerberoasting thực tế.
MITIGATE
Để bảo vệ mật khẩu service account khỏi các cuộc tấn công Kerberoasting, có thể:
Loại bỏ việc sử dụng các giao thức không an toàn trong Kerberos — Trong khi việc vô hiệu hóa hoàn toàn RC4 là một nỗ lực lớn khác, bạn có thể cấu hình các tài khoản dịch vụ riêng lẻ để không cho phép giao thức RC4. Thuộc tính msDS-SupportedEncryptionTypes có thể được đặt thành 0x18 (thập phân 24) để chỉ bật AES128 và AES256.
Áp dụng các chính sách mật khẩu mạnh cho service accont — Mật khẩu tài khoản dịch vụ phải được tạo ngẫu nhiên, có tối thiểu 30 ký tự và thay đổi thường xuyên.
Kiểm tra việc chỉ định SPN cho các tài khoản người dùng có quyền cao hơn — Ví dụ: không nên sử dụng thành viên của Domain Admins làm service accounts và do đó không nên có SPNs được gán.
RESPONSE
Khi phát hiện Kerberoasting, nên thực hiện những hành động sau:
Kích hoạt quy trình ứng phó sự cố và cảnh bảo nhóm ứng phó sự cố
Cách ly bất kỳ máy tính nào có liên quan (vd: host đã yêu cầu service tickets) để điều tra pháp y, xóa bỏ và hồi phục
Đặt lại mật khẩu cho tài khoản người dùng thực hiện Kerberoasting
Đặt lại mật khẩu cho bất kỳ service account nào được yêu cầu TGS ticket. Nêu ưu tiên cho các tài khoản có đặc quyền
References
Last updated