Tài khoản KRBTGT đóng vai trò then chốt trong việc xác thực người dùng và dịch vụ trong môi trường Active Directory (AD). Việc hiểu rõ về KRBTGT, cách thức hoạt động và tầm quan trọng của việc bảo mật tài khoản này là vô cùng quan trọng. Bài viết này sẽ cung cấp cho bạn kiến thức chuyên sâu về KRBTGT, lý do tại sao bạn nên thay đổi mật khẩu thường xuyên và cách bảo vệ mạng của bạn khỏi các cuộc tấn công nguy hiểm như Golden Ticket. Nếu bạn quan tâm đến việc bảo mật hạ tầng mạng của mình, đặc biệt là môi trường Active Directory, hãy đọc tiếp để có được những thông tin hữu ích.
KRBTGT (viết tắt của Key Distribution Center Ticket Granting Ticket) là một tài khoản mặc định được tạo tự động khi một miền Microsoft Active Directory được thiết lập. Mục đích chính của nó là xác thực các vé Kerberos, đóng vai trò là tài khoản Trung tâm phân phối khóa (KDC). Hiểu một cách đơn giản, KRBTGT là "người gác cổng" cho mọi yêu cầu xác thực trong miền của bạn.
Để hiểu rõ hơn về cách thức hoạt động của KRBTGT, hãy xem xét ví dụ về việc đi xem phim. Tương tự như việc bạn cần có vé để vào rạp, người dùng cần có vé Kerberos để truy cập tài nguyên mạng. Khi một người dùng muốn truy cập một máy chủ ứng dụng, họ sẽ gửi yêu cầu đến KDC (Key Distribution Center). KDC này nằm trên bộ điều khiển miền (domain controller) và đóng vai trò là bên thứ ba đáng tin cậy để xác minh danh tính của người dùng.
Người dùng gửi yêu cầu đến máy chủ xác thực KDC (AS) với mật khẩu băm NTLM của họ. Sau khi được xác thực, KDC sẽ cấp cho họ một Vé cấp vé (TGT). Sau đó, người dùng (chính xác hơn là ứng dụng khách) gửi TGT này đến Máy chủ cấp vé KDC (TGS) cùng với yêu cầu truy cập tài nguyên mong muốn. TGS giải mã TGT bằng khóa bí mật được chia sẻ với AS, sau đó gửi lại một mã thông báo được mã hóa cho người dùng, mã thông báo này được chuyển đến máy chủ ứng dụng. Máy chủ ứng dụng xác minh mã thông báo bằng mật khẩu băm KRBTGT được chia sẻ và cấp quyền truy cập vào tài nguyên cho người dùng trong một khoảng thời gian cụ thể (TTL - Time to Live, mặc định là 10 giờ).
Tóm lại, TGT cho phép bạn vào khu phức hợp rạp chiếu phim, còn TGS cho phép bạn xem một bộ phim cụ thể tại một rạp chiếu phim cụ thể vào một thời điểm cụ thể. Nếu bạn có vé xem phim Shrek, bạn không thể sử dụng nó để xem phim The Croods.
Câu trả lời là có. Với xác thực NTLM, mật khẩu băm của người dùng được lưu trữ trên máy khách, bộ điều khiển miền (DC) và máy chủ ứng dụng. Máy chủ ứng dụng cần liên hệ trực tiếp với DC để xác thực quyền truy cập. Điều này làm tăng nguy cơ bị đánh cắp mật khẩu, ví dụ, bằng các công cụ như Mimikatz.
Trong khi đó, với KRBTGT, hàm băm không được lưu trữ trong bộ nhớ trên nhiều hệ thống như vậy, khiến việc đánh cắp mật khẩu KRBTGT trở nên khó khăn hơn nhiều. Để có quyền truy cập hoàn toàn, kẻ tấn công phải có quyền truy cập vào KDC trên DC và đánh cắp mật khẩu để tạo Golden Ticket (sẽ được đề cập chi tiết hơn bên dưới).
Mặc dù Kerberos an toàn hơn NTLM, nhưng nó không hoàn toàn miễn nhiễm với các cuộc tấn công. Nếu kẻ tấn công đánh cắp mật khẩu người dùng, họ sẽ chỉ có thể truy cập những gì người dùng đó có thể truy cập. Để đạt được nhiều hơn, kẻ tấn công sẽ cố gắng đánh cắp băm NTLM của tài khoản KRBTGT. Điều này cho phép chúng tạo vé giả mạo và leo thang đặc quyền trong môi trường.
Cuộc tấn công nguy hiểm nhất liên quan đến KRBTGT là Golden Ticket attack. Đây là khi kẻ tấn công kiểm soát tài khoản KRBTGT bằng cách đánh cắp băm NTLM của nó. Với thông tin này, chúng có thể mạo danh xác thực, tạo vé giả và nâng cao quyền truy cập trên toàn bộ môi trường Active Directory.
Bất kỳ ai cũng có thể tạo vé giả mạo. Tuy nhiên, việc tạo Golden Ticket cho phép truy cập vào toàn bộ miền là một vấn đề khác. Kẻ tấn công cần có các yếu tố sau:
Bất kỳ người dùng nào có quyền truy cập vào tài khoản trong miền đều có thể lấy 3 thông tin đầu tiên. Tuy nhiên, băm NTLM của KRBTGT yêu cầu các quyền nâng cao để có được thông tin này. Theo mặc định, các quyền này thường bao gồm "Replicating Directory Changes ALL".
Microsoft khuyến nghị cập nhật mật khẩu thường xuyên cho tài khoản KRBTGT. STIG (Security Technical Implementation Guide) đưa ra khuyến nghị cụ thể hơn là mỗi 180 ngày. Tuy nhiên, bạn nên cân nhắc thay đổi mật khẩu này MỖI KHI một người có khả năng tạo Golden Ticket rời khỏi tổ chức.
Nếu một tài khoản đặc quyền bị chấm dứt, nhưng người dùng có khả năng sử dụng vé được tạo khi họ vẫn còn "đáng tin cậy", họ có thể gây ra thiệt hại nghiêm trọng cho môi trường của bạn.
Điều quan trọng cần nhớ là KRBTGT ghi nhớ hai mật khẩu cuối cùng khi sử dụng Kerberos, vì đây là bí mật dùng chung được truyền cho quyền truy cập. Vì vậy, thay đổi nó một lần là tốt, nhưng nếu bạn lo ngại về kẻ tấn công trong mạng của mình, bạn cần thay đổi nó hai lần. Tuy nhiên, trước khi thực hiện việc này, bạn cần hiểu rõ những gì có thể bị ảnh hưởng.
Đặt lại mật khẩu KRBTGT hai lần liên tiếp trước khi mật khẩu có thể sao chép trên các DC và máy chủ ứng dụng của bạn sẽ phá vỡ quyền truy cập vào máy chủ của bạn.
Golden Tickets có thể gây ra thiệt hại nghiêm trọng cho môi trường của bạn, vì vậy bạn cần có một kế hoạch vững chắc để phát hiện và phòng thủ trước các cuộc tấn công này. Dưới đây là một số khuyến nghị:
Nắm vững các biện pháp thực hành tốt nhất về tài khoản miền KRBTGT là vô cùng quan trọng để giảm thiểu khả năng ai đó tạo Golden Ticket trong môi trường của bạn. Bằng cách tuân thủ các biện pháp này, bạn có thể củng cố mạng của mình khỏi các hoạt động trái phép và đảm bảo an ninh cho môi trường Active Directory.
Bài viết liên quan