Làm thế nào để các thông tin Windows được lưu trữ được lưu trữ trên máy cục bộ?


26

Làm thế nào để thông tin xác thực miền Active Directory được lưu trữ trên máy khách Windows? Chúng có được lưu trữ trong cơ sở dữ liệu SAM cục bộ hay không, do đó làm cho chúng dễ bị tấn công cùng bảng cầu vồng mà tài khoản người dùng cục bộ dễ bị ảnh hưởng hoặc chúng được lưu trữ khác nhau? Lưu ý, tôi nhận ra rằng chúng được muối và băm, để không được lưu trữ trong văn bản thuần túy, nhưng chúng có được băm giống như các tài khoản cục bộ và chúng có được lưu trữ ở cùng một vị trí không?

Tôi nhận ra rằng ở mức tối thiểu, họ dễ bị tấn công bằng vũ lực, nhưng đó là một tình huống tốt hơn nhiều so với việc dễ bị tổn thương bởi các bàn cầu vồng trong trường hợp máy bị đánh cắp.

Câu trả lời:


17

"Thông tin lưu trữ"

Thông tin lưu trong bộ nhớ cache cho miền AD thực sự được băm đôi mật khẩu và được lưu trữ trong tổ ong HKLM \ Security. Vị trí tập tin của tổ ong là: %systemroot%\System32\config\SECURITY

Chỉ người dùng "hệ thống" mới có quyền truy cập vào các khóa đăng ký:
HKLM\Security\Cache\NL$nnơi nchỉ mục 1 cho số lượng thông tin được lưu trong bộ nhớ cache tối đa.

Mẫn cảm với các cuộc tấn công

WinNT đến WinXP đã sử dụng băm "Lan Manager" cho các tài khoản cục bộ , rất dễ bị hỏng trên phần cứng hiện đại. Quá trình bẻ khóa thường mất vài phút (gần đây tôi đã thực hiện 3 mật khẩu trong 00:08:06) chỉ với một máy tính để bàn "bình thường". Lan băm Lan Manager không được muối, do đó, cũng có các bảng cầu vồng có sẵn công khai.

Vista và sau đó sử dụng băm NT cho các tài khoản cục bộ . Windows 2000 trở lên cũng sử dụng băm NT cho tài khoản miền . Băm NT được băm đôi MD4 băm. Muối trên mỗi mục nhập ngăn chặn việc sử dụng bảng cầu vồng, nhưng MD4 có thể được thực thi rất nhanh trên phần cứng hiện đại: khoảng 6 năm tính toán cho mật khẩu 60 bit. Với may mắn và cụm 6 GPU, một cracker có thể phá vỡ loại mật khẩu này trong ~ 6 tháng. Đưa nó lên đám mây, khoảng 35 nghìn đô la trên GPU Amazon EC2 - tùy thuộc vào tính khả dụng, có thể là hàng giờ.


Tôi đoán phần lớn câu hỏi của tôi là liệu các thông tin được lưu trữ này có dễ bị tấn công dựa trên bảng cầu vồng giống như các tài khoản cục bộ nếu chúng được băm theo một phương pháp khác
MDMarra

Đã cập nhật ... Vista + tất cả đều giống nhau. Các phiên bản cũ hơn là khác nhau.
Chris S

"Hàm băm NT của mật khẩu được tính bằng cách sử dụng thuật toán băm MD4 không được mã hóa." -
Trực tiếp

Trang đó là sai, NT băm được muối. Xem câu trả lời của Joe bên dưới để biết liên kết đến KB.
Chris S

4

Thông tin đăng nhập không thực sự được lưu trữ trên máy cục bộ. Xem đoạn trích này từ MS:

Bảo mật thông tin tên miền được lưu trữ

Thuật ngữ thông tin được lưu trong bộ nhớ cache không mô tả chính xác cách Windows lưu trữ thông tin đăng nhập cho đăng nhập tên miền. Trong Windows 2000 và các phiên bản sau của Windows, tên người dùng và mật khẩu không được lưu trong bộ nhớ cache. Thay vào đó, hệ thống lưu trữ một trình xác minh được mã hóa của mật khẩu. Trình xác minh này là hàm băm MD4 được tính toán hai lần. Tính toán kép có hiệu quả làm cho trình xác minh trở thành hàm băm của mật khẩu người dùng. Hành vi này không giống như hành vi của Microsoft Windows NT 4.0 và các phiên bản Windows NT trước đó.

http://support.microsoft.com/kb/913485


Đúng, tôi hiểu rằng bản thân các thông tin đăng nhập không thực sự được lưu trong bộ nhớ cache, nhưng câu hỏi của tôi có nhiều hơn trong các dòng "là các băm kết quả được lưu trữ trong cơ sở dữ liệu SAM cục bộ giống như các tài khoản cục bộ, do đó khiến chúng dễ bị tấn công hơn. " Tôi sẽ chỉnh sửa điều này trong một phút để rõ ràng hơn một chút.
MDMarra

1
meh .. với tôi đây là từ băm. bản chất của "băm" là một quá trình một chiều, về cơ bản tạo ra một giá trị bị che khuất của mật khẩu bằng thuật toán bảo mật bằng mật mã. Vấn đề là MD4 có thể đã được bảo mật bằng mật mã từ 10 - 15 năm trước nhưng thậm chí không còn đóng nữa (MD5 hoặc SHA1 không phải theo quan điểm của nhà mật mã học). Vì vậy, nếu bạn có phần cứng ngày nay có thể nhanh chóng phá vỡ không gian chính của thuật toán hoặc phát hiện ra xung đột, thì bạn có thể dễ dàng lấy được mật khẩu từ hàm băm ...
thepip3r

Nếu thông tin đăng nhập được lưu trữ dưới bất kỳ hình thức hoặc hình thức nào để có thể xác minh chúng ở chế độ ngoại tuyến - thì chúng dành cho tất cả ý định và mục đích được lưu trong bộ nhớ cache, bất kể dữ liệu trong bộ đệm đó trông như thế nào
NiKiZe

4

Chúng được xử lý bởi Trình quản lý thông tin xác thực, có API Trình quản lý xác thực. Các băm muối được lưu trữ theo cách hơi an toàn trên đĩa và được truy cập qua HKLM \ Security. (Theo mặc định chỉ có thể được truy cập bởi LocalSystem, nhưng rất dễ bỏ qua, ví dụ, bởi psexec -i -s regedit.exe.)

Tuy nhiên, trên một hệ thống Windows đang chạy, tình hình còn nghiêm trọng hơn, vì các thông tin được sử dụng gần đây có thể được chuyển đổi và dễ dàng chuyển thành văn bản đơn giản bằng cách nối một DLL vào Lsass. (Xem Mimikatz.)

Vì vậy, vâng, bạn sẽ tìm thấy một số loại băm (hoặc băm của hàm băm hoặc 'trình xác minh' hoặc bất cứ điều gì bạn muốn gọi nó) tại HKLM \ Security \ Cache trên máy khách. Nhưng tôi không nghĩ có bất kỳ cách khả thi nào để tấn công hàm băm trên đĩa. Nó không phải là loại băm NTLM cũ có thể bị tấn công.


Bẻ khóa mật khẩu ngoại tuyến trong SAM hoàn toàn khác với việc kết nối LSASS trong bộ nhớ như Mimikatz và WCE làm. Và tùy thuộc vào độ phức tạp của mật khẩu, việc bẻ khóa mật khẩu ngoại tuyến của SAM có thể RẤT dễ dàng (xem samdump2)
thepip3r
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.