Giải mã biến thể mới của Trojan ngân hàng Mispadu khai thác lỗ hổng Windows SmartScreen
TỔNG QUAN
Thường được phân phối qua các chiến dịch email lừa đảo, Mispadu là Trojan ngân hàng hoạt động ẩn danh và đã từng được công ty an ninh mạng ESET (Slovakia) báo cáo lần đầu tiên vào tháng 11/2019.
Được viết bằng ngôn ngữ lập trình Delphi, Trojan này ban đầu nhằm mục đích lây nhiễm cho các nạn nhân ở khu vực Mỹ Latinh (LATAM), đặc biệt là tại Brazil và Mexico. Vào tháng 3/2023, nhà cung cấp giải pháp an ninh mạng Metabase Q (Mexico) tiết lộ rằng các chiến dịch thư rác (email spam) của Mispadu đã đánh cắp không dưới 90.000 thông tin xác thực tài khoản ngân hàng kể từ tháng 8/2022.
Trong quá trình phân tích lỗ hổng Windows SmartScreen (CVE-2023-36025, điểm CVSS: 8,8), các nhà nghiên cứu của Palo Alto Networks đã xác định được một phiên bản mới của Trojan Mispadu đã được phát triển và thực thi trước khi công bố mã CVE.
LỖ HỔNG SMARTSCREEN CVE-2023-36025
CVE-2023-36025 là lỗ hổng có thể vượt qua (bypass) tính năng bảo mật trong chức năng Windows SmartScreen. Trong khi đó, SmartScreen được thiết kế để bảo vệ người dùng khỏi các nguồn không đáng tin cậy bằng cách cảnh báo họ về các trang web và tệp độc hại có nguy cơ đe dọa đến an ninh hệ thống Windows. Một ví dụ về cảnh báo SmartScreen được hiển thị trong Hình 1. Tuy nhiên, những kẻ tấn công có thể vượt qua những cảnh báo này bằng cách khai thác CVE-2023-36025.
Hình 1. Cảnh báo của Windows SmartScreen
Cách khai thác này xoay quanh việc tạo một tệp Internet shortcut cụ thể (.url) hoặc hyperlink trỏ đến các tệp độc hại có thể vượt qua các cảnh báo của SmartScreen. Hành vi này dựa vào tham số tham chiếu đến mạng chia sẻ (network share) chứ không phải đường dẫn URL. Tệp .url được tạo ra chứa liên kết đến mạng chia sẻ của tác nhân đe dọa với tệp nhị phân độc hại (Hình 2).
Hình 2. Tệp .url được tạo để chạy tiến trình proc.exe mà không có cảnh báo của SmartScreen
Với tệp .url này, Windows sẽ không hiển thị thông báo cảnh báo của SmartScreen. Khi nhấp vào tệp .url, nạn nhân được chuyển hướng đến mạng chia sẻ của kẻ tấn công để truy xuất và thực thi payload độc hại.
Vào tháng 11/2023, trong khi tìm kiếm các nỗ lực vượt qua SmartScreen bằng cách tìm kiếm các tệp nhị phân được thực thi từ một mạng chia sẻ, các nhà nghiên cứu đã quan sát thấy một tệp .url tại đường dẫn như sau: C:\Users\<USER>\AppData\Local\Temp\4af8a553-b773-4448-b256-17329eb35676_RFC.Online.Melendez.1981.d9f.zip.676\Paolalizbeth.Melendez.1209.url. Trong đó, nội dung của tệp URL được hiển thị trong Hình 3.
Hình 3. Nội dung tệp .url được tạo thủ công
Tệp .url trên đã truy xuất và thực thi tệp nhị phân độc hại là 2456719228.exe thông qua lệnh sau: file[:]\\24.199.98[.]128@80\expediente38\1477606991\2456719228.exe. Tệp .url độc hại ban đầu được chứa trong kho lưu trữ .zip được trình duyệt Microsoft Edge tải xuống tại địa chỉ: C:\Users\<USER>\Downloads\RFC.Online.Melendez.1981.d9f.zip.
Các loại kho lưu trữ ZIP này có thể được phân phối dưới dạng tệp đính kèm email hoặc dưới dạng tải xuống từ các trang web độc hại. Dựa trên mẫu tên tệp của ví dụ ZIP này, các nhà nghiên cứu nhận định rằng các tác nhân đe dọa có thể đã phân phối nó dưới dạng tệp đính kèm email.
Sau khi phân tích sâu hơn, các nhà nghiên cứu đã xác định được các payload tương tự được tải xuống từ cùng một máy chủ điều khiển và ra lệnh (C2). Tất cả các tệp nhị phân này đều được biên dịch và thực thi trước khi lỗ hổng CVE-2023-36025 được công bố. Điều này đã giúp các nhà nghiên cứu xác định rằng máy khách WebDAV có mục đích thực thi các tệp đó.
Việc điều hướng đường dẫn UNC trong tệp .url sẽ nhắc hệ thống sử dụng giao thức dựa trên chia sẻ mạng. Mặc dù SMB thường là mặc định nhưng hệ thống sẽ cố gắng sử dụng WebDAV nếu SMB không được bật. Trong những tình huống như vậy, hệ điều hành sẽ khởi tạo một yêu cầu thông qua tiến trình rundll32.exe, như trong Hình 4.
Hình 4. Lệnh Rundll32 nhằm mục đích sử dụng máy khách WebDAV
Đáng chú ý, việc chỉ định cổng 80 (HTTP) trong đường dẫn UNC buộc Windows phải sử dụng WebDAV qua HTTP thay vì SMB. Các nhà nghiên cứu cũng đã tìm thấy mối liên hệ chặt chẽ với Trojan Mispadu và đã phân tích một trong những mẫu phần mềm độc hại mới này, đồng thời cho rằng đây chính là biến thể mới nhất của Mispadu vì có những điểm tương đồng về cách thức khai thác.
VỀ TROJAN MISPADU
Mispadu là Trojan ngân hàng đánh cắp thông tin tinh vi được xác định lần đầu tiên vào năm 2019, nhắm mục tiêu cụ thể vào các nạn nhân nói tiếng Tây Ban Nha và tiếng Bồ Đào Nha. Phương thức phân phối điển hình của Mispadu liên quan đến các chiến dịch thư rác, trong đó nạn nhân nhận được email độc hại chứa tệp .zip với URL lừa đảo. Trong năm qua, các phiên bản của Mispadu đã có nhiều sự thay đổi nhưng có một số kỹ thuật vẫn được giữ nguyên.
Tháng 3/2023
Lưu lượng truy cập C2 của biến thể mới này rất phù hợp với chiến dịch Mispadu mà Metabase Q đã công bố trước đó vào tháng 3/2023. Các nhà nghiên cứu của Palo Alto Networks cũng xác định được những điểm tương đồng trong khả năng đánh cắp thông tin mà các tác giả đã biên dịch dưới dạng tập lệnh AutoIt trong các mẫu đầu tiên.
Dưới đây là những điểm tương đồng giữa các mẫu:
- Trong khi các máy chủ C2 liên tục thay đổi, các nhà nghiên cứu Palo Alto Networks đã quan sát thấy một tệp .php tương tự trong cả hai chiến dịch, đó là: it.php.
- Tệp .php chấp nhận các tham số như ngôn ngữ hệ thống, kiến trúc hệ thống và hệ điều hành.
- Trong mẫu mới này, các nhà nghiên cứu Palo Alto Networks quan sát thấy tên tham số tương tự trong tệp it.php, giống như trong chiến dịch được mô tả vào tháng 5/2023.
Sự khác biệt đáng kể mà Palo Alto Networks nhận thấy giữa các chiến dịch là chuỗi thực thi và payload chính. Mặc dù chiến dịch vào tháng 5/2023 chứa mẫu phần mềm độc hại nhiều giai đoạn với payload chính của tập lệnh AutoIt, nhưng mẫu mới nhất là một tệp thực thi có chức năng đánh cắp thông tin tương tự như tập lệnh AutoIt trước đây.
Như đã đề cập ở trên, kỹ thuật đánh cắp thông tin trong cả hai mẫu có vẻ giống nhau ở những điểm sau:
- Cả hai đều sử dụng SQLite để đọc thông tin xác thực được lưu trữ. Đây là một thư viện hợp pháp mà những kẻ đánh cắp thông tin khác cũng sử dụng.
- Các mẫu trước đây của Mispadu đã sử dụng các công cụ đã biết như WebBrowserPassView và Mail PassView để trích xuất thông tin xác thực. Tuy nhiên, Palo Alto Networks nghi ngờ rằng các tác giả đã thay đổi phương pháp này để sử dụng SQLite nhằm tránh bị phát hiện.
- Mặc dù không trích xuất tất cả thông tin xác thực nhưng cả hai mẫu đều nhắm mục tiêu đến các trang web ngân hàng cụ thể.
- Cả hai mẫu đều sử dụng mã hóa Bcrypt.dll và AES.
Tháng 8/2023
Các nhà nghiên cứu Palo Alto Networks còn quan sát thấy những điểm tương đồng khác giữa payload trong Hình 5 và payload từ một chiến dịch ở Mexico trong Hình 6 mà công ty an ninh mạng Axon (Mỹ) đã báo cáo vào tháng 8/2023.
Hình 5. URL trỏ đến tệp .exe trong chiến dịch mới
Hình 6. URL trỏ đến tệp .jse trong chiến dịch tháng 8/2023
Không giống như các mẫu mới, chiến dịch từ tháng 8/2023 triển khai khả năng đánh cắp thông tin bằng mã PowerShell. Ngoài chức năng đó, các mẫu từ chiến dịch này còn có các khả năng bổ sung chưa được quan sát thấy trong trường hợp hiện tại, chẳng hạn như cài đặt các tiện ích mở rộng độc hại của Chrome. Tuy nhiên, trong trường hợp này, điểm chung giữa chiến dịch này và mẫu mới mà các nhà nghiên cứu Palo Alto Networks phân tích là lần phân phối ban đầu qua tệp .url.
Ngoài ra, chiến dịch vào tháng 8/2023 cũng tận dụng tính năng WebDAV để thực thi. Trong khi tệp .url trỏ đến tệp .jse, biến thể mới sử dụng tệp .url trỏ đến tệp thực thi (.exe). Mispadu thường tập trung vào các quốc gia LATAM và người dùng nói tiếng Tây Ban Nha hoặc Bồ Đào Nha. Chiến dịch cụ thể này đã được phát hiện ở nhiều khu vực khác nhau, trong đó Mexico là nổi bật nhất.
BIẾN THỂ MỚI TROJAN MISPADU
Trong lần thực thi đầu tiên, phần mềm độc hại truy vấn độ lệch (hoặc chênh lệch tính bằng phút) giữa múi giờ địa phương và giờ quốc tế UTC. Bằng phương pháp này, Trojan sẽ tính toán sự khác biệt bằng cách kiểm tra xem giá trị độ lệch này có lớn hơn 180 phút hay không. Nếu kết quả lớn hơn 180, phần mềm độc hại sẽ dừng lại, hành vi này để nhắm mục tiêu vào một số khu vực nhất định trên thế giới và bỏ qua các khu vực khác.
Trong suốt quá trình thực thi, phần mềm độc hại giải mã có chọn lọc các chuỗi khác nhau. Các nhà phát triển của Mispadu sử dụng thuật toán mã hóa AES để thực hiện các quy trình giải mã cần thiết thông qua thư viện bcrypt.dll. Các nhà nghiên cứu đã trích xuất được các chuỗi sau thông qua hoạt động Brute Force (Hình 7).
Hình 7. Trích xuất chuỗi
Phần mềm độc hại xác định thư mục %TEMP% trên máy tính của nạn nhân, nó sẽ sử dụng thư mục này để lưu trữ tệp tạm thời trong thời gian thực thi còn lại. Sau khi thực hiện hành động này, phần mềm độc hại sẽ xác định phiên bản Windows mà máy tính nạn nhân đang chạy và thực hiện quá trình kiểm tra HTTP/HTTPS ban đầu tới máy chủ C2 từ xa.
Bên cạnh đó, biến thể mới của Trojan Mispadu cũng sẽ thực hiện yêu cầu HTTP hoặc HTTPS GET dựa trên phiên bản Microsoft Windows mà máy tính nạn nhân đang chạy. Trong trường hợp là Windows 7 trở lên, phần mềm độc hại sẽ thực hiện yêu cầu HTTP. Nếu không, Trojan này sẽ thực hiện yêu cầu HTTPS.
Sau khi thực hiện quá trình này và máy chủ C2 nhận được phản hồi thành công, phần mềm độc hại sẽ sao chép các cơ sở dữ liệu lịch sử trình duyệt trên Microsoft Edge hoặc Google Chrome của nạn nhân thông qua SQLite vào thư mục %TEMP% và thực hiện truy vấn sau đối với các tệp được sao chép “SELECT `url` FROM `urls` WHERE `last_visit_time` > 13337916118295160;”.
Lưu ý rằng trong câu lệnh SQL ở trên, 13337916118295160 là dấu thời gian (timestamp) Unix vào ngày 29/8/2023. Bằng cách thực thi câu lệnh SQL, Trojan đang xem xét các URL được quan sát mà nạn nhân đã điều hướng đến trên Microsoft Edge hoặc Google Chrome. Điều này cung cấp thêm thông tin về thời gian xảy ra các cuộc tấn công này.
Sau đó, phần mềm độc hại kiểm tra các URL được trích xuất dựa trên danh sách được nhắm mục tiêu. Để xây dựng danh sách các URL mà kẻ tấn công quan tâm, biến thể mới của Mispadu tận dụng danh sách hàm băm SHA256 có sẵn. Trojan này cũng thêm hàm băm 0x23155CA4D7D94B1E511228924940CAD2A19F801DDC8A445A819C1F9FD1B10226 vào dữ liệu mà nó đang băm.
Để cung cấp ví dụ thực tế về cách hoạt động của quy trình này, các nhà nghiên cứu đã đưa ra ví dụ về trang web tại địa chỉ: https://unit42.paloaltonetworks.com/. Trước tiên, phần mềm độc hại sẽ xóa https:// khỏi URL cũng như dấu /, dẫn đến chỉ còn lại URL dưới dạng: unit42.paloaltonetworks.com. Sau đó nó chia chuỗi này thành ký tự “.” ký tự, dẫn đến ba chuỗi unit42, paloaltonetworks và com. Cuối cùng, phần mềm độc hại băm từng chuỗi này bằng hàm băm được thêm vào trước, dẫn đến ba hàm băm sau:
- dd4018e2cff36fc896497d4539397e8334aa9a5910e73b45bde4f7206aa5ebe3.
- 135c9ef3baaef856dd9ca7801bfb690a3662646ab97568e916a1af06d382b81f.
- 4c21caa1fc4c01fa51d918be8ab40077e79b5b8dbaea098328ff953fc7aca8c2.
Các nhà nghiên cứu đã quan sát thấy tổng cộng 15 nhóm mã băm cho phần mềm độc hại này. Hay nói cách khác, Trojan đã nhắm mục tiêu đến 15 URL khác nhau. Trong đó có một số địa chỉ sau:
- www1.secure.hsbcnet[.]com.
- bancadigital.monex[.]com[.]mx.
- nixe.ixe[.]com[.]mx.
- empresas.bbvanet[.]com[.]mx.
Các máy chủ này nhắm mục tiêu tới các tổ chức tài chính, sàn giao dịch tài chính và các tổ chức liên quan đến tiền điện tử. Phần lớn các URL này có trụ sở tại Mexico, dựa trên hậu tố .mx của chúng.
Trong trường hợp ghi nhận bất kỳ kết quả trùng khớp nào, phần mềm độc hại sẽ tiến hành tải dữ liệu (upload) thông qua yêu cầu HTTP/S POST (Hình 8).
Hình 8. Yêu cầu HTTP POST được tạo bởi Mispadu
Sau khi cập nhật dữ liệu thành công, phần mềm độc hại sẽ gửi yêu cầu HTTP/S GET cuối cùng (Hình 9).
Hình 9. Yêu cầu GET được tạo bởi Mispadu
Yêu cầu này khác với yêu cầu đầu tiên ở chỗ tham số f được đặt thành giá trị 9 thay vì giá trị 2 mà các nhà nghiên cứu quan sát ban đầu.
KẾT LUẬN
Biến thể Mispadu mới liên tục phát triển và thay đổi kỹ thuật. Trong những tháng gần đây, lỗ hổng Windows đã bị nhiều nhóm tội phạm mạng khai thác để phát tán phần mềm độc hại DarkGate và Phemedrone Stealer nhằm đánh cắp dữ liệu nhạy cảm từ các máy bị nhiễm và nhúng thêm payload độc hại..
Mexico đã nổi lên như một mục tiêu hàng đầu của một số chiến dịch tấn công mạng trong thời gian qua để các tin tặc phân phối một số phần mềm đánh cắp thông tin và Trojan truy cập từ xa như AllaKore RAT, AsyncRAT, Babylon RAT.
Sự phát triển này diễn ra khi công ty an ninh mạng Sekoia (Pháp) trình bày chi tiết về hoạt động của DICELOADER (còn gọi là Lizar hoặc Tirion), một trình tải xuống tùy chỉnh được sử dụng bởi nhóm tội phạm mạng đến từ Nga có tên là FIN7.
Lưu Trung
(Tổng hợp)