IredTeam AS-REP Roasting
IredTeam AS-REP Roasting
AS-REP là gì?
AS-REP (viết tắt của Authentication Service Reply) là một thông điệp trong giao thức xác thực Kerberos. Đây là bước thứ hai trong quá trình xác thực ban đầu, được gửi từ Key Distribution Center (KDC), thường là một Domain Controller trong môi trường Active Directory, đến người dùng.
Thông điệp này chứa Ticket-Granting Ticket (TGT), một ticket được mã hóa dùng để yêu cầu các vé dịch vụ khác mà không cần người dùng phải nhập lại mật khẩu. Một phần của thông điệp AS-REP này được mã hóa bằng chính hash mật khẩu của người dùng.
Kỹ thuật AS-REP Roasting
AS-REP Roasting là một kỹ thuật tấn công trong đó kẻ tấn công có thể lấy được thông điệp AS-REP của một người dùng và cố gắng offline crack mật khẩu của người dùng đó.
Cuộc tấn công này chỉ có thể thực hiện được khi một tài khoản người dùng trong Active Directory được cấu hình với thuộc tính Do not require Kerberos preauthentication (Không yêu cầu xác thực trước Kerberos) được bật.
Tại sao lại có thuộc tính “Không yêu cầu xác thực trước”?
Xác thực trước (Pre-authentication) là một cơ chế bảo mật mặc định của Kerberos. Trước khi KDC cấp TGT, nó yêu cầu người dùng phải chứng minh rằng họ biết mật khẩu bằng cách gửi một yêu cầu ban đầu (AS-REQ) có chứa một dấu thời gian (timestamp) được mã hóa bằng hash mật khẩu của họ. Điều này ngăn chặn các cuộc tấn công đoán mật khẩu trực tiếp vào KDC.
Tuy nhiên, một số ứng dụng hoặc hệ thống cũ không tương thích với cơ chế này, vì vậy quản trị viên có thể tắt nó đi cho một số tài khoản nhất định. Đây chính là lỗ hổng mà kỹ thuật AS-REP Roasting khai thác.
Execution
Buớc 1: Tạo user mới và bât do not require Kerberos preauthentication
Ở đây ta sẽ sử dụng powershell với 2 câu lệnh sau :
1 | # Tạo user mới |

Thành công tạo user mới bây giờ config lại quyền authen cho nó với lệnh sau :
1 | # Tắt yêu cầu pre-auth → mở cửa cho AS-REP Roasting |

Thành công tắt đi quyền pre-auth của user trên bây giờ ta đi đến bước tấn công.
Bước 2: Liệt kê user có thể tấn công
Bây giờ ta sử dụng 2 lệnh sau :
1 | # Import PowerView |
Lệnh này giúp ta chạy powerview sau đó từ powerview ta sẽ tiến hành truy vấn tìm kiếm các user có được config no pre-auth.


Thành công tìm được user asrep_victim có thể thấy được nó đã được gán quyền DONT_REQ_PREAUTH bây giờ ta sẽ đi tới bước tiếp theo.
Sử dụng tool Ruberus để thực hiện AS-REP Roasting
1 | # Chạy Rubeus và lưu output |

Thành công lấy được hash bây giờ thì ta tới với bước crack thôi.
Crack password bằng hashcat
Sau khi có được AS-REP hash rồi thì ta sẽ lưu nó vào một file ở đây tôi lưu nó trong file asrep.hash.
Sau đó sử dụng hashcat với lệnh :
1 | hashcat -m 18200 asrep.hash mywordlist.txt |

Từ đây thành công crack ra password của user mà ta cần phải tấn công và hoàn thành lab.