Liên kết phòng: https://tryhackme.com/room/zer0logon
Lưu ý: Phòng này chỉ dành cho Thành viên Premium của THM, chi phí 10 $ / tháng, hoặc 8$ nếu dùng email banla@hackermuxam.edu.vn để đăng kí

Zero Logon – The Zero Day Angle

Giới thiệu về lỗ hổng bảo mật –

Vào ngày 14 tháng 9, Secura đã phát hành whitepaper cho CVE-2020–1472, cho phép kẻ tấn công chuyển từ Zero sang Domain Admin trong khoảng một phút. Họ đặt tên cho lỗ hổng này là Zero Logon.

Zero Logon là một cuộc tấn công hoàn toàn dựa trên số liệu thống kê lạm dụng một tính năng trong MS-NRPC (Microsoft NetLogon Remote Protocol), MS-NRPC là một thành phần xác thực quan trọng của Active Directory xử lý xác thực cho tài khoản Người dùng và Máy. Tóm lại – cuộc tấn công chủ yếu tập trung vào việc triển khai Cryptography kém. Cụ thể hơn, Microsoft đã chọn sử dụng AES-CFB8 cho một chức năng có tên là ComputeNetlogonCredential, điều này bình thường vẫn ổn, ngoại trừ việc họ đã mã hóa cứng Vector khởi tạo để sử dụng tất cả các số không thay vì một chuỗi ngẫu nhiên. Khi kẻ tấn công gửi một tin nhắn chỉ chứa các số không với IV là 0, có 1 trong 256 cơ hội rằng Bản mã sẽ là 0.

Nhưng điều đó hữu ích đối với chúng ta như thế nào ? Chúng tôi sẽ đề cập đến lưu ý đó trong các phần sau.

Giới thiệu về Tài khoản Máy hay Computer –

Thông thường, nếu các bạn thử tấn công dựa trên số liệu thống kê trên bất kỳ tài khoản người dùng nào, chúng ta sẽ bị khóa. Nhưng sẽ không vấn đề gì nếu chúng ta áp dụng điều này với các tài khoản máy. Tài khoản máy hoạt động theo một cách khác nhiều so với tài khoản người dùng tiêu chuẩn. Chúng không bị khóa tài khoản xác định trước vì mật khẩu 64 ký tự chữ và số thường được sử dụng để bảo mật chúng, khiến chúng rất khó xâm nhập. Chúng không được người dùng cuối truy cập bằng bất kỳ phương tiện nào. Trong một số trường hợp nhất định, chúng tôi có thể kết xuất mật khẩu tài khoản máy bằng một công cụ như Mimikatz, nhưng nếu đến thời điểm đó, các bạn đã xâm phạm máy nghĩa là đã exploit thành công để hoàn thành bước “Gaining Access” CEH v11 – và chúng ta đang tìm kiếm sự bền bỉ trong miền chứ không phải chuyển động ngang, chắc ít người hiểu hết ý nghĩa của câu nói thuộc hàng kinh điển này,và nếu các bạn chưa hiểu hết ý nghĩa của nó thì tôi tin chắc rằng các bạn chưa hoàn thành Security +

Lạm dụng Lỗ hổng bảo mật –

Tài khoản máy thường có các đặc quyền cấp hệ thống mà chúng ta có thể sử dụng cho nhiều việc khác nhau. Nếu bạn không quen thuộc với Active Directory, chúng tôi có thể lấy Tài khoản Máy của Bộ điều khiển miền và cố gắng sử dụng xác thực được cấp kết hợp với Secretsdump.py (SecretsDump là một tiện ích kết xuất mật khẩu như Mimikatz, ngoại trừ nó nằm trên Mạng thay vì host) để kết xuất tất cả mật khẩu trong miền. Tại thời điểm này, chúng ta có một chuỗi tiêu diệt thô bắt đầu hình thành:

Sử dụng Zero Logon để bỏ qua xác thực trên Tài khoản Máy của Bộ điều khiển miền -> Chạy Secretsdump.py để kết xuất thông tin đăng nhập -> Crack / Pass Hashes Admin Domain -> ??? -> Lợi nhuận

Phân tích quy trình đăng nhập MS-NRPC –

Tại thời điểm này, chúng tôi biết có một lỗ hổng bảo mật, nhưng chúng tôi vẫn chưa chắc chắn về cách khai thác nó. Chúng tôi sẽ sớm đề cập đến vấn đề đó, nhưng những gì chúng tôi biết có một lỗ hổng trong cách Microsoft xử lý Xác thực trong chức năng ComputeNetLogonCredetial của MS-NRPC. Để hiểu rõ hơn về lỗ hổng, chúng ta cần tìm hiểu sâu hơn về cách Microsoft xử lý xác thực đối với NRPC.

Để phân tích vị trí lỗ hổng xảy ra, chúng tôi sẽ sử dụng Sơ đồ do Secura cung cấp cũng như Tài liệu của Microsoft để giải mã điều kỳ diệu đằng sau Zero Logon. Các nguồn có thể được tìm thấy ở cuối tác vụ này.https://tryhackme.com/room/zer0logon

Nguồn: Secura

Bước 1 . Máy khách tạo một NetrServerReqChallenge và gửi nó đi [Hình 1. Bước 1] . Điều này chứa các giá trị sau:

1. DC

2. Thiết bị Mục tiêu (Cũng là DC, trong trường hợp của chúng tôi)

3. Một Nonce (Trong trường hợp của chúng tôi là 16 Byte 0).

Bước 2 . Máy chủ nhận được NetrServerReqChallenge, sau đó máy chủ sẽ tạo Nonce của chính nó (Đây được gọi là Server Challenge), máy chủ sẽ gửi lại Server Challenge. [Hình 1. Bước 2]

Bước 3 . Máy khách (chúng tôi) sẽ tính toán Thông tin đăng nhập NetLogon của nó với Thử thách máy chủ được cung cấp [Hình 1. Bước 3] . Nó sử dụng phương thức NetrServerAuthenticate3 yêu cầu các tham số sau:

1. Xử lý ràng buộc tùy chỉnh (Impacket xử lý việc này cho chúng tôi, nó được thương lượng trước)

2. Tên tài khoản (Tên tài khoản máy của Bộ điều khiển miền. Ví dụ: DC01 $)

3. Loại kênh an toàn (loại Impacket xử lý điều này cho chúng tôi, nhưng chúng tôi vẫn cần chỉ định nó: [nrpc.NETLOGON_SECURE_CHANNEL_TYPE.ServerSecureChannel])

4. Tên máy tính (Bộ điều khiển miền, ví dụ: DC01)

5. Chuỗi thông tin xác thực ứng dụng khách (đây sẽ là 8 tập tin \ x00 [16 byte số 0])

6. Cờ thương lượng (Giá trị sau được quan sát từ máy khách Win10 có cờ Dấu / Dấu bị vô hiệu hóa: 0x212fffff Do Secura cung cấp)

Bước 4 . Máy chủ sẽ nhận được yêu cầu NetrServerAuthenticate và sẽ tự tính toán yêu cầu đó bằng cách sử dụng các giá trị tốt, đã biết của nó. Nếu kết quả tốt, máy chủ sẽ gửi lại thông tin cần thiết cho máy khách. [Hình 1. Bước 4.]

Tại thời điểm này, nỗ lực khai thác lỗ hổng Zero Logon đang được tiến hành. Các bước trên sẽ được lặp lại trong một số lần nhất định để cố gắng khai thác lỗ hổng Zero Logon. Việc khai thác thực tế xảy ra ở Bước 3 và 4, đây là nơi chúng tôi hy vọng Máy chủ có cùng tính toán với máy khách. Đây là cơ hội có 1 trong 256 xuất hiện.

Bước 5 . Nếu máy chủ tính toán cùng một giá trị, máy khách sẽ xác minh lại và khi thỏa thuận chung được xác nhận, họ sẽ đồng ý về một khóa phiên. Khóa phiên sẽ được sử dụng để mã hóa thông tin liên lạc giữa máy khách và máy chủ, có nghĩa là xác thực thành công. [Hình 1. Bước 5]

Từ đó, các giao tiếp RPC bình thường có thể xảy ra.

Cài đặt Impacket

python3 -m pip install virtualenv
python3 -m virtualenv impacketEnv
source impacketEnv/bin/activate
pip install git+https://github.com/SecureAuthCorp/impacket

https://raw.githubusercontent.com/Sq00ky/Zero-Logon-Exploit/master/zeroLogon-NullPass.py

Câu hỏi 1 . Phương pháp nào sẽ cho phép chúng tôi thay đổi Mật khẩu qua NRPC?https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-nrpc/14b020a8-0bcf-4af5-ab72-cc92bc6b1d81

Trả lời: NetrServerPasswordSet2

Câu hỏi 2 . Các trường bắt buộc cho phương thức theo Tài liệu Microsoft là gì?

Trả lời: PrimaryName, AccountName, SecureChannelType, ComputerName, Authenticator, ReturnAuthenticator, ClearNewPassword

Nhiệm vụ 4. Lab It Up

nmap -sV -sC 10.10.44.120

      

Trả lời: DC01

Câu hỏi 2 . Tên miền NetBIOS của mạng là gì?

Trả lời: hololive

Câu hỏi 3 . Bạn đang tấn công miền nào?

Trả lời: hololive.local

Câu hỏi 4 . Hàm băm NTLM của quản trị viên cục bộ là gì?

Câu hỏi 5. Có bao nhiêu tài khoản Quản trị viên miền?

Trả lời: 2

Câu hỏi 6 . Cờ gốc là gì?

Đăng kí tham gia khóa đào tạo Hacker Thiện Chí Trực Tuyến CEH v11 tại đây


Trả lời

Bạn cần phải đăng nhập để gửi bình luận:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s

%d người thích bài này: