Phân tích lỗ hổng hệ thống Windows của Microsoft: có thể đe dọa an toàn sinh thái Web3
Trong bản cập nhật bảo mật của Microsoft tháng trước có chứa một lỗ hổng nâng quyền win32k bị khai thác, lỗ hổng này dường như chỉ tồn tại trong các phiên bản hệ điều hành Windows sớm hơn. Bài viết này sẽ phân tích cách mà kẻ tấn công có thể tiếp tục khai thác lỗ hổng này trong bối cảnh các biện pháp an ninh hiện tại đang được cải thiện liên tục. Quá trình phân tích được thực hiện trong môi trường Windows Server 2016.
Các lỗ hổng 0day loại này có thể bị khai thác một cách ác ý mà không bị phát hiện sau khi được phát hiện, mang lại tính phá hoại lớn. Thông qua lỗ hổng này, tin tặc có thể lấy được quyền kiểm soát hoàn toàn hệ thống Windows. Hậu quả của việc bị kiểm soát bao gồm đánh cắp thông tin cá nhân, sự cố hệ thống dẫn đến mất dữ liệu, thiệt hại tài chính, cài đặt phần mềm độc hại, v.v. Ảnh hưởng trong phạm vi nhỏ có thể dẫn đến việc đánh cắp khóa riêng và chuyển giao tài sản kỹ thuật số, trong khi ảnh hưởng lớn có thể đe dọa toàn bộ 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á
Phân tích bản vá cho thấy, vấn đề dường như là số lượng tham chiếu của một đối tượng đã bị xử lý nhiều lần. Theo chú thích mã nguồn trước đây, mã trước đây chỉ khóa đối tượng cửa sổ, không khóa đối tượng menu trong đối tượng cửa sổ, điều này có thể dẫn đến việc đối tượng menu bị tham chiếu sai.
Xác minh lỗ hổng
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à đặt một số điều kiện cụ thể để kích hoạt lỗ hổng:
ID menu trong cùng phải là loại menu hệ thống
Menu ngoài cùng cũng phải là menu hệ thống, nhưng cần xóa các mục menu hệ thống cụ thể.
Xóa tham chiếu cha của menu lớp giữa
Thêm các menu lớp trung gian bổ sung để đảm bảo việc phát hành thành công
Xóa bỏ mối quan hệ tham chiếu vào menu quan trọng khi hàm trả về lớp người dùng, để nó được giải phóng thành công. Như vậy, khi tham chiếu đến đối tượng menu đó trong các hàm lõi tiếp theo sẽ gặp vấn đề.
Khai thác lỗ hổng
Có hai hướng chính để sử dụng ý tưởng:
Thực thi mã shellcode - Cách này có thể gặp nhiều hạn chế trên các phiên bản Windows cao.
Sử dụng nguyên tử đọc-ghi để chỉnh sửa địa chỉ token - Phương pháp này có tính đa dụng tốt hơn.
Chúng tôi đã chọn phương án thứ hai, chia toàn bộ quá trình sử dụng thành hai bước quan trọng:
Sử dụng lỗ hổng UAF để kiểm soát giá trị của cbwndextra
Nhận các nguyên tử đọc ghi ổn định
Để thực hiện việc ghi dữ liệu lần đầu tiên, chúng tôi đã sử dụng đối tượng tên của lớp cửa sổ để chiếm dụng bộ nhớ của đối tượng menu đã giải phóng và tìm kiếm cấu trúc địa chỉ có thể ghi dữ liệu tùy ý. Cuối cùng, chúng tôi đã chọn cách ghi dữ liệu bằng cách xác định các cờ trong hàm cụ thể.
Để có được bố cục bộ nhớ ổn định, chúng tôi đã thiết kế ba đối tượng cửa sổ có kích thước giống hệt nhau liên tiếp, giải phóng đối tượng ở giữa và sử dụng đối tượng lớp cửa sổ. Thông qua địa chỉ tay cầm hạt nhân rò rỉ trong bộ nhớ heap để xác định chính xác xem sự sắp xếp của các đối tượng có phù hợp với mong đợi hay không.
Về khả năng đọc và ghi nguyên thủy, chúng tôi sử dụng GetMenuBarInfo() để thực hiện việc đọc tùy ý, sử dụng SetClassLongPtr() để thực hiện việc ghi tùy ý. Ngoài việc ghi token, tất cả các thao tác ghi khác đều sử dụng đối tượng class của đối tượng cửa sổ đầu tiên.
Tóm tắt
Lỗ hổng win32k có thể bị ngăn chặn trong phiên bản xem trước của Windows 11
Quy trình khai thác loại lỗ hổng này tương đối đơn giản, chủ yếu phụ thuộc vào việc rò rỉ địa chỉ của handle heap trên desktop.
Phát hiện lỗ hổng có thể phụ thuộc vào việc kiểm tra độ bao phủ mã hoàn thiện hơn.
Việc phát hiện bố cục bộ nhớ bất thường và việc đọc ghi dữ liệu giúp 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.
11 thích
Phần thưởng
11
9
Đăng lại
Chia sẻ
Bình luận
0/400
MoneyBurnerSociety
· 08-13 09:31
Thế thì, khóa riêng ví tiền đều mất hết, còn nghiên cứu cái gì Web3... bẫy cái ví lạnh không ngon sao?
Xem bản gốcTrả lời0
OnChainDetective
· 08-13 02:43
vừa theo dõi lỗ hổng win32k này... điểm yếu hạ tầng web2 điển hình thật đáng tiếc. không phải chìa khóa của bạn thì không phải coin của bạn, mọi người ạ.
Xem bản gốcTrả lời0
BlockchainWorker
· 08-12 11:32
Quá nguy hiểm, chuyển sang nền tảng linux để bảo toàn tính mạng trước.
Xem bản gốcTrả lời0
ParallelChainMaxi
· 08-12 02:25
Lại là đề tài có mùi cha
Xem bản gốcTrả lời0
RugPullSurvivor
· 08-10 12:49
Web2 ban ngày web3 ban đêm sống trong Blockchain, các đồ ngốc Crypto đã trở thành lão làng, tập trung vào việc thao túng thế giới tiền điện tử, Metaverse Defi NFT những người du mục số~
Hãy tạo một bình luận theo phong cách nói tiếng Trung.
Ngồi chờ hacker chơi đùa với mọi người
Xem bản gốcTrả lời0
metaverse_hermit
· 08-10 12:43
Lại làm khó người chơi đơn rồi.
Xem bản gốcTrả lời0
SillyWhale
· 08-10 12:42
Ai dám động vào Ví tiền của tôi thử xem!
Xem bản gốcTrả lời0
DogeBachelor
· 08-10 12:32
Đồ ngốc đang vật lộn trên tuyến đầu web3
Xem bản gốcTrả lời0
TxFailed
· 08-10 12:30
khoảnh khắc Windows cổ điển... học được điều này theo cách khó khăn thật lòng mà nói
Lỗ hổng hệ thống Windows có thể đe dọa an ninh của hệ sinh thái Web3: Phân tích đường đi khai thác và các đề xuất phòng ngừa.
Phân tích lỗ hổng hệ thống Windows của Microsoft: có thể đe dọa an toàn sinh thái Web3
Trong bản cập nhật bảo mật của Microsoft tháng trước có chứa một lỗ hổng nâng quyền win32k bị khai thác, lỗ hổng này dường như chỉ tồn tại trong các phiên bản hệ điều hành Windows sớm hơn. Bài viết này sẽ phân tích cách mà kẻ tấn công có thể tiếp tục khai thác lỗ hổng này trong bối cảnh các biện pháp an ninh hiện tại đang được cải thiện liên tục. Quá trình phân tích được thực hiện trong môi trường Windows Server 2016.
Các lỗ hổng 0day loại này có thể bị khai thác một cách ác ý mà không bị phát hiện sau khi được phát hiện, mang lại tính phá hoại lớn. Thông qua lỗ hổng này, tin tặc có thể lấy được quyền kiểm soát hoàn toàn hệ thống Windows. Hậu quả của việc bị kiểm soát bao gồm đánh cắp thông tin cá nhân, sự cố hệ thống dẫn đến mất dữ liệu, thiệt hại tài chính, cài đặt phần mềm độc hại, v.v. Ảnh hưởng trong phạm vi nhỏ có thể dẫn đến việc đánh cắp khóa riêng và chuyển giao tài sản kỹ thuật số, trong khi ảnh hưởng lớn có thể đe dọa toàn bộ 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á
Phân tích bản vá cho thấy, vấn đề dường như là số lượng tham chiếu của một đối tượng đã bị xử lý nhiều lần. Theo chú thích mã nguồn trước đây, mã trước đây chỉ khóa đối tượng cửa sổ, không khóa đối tượng menu trong đối tượng cửa sổ, điều này có thể dẫn đến việc đối tượng menu bị tham chiếu sai.
Xác minh lỗ hổng
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à đặt một số điều kiện cụ thể để kích hoạt lỗ hổng:
Xóa bỏ mối quan hệ tham chiếu vào menu quan trọng khi hàm trả về lớp người dùng, để nó được giải phóng thành công. Như vậy, khi tham chiếu đến đối tượng menu đó trong các hàm lõi tiếp theo sẽ gặp vấn đề.
Khai thác lỗ hổng
Có hai hướng chính để sử dụng ý tưởng:
Chúng tôi đã chọn phương án thứ hai, chia toàn bộ quá trình sử dụng thành hai bước quan trọng:
Để thực hiện việc ghi dữ liệu lần đầu tiên, chúng tôi đã sử dụng đối tượng tên của lớp cửa sổ để chiếm dụng bộ nhớ của đối tượng menu đã giải phóng và tìm kiếm cấu trúc địa chỉ có thể ghi dữ liệu tùy ý. Cuối cùng, chúng tôi đã chọn cách ghi dữ liệu bằng cách xác định các cờ trong hàm cụ thể.
Để có được bố cục bộ nhớ ổn định, chúng tôi đã thiết kế ba đối tượng cửa sổ có kích thước giống hệt nhau liên tiếp, giải phóng đối tượng ở giữa và sử dụng đối tượng lớp cửa sổ. Thông qua địa chỉ tay cầm hạt nhân rò rỉ trong bộ nhớ heap để xác định chính xác xem sự sắp xếp của các đối tượng có phù hợp với mong đợi hay không.
Về khả năng đọc và ghi nguyên thủy, chúng tôi sử dụng GetMenuBarInfo() để thực hiện việc đọc tùy ý, sử dụng SetClassLongPtr() để thực hiện việc ghi tùy ý. Ngoài việc ghi token, tất cả các thao tác ghi khác đều sử dụng đối tượng class của đối tượng cửa sổ đầu tiên.
Tóm tắt
Hãy tạo một bình luận theo phong cách nói tiếng Trung.
Ngồi chờ hacker chơi đùa với mọi người