Cách tốt nhất để theo dõi Tên người dùng Brute-Force Enumutions / Thất bại Tên người dùng AD


9

Chúng tôi có Windows Server có ứng dụng nằm trên đó, sử dụng thông tin đăng nhập tên miền khi đăng nhập vào ứng dụng. Trong một thử nghiệm bút gần đây, những người thử nghiệm có thể sử dụng ứng dụng để liệt kê tên người dùng tên miền hợp lệ dựa trên phản hồi của ứng dụng (Nó đã đưa ra một phản hồi khác nhau cho tên người dùng không hợp lệ so với mật khẩu không hợp lệ).

Ứng dụng đang được sửa chữa vì vậy nó không tiết lộ thông tin này, nhưng tôi cũng cảm thấy như chúng ta nên phát hiện ra cuộc tấn công này vì đã có hơn 2000.000 lần thử tên người dùng không hợp lệ trong một khoảng thời gian ngắn. Chúng tôi đã không nhìn thấy nó, ngay cả khi các quản trị viên của chúng tôi đang theo dõi sát sao Active Directory. Rõ ràng các lỗi chỉ xuất hiện trong nhật ký sự kiện cục bộ của máy chủ nơi ứng dụng được cài đặt.

Câu hỏi của tôi: 1) Có cách nào để Active Directory ghi nhật ký các yêu cầu tên người dùng không thành công này ở một vị trí trung tâm để chúng tôi có thể nhận thấy sự tăng đột biến trong chúng không?

2) Nếu không, cách tốt nhất để theo dõi và chủ động phát hiện loại tấn công này trong tương lai (Hy vọng không phải mua quá nhiều thiết bị mới).

Cảm ơn bạn đã giúp đỡ.

Câu trả lời:


11

Câu hỏi tuyệt vời.

Điều đầu tiên trước tiên - tôi coi hầu hết các "người thử nghiệm thâm nhập" là những đứa trẻ kịch bản. Sự thiên vị của tôi có thể không công bằng hoặc chính xác nhưng tôi đang từ chối trách nhiệm này để nếu bạn phát hiện ra bất kỳ sự hoài nghi nào trong giọng điệu của tôi, bạn sẽ biết nó đến từ đâu. Tôi không nói là không có pentesters lành nghề, nhưng đây là tính tổng quát của tôi.

(Đội màu xanh cho cuộc sống!)

Câu hỏi của tôi: 1) Có cách nào để Active Directory ghi nhật ký các yêu cầu tên người dùng không thành công này ở một vị trí trung tâm để chúng tôi có thể nhận thấy sự tăng đột biến trong chúng không?

Bạn đã không cung cấp đủ thông tin cho bất cứ ai để có thể trả lời câu hỏi này một cách kỹ lưỡng và tự tin. Bạn nói rằng ứng dụng của bạn bị phát hiện có lỗ hổng cho phép kẻ tấn công liệt kê tài khoản người dùng. Tôi đang cố gắng hiểu theo cách mà bạn cảm thấy rằng AD cần thực hiện đăng nhập cho ứng dụng của bạn .

Rõ ràng các lỗi chỉ xuất hiện trong nhật ký sự kiện cục bộ của máy chủ nơi ứng dụng được cài đặt.

Rõ ràng những thất bại xuất hiện trong nhật ký sự kiện trên máy chủ? Hoặc những thất bại đã xuất hiện trong nhật ký sự kiện trên máy chủ? Nếu vậy, chính xác những gì các sự kiện nói? Ai đã đăng nhập chúng? Ứng dụng của bạn? Hay Windows? Đi tìm hiểu và tôi có thể có thể thêm làm rõ thêm vào câu trả lời của tôi.

Tôi sẽ đi ra ngoài ở đây dựa trên giả định của bạn rằng những sự kiện này đã được Active Directory ghi lại bằng cách nào đó ... điều gì sẽ xảy ra nếu các pentesters của bạn không thực sự khai thác lỗ hổng trong ứng dụng của bạn, mà thay vào đó là sử dụng một lỗ hổng rất nổi tiếng trong chính Kerberos để liệt kê tên người dùng? Bản thân Kerberos chứa những gì tôi sẽ xem xét về một lỗ hổng thiết kế trong đó kẻ tấn công có thể thử hàng ngàn và hàng ngàn lần thử "xác thực trước" (tức là một cuộc tấn công vũ phu) và KDC sẽ phản hồi khác nhau tùy thuộc vào việc tài khoản người dùng có tồn tại hay không. Đây không phải là hành vi dành riêng cho Active Directory, nhưng cũng áp dụng cho MIT Kerberos, Heimdal, v.v. KDC sẽ phản hồi vớiKDC_ERR_PREAUTH_REQUIREDnếu tên người dùng hợp lệ được trình bày không có dữ liệu trước khi xác thực, ngay cả khi không thử xác thực thực tế. Theo cách này, bạn có thể liệt kê tên người dùng từ KDC. Nhưng bởi vì kẻ tấn công (hoặc công cụ mà kẻ tấn công đang sử dụng như KrbGuess - vì các pentesters hoạt động tốt nhất khi chúng sử dụng các công cụ của người khác,) không phải tiếp tục thử xác thực đầy đủ, không có gì được ghi lại vì không xác thực thực tế đã được cố gắng!

Bây giờ, câu hỏi tiếp theo của bạn:

2) Nếu không, cách tốt nhất để theo dõi và chủ động phát hiện loại tấn công này trong tương lai (Hy vọng không phải mua quá nhiều thiết bị mới).

Đôi điều.

Đầu tiên, có những sản phẩm cấp doanh nghiệp được trả tiền được thiết kế để phát hiện các loại tấn công này (trong số nhiều loại khác.) Nhiều nhà cung cấp cung cấp các sản phẩm đó và các đề xuất sản phẩm không có chủ đề cho Serverfault, nhưng đủ để nói rằng chúng bị loại ở đó Nhiều trong số các sản phẩm này hoạt động bằng cách yêu cầu bạn định cấu hình phản chiếu cổng giữa bộ điều khiển miền của bạn và các "bộ thu thập dữ liệu" này để chúng nhìn thấy và phân tích theo nghĩa đen từng gói tin đi vào hoặc thoát khỏi bộ điều khiển miền của bạn.

(Xin lỗi, điều đó thuộc về điều khoản "không mua quá nhiều thứ mới" của bạn.)

Một thứ khác có thể giúp bạn là mục đăng ký:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters

LogLevel = 1

Tài liệu ở đây .

Nếu bạn kích hoạt mục đăng ký này, bạn sẽ bị ngập trong các sự kiện trong nhật ký sự kiện Bảo mật của mình về các lỗi Kerberos có đề cập đến việc xác thực trước Kerberos là bắt buộc. Một ví dụ về một sự kiện như vậy:

A Kerberos Error Message was received:
 on logon session DOMAIN\serviceaccount
 Client Time: 
 Server Time: 12:44:21.0000 10/9/2012 Z
 Error Code: 0x19 KDC_ERR_PREAUTH_REQUIRED
 Extended Error: 
 Client Realm: 
 Client Name: 
 Server Realm: DOMAIN
 Server Name: krbtgt/DOMAIN
 Target Name: krbtgt/DOMAIN@DOMAIN
 Error Text: 
 File: e
 Line: 9fe
 Error Data is in record data.

Nhưng điều này có thể hoặc không thể giúp bạn nếu nó không chỉ định chính xác sóng thần của các yêu cầu Kerberos đến từ đâu. Điều này dẫn chúng ta trở lại những sản phẩm phát hiện xâm nhập doanh nghiệp mà tôi đã đề cập trước đó.

Và đừng quên Chuyển tiếp sự kiện Windows có thể khiến máy chủ của bạn chuyển tiếp các sự kiện đến một vị trí tập trung để được phân tích bằng bất kỳ công cụ nào bạn có thể có theo ý của bạn.

Toàn bộ câu trả lời này cho đến nay đã được xác nhận trên giao thức Kerberos, điều mà tôi thậm chí không thể thực sự được chấp nhận vì bạn đã cung cấp rất ít chi tiết trong bài đăng của mình. Tuy nhiên, tôi hy vọng điều này sẽ giúp ít nhất một chút.


Cám ơn phản hồi của bạn. Tôi sẽ kiểm tra kỹ vào thứ Hai, nhưng tôi tin rằng nhật ký sự kiện là các sự kiện windows tiêu chuẩn để đăng nhập thất bại vào máy chủ cục bộ (ví dụ: Chúng tương đương với đăng nhập thất bại qua RDP với tên người dùng không hợp lệ). Nó chắc chắn không có gì ứng dụng cụ thể. Đối với bảng liệt kê xác thực Kerberos, tôi tin rằng người kiểm tra bút sẽ cần phải có trên mạng nội bộ địa phương của chúng tôi. Họ không. Ứng dụng này có sẵn công khai trên internet với auth dựa trên biểu mẫu tiêu chuẩn gọi hệ điều hành dưới vỏ bọc.
Doug

0

Đây là một câu hỏi thú vị mà tôi rất thích nghe một câu trả lời thích hợp. Tôi đã bắt gặp một số thông tin mà Doug có thể thấy hữu ích, tuy nhiên, tôi cảm thấy nó có thể hơi bất cập. Một số người khác có thể cung cấp một câu trả lời mở rộng:

Đăng nhập vào máy chủ mà bạn muốn có thông tin kiểm toán được lưu trữ trên, Chạy -> RSOP.MSC -> Cấu hình máy tính -> Cài đặt Windows -> Cài đặt bảo mật -> Chính sách cục bộ -> Chính sách kiểm toán -> "Sự kiện đăng nhập tài khoản kiểm toán" & " Sự kiện đăng nhập kiểm toán "

Việc giải thích cho "sự kiện đăng nhập tài khoản" đọc:

Sự kiện đăng nhập tài khoản kiểm toán

Cài đặt bảo mật này xác định xem HĐH có kiểm tra mỗi lần máy tính này xác thực thông tin đăng nhập của tài khoản hay không.

Các sự kiện đăng nhập tài khoản được tạo bất cứ khi nào máy tính xác thực thông tin đăng nhập của tài khoản mà nó có thẩm quyền. Các thành viên tên miền và các máy không tham gia miền có thẩm quyền cho các tài khoản cục bộ của họ; bộ điều khiển miền là tất cả có thẩm quyền cho các tài khoản trong miền. Xác thực thông tin xác thực có thể hỗ trợ đăng nhập cục bộ hoặc trong trường hợp tài khoản miền Active Directory trên bộ điều khiển miền, có thể hỗ trợ đăng nhập vào máy tính khác. Xác thực thông tin xác thực là không trạng thái do đó không có sự kiện đăng xuất tương ứng cho các sự kiện đăng nhập tài khoản.

Nếu cài đặt chính sách này được xác định, quản trị viên có thể chỉ định xem chỉ kiểm toán thành công, chỉ thất bại, cả thành công và thất bại hay không kiểm toán tất cả các sự kiện này (nghĩa là không thành công cũng không thất bại).

Các giải thích cho "sự kiện đăng nhập" đọc:

Sự kiện đăng nhập kiểm toán

Cài đặt bảo mật này xác định xem HĐH có kiểm tra từng phiên bản của người dùng đang cố đăng nhập hoặc đăng xuất khỏi máy tính này hay không.

Sự kiện đăng xuất được tạo bất cứ khi nào một phiên đăng nhập của tài khoản người dùng bị chấm dứt. Nếu cài đặt chính sách này được xác định, quản trị viên có thể chỉ định xem chỉ kiểm toán thành công, chỉ thất bại, cả thành công và thất bại hay không kiểm toán tất cả các sự kiện này (nghĩa là không thành công cũng không thất bại).

Về cơ bản, bạn cần phải kích hoạt các chính sách đó, xác định cài đặt chính sách và chọn "thất bại" nếu bạn chỉ muốn theo dõi các lần thử thất bại. Nếu bạn muốn, bạn cũng có thể theo dõi thành công, nhưng điều đó có thể khiến việc phân tích cú pháp khó hơn một chút nếu bạn chỉ lo lắng về việc tìm kiếm loại tấn công này.

Nếu bạn lo ngại về các cấu hình tương tự mà hệ thống của bạn có thể dễ bị tổn thương, tôi khuyên bạn nên xem xét cài đặt STIG ( liên kết ), khi được sử dụng cùng với Máy quét SCAP, nó thực sự có thể hỗ trợ làm nổi bật một số rủi ro mà tổ chức của bạn có thể gặp phải phải đối mặt Người xem STIG có xu hướng đưa ra một vài thông tin sai, nhưng nếu bạn đọc chi tiết cụ thể về từng vấn đề, bạn có thể thấy đó là vấn đề không bắt đầu.


1
Tôi muốn đề xuất các đường cơ sở MSFT hoặc nist, DISA đưa ra các giả định về môi trường thay vì bảo vệ máy chủ như một thực thể. Có kiểm toán thích hợp là cần thiết. Tôi cũng đã đọc các cách thực hành tốt nhất để bảo vệ whitepaper Active Directory.
Jim B

Điểm tuyệt vời, Jim B! Tôi đã không xem xét khía cạnh đó.
Sawta 28/03/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.