CVE-2023-32784: Lỗ hổng cho phép tin tặc kết xuất mật khẩu chính khỏi bộ nhớ KeePass

tuantran

Moderator
Thành viên BQT
27/04/2017
29
76 bài viết
CVE-2023-32784: Lỗ hổng cho phép tin tặc kết xuất mật khẩu chính khỏi bộ nhớ KeePass
KeePass đã phát hiện một lỗ hổng an ninh cho phép mật khẩu chính (master password) bị xóa khỏi bộ nhớ, ngay cả khi vùng nhớ được cấp phát bị khóa hoặc ứng dụng không còn chạy nữa. Lỗ hổng được gán mã mã định danh là CVE-2023-32784.

keepass.JPG

Chi tiết về CVE-2023-32784​

Lỗ hổng tồn tại trong các phiên bản KeePass 2.x đến trước 2.54. Nếu khai thác thành công, hacker sẽ có khả năng khôi phục mật khẩu chính dạng clear text từ kết xuất bộ nhớ. Dù vậy, ký tự đầu tiên của mật khẩu vẫn không thể khôi phục được.

Nghiên cứu về lỗ hổng này, chuyên gia có bí danh là vdohney đã phát triển một ứng dụng PoC mang tên “KeePass Master Password Dumper”. Ứng dụng PoC này cho biết cách làm thế nào mật khẩu chính, ngoại trừ ký tự đầu tiên, có thể được kết xuất khỏi bộ nhớ của KeePass. Điều này có thể được thực hiện mà không yêu cầu thực thi mã trên hệ thống tồn tại lỗ hổng.

Lỗ hổng nằm trong text box (hộp văn bản) được phát triển tùy chỉnh có tên SecureTextBoxEx. Text box này được sử dụng bởi KeePass 2.X để nhập mật khẩu. SecureTextBoxEx không chỉ giới hạn ở mục nhập mật khẩu chính mà cả ở các phần khác của KeePass, ví dụ như box chỉnh sửa mật khẩu.

Để khai thác lỗ hổng, hacker sẽ tạo ra một chuỗi còn sót lại trong bộ nhớ cho mọi ký tự được nhập vào text box này. Do sự phức tạp của .NET, gần như không thể loại bỏ các chuỗi này sau khi chúng được tạo. Chẳng hạn, nhập mật khẩu “Password” sẽ dẫn đến việc tạo các chuỗi còn lại sau: •a, ••s, •••s, ••••w, •••••o, ••••• •r, •••••••d. PoC tìm kiếm kết xuất bộ nhớ cho các mẫu này và đề xuất một ký tự mật khẩu có thể xảy ra cho từng vị trí.

Độ tin cậy của việc khai thác tùy thuộc vào cách nhập mật khẩu và số lượng mật khẩu được nhập trong mỗi phiên. Tuy nhiên, vdohney đã phát hiện ra rằng ngay cả khi điều này xảy ra trong mỗi phiên hoặc có lỗi chính tả, thứ tự của các chuỗi này trong bộ nhớ bởi .NET CLR có khả năng cho phép khôi phục tất cả mật khẩu.

Mặc dù lỗ hổng đã được giảm thiểu trong KeePass 2.54 thông qua việc sử dụng API khác nhau và/hoặc chèn chuỗi ngẫu nhiên, nhưng sự tồn tại của một lỗi như vậy cho thấy người dùng cần luôn cảnh giác và cập nhật thường xuyên. Hiện lỗ hổng vẫn chưa được xử lý, tuy nhiên người dùng cần lưu ý theo dõi và nhanh chóng cập nhật khi bản vá được phát hành để giảm thiểu rủi ro bị tin tặc tấn công. Ngay cả khi giao phó các mật khẩu của mình cho các trình quản lý mật khẩu, chúng ta cũng không được quên rằng không có gì là bất khả xâm phạm.

Nguồn: Security Online
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: Thriuenug
Thẻ
cve-2023-32784 keepass
Bên trên