Phân tích lỗ hổng 0day của hệ thống Windows Microsoft và tác động tiềm tàng của nó
Gần đây, bản cập nhật bảo mật mà Microsoft phát hành đã sửa một lỗ hổng nâng quyền trong nhân Windows đang bị khai thác. Lỗ hổng này chủ yếu ảnh hưởng đến các phiên bản Windows sớm, không thể kích hoạt trên Windows 11. Bài viết này sẽ phân tích sâu về cách khai thác loại lỗ hổng này trong môi trường bảo mật hiện tại.
Lỗ hổng 0day đề cập đến các lỗ hổng bảo mật chưa được công bố và chưa được sửa chữa, có thể bị kẻ tấn công khai thác một cách độc hại mà không bị phát hiện, với mức độ phá hoại lớn. Lỗ hổng 0day trên Windows vừa được phát hiện có thể cho phép hacker chiếm quyền kiểm soát hoàn toàn hệ thống, hậu quả bao gồm việc đánh cắp thông tin cá nhân, hệ thống sập, thiệt hại tài chính, cài đặt phần mềm độc hại, v.v. Đối với người dùng Web3, điều này có thể dẫn đến việc bị đánh cắp khóa riêng tư và tài sản kỹ thuật số bị chuyển giao. Từ một góc độ rộng hơn, lỗ hổng này thậm chí có thể ảnh hưởng đến hệ sinh thái Web3 hoạt động dựa trên cơ sở hạ tầng Web2.
Phân tích bản vá cho thấy, vấn đề nằm ở cách xử lý số đếm tham chiếu của đối tượng menu trong đối tượng cửa sổ trong mã win32k. Mã trước đó chỉ khóa đối tượng cửa sổ, không khóa đối tượng menu bên trong, có thể dẫn đến việc đối tượng menu bị tham chiếu sai.
Để khai thác lỗ hổng này, chúng tôi đã xây dựng một cấu trúc menu lồng ghép đa tầng đặc biệt và xóa một phần quan hệ tham chiếu menu vào thời điểm quan trọng. Điều này cho phép giải phóng thành công đối tượng menu mục tiêu khi hàm xxxRedrawTitle trả về lớp người dùng, dẫn đến việc các hàm lõi sau đó tham chiếu đến đối tượng không hợp lệ.
Trong việc thực tiễn, chúng tôi chủ yếu xem xét hai phương án: thực thi shellcode hoặc sử dụng các nguyên thủy đọc/ghi để thay đổi địa chỉ token. Xét đến cơ chế bảo mật của Windows phiên bản cao, chúng tôi đã chọn phương án sau. Cụ thể, việc triển khai được chia thành hai bước: đầu tiên là kiểm soát giá trị cbwndextra bằng lỗ hổng UAF, sau đó xây dựng các nguyên thủy đọc/ghi ổn định.
Chúng tôi đã thiết kế một bố cục bộ nhớ bao gồm ba đối tượng HWND liên tiếp, thông qua việc kiểm soát chính xác kích thước đối tượng và thứ tự giải phóng, đã thành công trong việc thực hiện việc ghi dữ liệu mục tiêu lần đầu tiên. Sau đó, đã sử dụng các hàm GetMenuBarInfo() và SetClassLongPtr() để xây dựng các nguyên tử đọc/ghi ổn định, cuối cùng hoàn thành việc sửa đổi token hệ thống.
Mặc dù Microsoft đang tái cấu trúc mã win32k bằng Rust để giải quyết triệt để các vấn đề như vậy, nhưng đối với nhiều hệ thống cũ đang sử dụng, đây vẫn là một mối đe dọa an ninh nghiêm trọng. Phân tích lỗ hổng lần này cũng phản ánh rằng, việc phát hiện mã đầy đủ và kiểm tra có mục tiêu đối với các thao tác bộ nhớ bất thường sẽ là những cách quan trọng để phát hiện các lỗ hổng như vậy.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
21 thích
Phần thưởng
21
8
Chia sẻ
Bình luận
0/400
ApeWithAPlan
· 07-08 09:41
Thật tốt là tôi không còn phải dùng cái cửa sổ nhỏ đó nữa.
Xem bản gốcTrả lời0
AirdropFatigue
· 07-07 11:15
người dùng win10 đang run rẩy
Xem bản gốcTrả lời0
MagicBean
· 07-07 03:49
Đã đến lúc đổi sang Mac rồi.
Xem bản gốcTrả lời0
WhaleWatcher
· 07-07 00:48
Ít nhất thì tôi vẫn an toàn trong win11
Xem bản gốcTrả lời0
JustHodlIt
· 07-07 00:47
Lại đang cho ăn, thật kích thích
Xem bản gốcTrả lời0
DegenWhisperer
· 07-07 00:40
Nhanh chóng nâng cấp lên win11 để giữ an toàn
Xem bản gốcTrả lời0
HodlVeteran
· 07-07 00:38
Lại sắp diễn ra cuộc tháo chạy lớn của đồ ngốc Ví tiền rồi.
Xem bản gốcTrả lời0
RugPullProphet
· 07-07 00:37
Lại đang làm chuyện gì đó, nhanh chóng đổi sang win11 đi.
Phân tích lỗ hổng 0day trên Windows: Những mối đe dọa tiềm tàng đối với sự an toàn của khóa riêng người dùng Web3
Phân tích lỗ hổng 0day của hệ thống Windows Microsoft và tác động tiềm tàng của nó
Gần đây, bản cập nhật bảo mật mà Microsoft phát hành đã sửa một lỗ hổng nâng quyền trong nhân Windows đang bị khai thác. Lỗ hổng này chủ yếu ảnh hưởng đến các phiên bản Windows sớm, không thể kích hoạt trên Windows 11. Bài viết này sẽ phân tích sâu về cách khai thác loại lỗ hổng này trong môi trường bảo mật hiện tại.
Lỗ hổng 0day đề cập đến các lỗ hổng bảo mật chưa được công bố và chưa được sửa chữa, có thể bị kẻ tấn công khai thác một cách độc hại mà không bị phát hiện, với mức độ phá hoại lớn. Lỗ hổng 0day trên Windows vừa được phát hiện có thể cho phép hacker chiếm quyền kiểm soát hoàn toàn hệ thống, hậu quả bao gồm việc đánh cắp thông tin cá nhân, hệ thống sập, thiệt hại tài chính, cài đặt phần mềm độc hại, v.v. Đối với người dùng Web3, điều này có thể dẫn đến việc bị đánh cắp khóa riêng tư và tài sản kỹ thuật số bị chuyển giao. Từ một góc độ rộng hơn, lỗ hổng này thậm chí có thể ảnh hưởng đến hệ sinh thái Web3 hoạt động dựa trên cơ sở hạ tầng Web2.
Phân tích bản vá cho thấy, vấn đề nằm ở cách xử lý số đếm tham chiếu của đối tượng menu trong đối tượng cửa sổ trong mã win32k. Mã trước đó chỉ khóa đối tượng cửa sổ, không khóa đối tượng menu bên trong, có thể dẫn đến việc đối tượng menu bị tham chiếu sai.
Để khai thác lỗ hổng này, chúng tôi đã xây dựng một cấu trúc menu lồng ghép đa tầng đặc biệt và xóa một phần quan hệ tham chiếu menu vào thời điểm quan trọng. Điều này cho phép giải phóng thành công đối tượng menu mục tiêu khi hàm xxxRedrawTitle trả về lớp người dùng, dẫn đến việc các hàm lõi sau đó tham chiếu đến đối tượng không hợp lệ.
Trong việc thực tiễn, chúng tôi chủ yếu xem xét hai phương án: thực thi shellcode hoặc sử dụng các nguyên thủy đọc/ghi để thay đổi địa chỉ token. Xét đến cơ chế bảo mật của Windows phiên bản cao, chúng tôi đã chọn phương án sau. Cụ thể, việc triển khai được chia thành hai bước: đầu tiên là kiểm soát giá trị cbwndextra bằng lỗ hổng UAF, sau đó xây dựng các nguyên thủy đọc/ghi ổn định.
Chúng tôi đã thiết kế một bố cục bộ nhớ bao gồm ba đối tượng HWND liên tiếp, thông qua việc kiểm soát chính xác kích thước đối tượng và thứ tự giải phóng, đã thành công trong việc thực hiện việc ghi dữ liệu mục tiêu lần đầu tiên. Sau đó, đã sử dụng các hàm GetMenuBarInfo() và SetClassLongPtr() để xây dựng các nguyên tử đọc/ghi ổn định, cuối cùng hoàn thành việc sửa đổi token hệ thống.
Mặc dù Microsoft đang tái cấu trúc mã win32k bằng Rust để giải quyết triệt để các vấn đề như vậy, nhưng đối với nhiều hệ thống cũ đang sử dụng, đây vẫn là một mối đe dọa an ninh nghiêm trọng. Phân tích lỗ hổng lần này cũng phản ánh rằng, việc phát hiện mã đầy đủ và kiểm tra có mục tiêu đối với các thao tác bộ nhớ bất thường sẽ là những cách quan trọng để phát hiện các lỗ hổng như vậy.