Mã độc này lợi dụng một lỗ hổng bảo mật của Microsoft Office và WordPad được định danh CVE-2017-0199. Tin tặc đã khai thác lỗ hổng qua hình thức gửi thư điện tử hoặc đăng tải lên các trang chia sẻ tài liệu giả mạo có đính kèm tệp tin Word độc hại chứa OLE2link (Windows Object Linking and Embedding). Khi người dùng mở tệp tin, mã khai thác sẽ được thực thi và kết nối tới máy chủ từ xa do tin tặc kiểm soát. Tại đây, mã khai thác tải về một tệp tin ứng dụng HTML (HTA) độc hại, giả mạo tệp tin tài liệu RTF (Rich Text Format) của Microsoft. Sau đó, tệp tin HTA tự động thực thi trên máy nạn nhân và tải thêm các mã độc khác để chiếm quyền kiểm soát máy tính nạn nhân, đồng thời đóng tập tin Word lại, và hiển thị bảng thông báo như sau:
Tiến hành phân tích
Giai đoạn 1: unikeyrc4.exe
Sau khi mở file RTF độc hại, winword sẽ tải về một file HTA và thực thi bằng mshta.exe. Mã độc sẽ tạo một file Streams để sao chép chính bản thân nó. Sau đó, thực hiện kiểm tra sự tồn tại của phần mềm antivirus trên máy nạn nhân.
Hàm anti_av hoạt động khá đơn giản bằng cách tạo một snapshot tất cả các tiến trình (process) hiện tại, rồi lần lượt xem có tồn tại process của phần mềm antivirus không. Sau đó thực hiện tạo một process mới với câu lệnh:
Giai đoạn 2: temporary file streams
Phân tích tệp tin config chứa trong resource:
- Malware sẽ trích xuất resource {9439101-377F-4487-A66D-E172C05CF386}, giải mã bằng cách reverse (swap) các bytes và ghi lại vào file unikeyrc4.exe, đổi tên unikeyrc4.exe thành unikeyrc4.docx rồi mở file này bằng ShellExecute nhằm đánh lừa người dùng.
- Anti Virtual-PC
- Anti VMWare
- Tiến hành kiểm tra có tồn tại service DpiScaling hay không, nếu có sẽ start service này và đó chính là malware service. Nếu chưa, malware sẽ thực hiện decrypt 0x33A00 bytes tại 0x04310B8 (giống với giải mã nội dung docx) và ghi vào file %PROGRAM_FILES%\Microsoft\Display Control Panel\DpiScaling.exe và 0x3600 bytes tại 0x0464AB8 ghi vào %PROGRAM_FILES%\Microsoft\Dynamic COM+\comuid.dll (đây chính là phần chính của malware).
- Registry keys:
- Persistences:
- Tạo service (DpiScaling.exe):
- Cuối cùng, thực thi một process mới:
Với /t, DpiScaling.exe sẽ thực hiện xóa file được chỉ định (file stream hiện tại) và thoát.
Giai đoạn 3: DpiScaling.exe
- Đọc giá trị từ key HKCU\Software\Microsoft\Windows\ CurrentVersion\Display\Settings\Dpi\Device-0\XYperPixel (comuid.dll).
- Nếu đã tồn tại comuid.dll, mã độc sẽ ghi một file mới %TEMP%\Control Panel\desktop.cpl.
- Cài đặt biến môi trường {895E9411-EBC5-4FFA-9217-272D733C9486} thành đường dẫn của comuid.dll.
- Thực thi desktop.cpl bằng control.exe (%SYSTEMROOT%\Syswow64 hoặc %SYSTEMROOT%\System32, tùy vào phiên bản của hệ điều hành).
Giai đoạn 4: desktop.cpl
Desktop.cpl được viết khá đơn giản. Tiến hành phân tích tĩnh hàm CPIApplet. Chương trình tạo một local mutex _SHMSFTHISTORY!_ và kill tất cả các thread khác từ process đang chạy, sau đó load comuid.dll.
Giai đoạn 5: comuid.dll
Control.exe (desktop.cpl) thực hiện load comuid.dll bằng LoadLibrary. DllMain tạo ra một thread mới thực thi các chức năng chính của malware, ghi một số khóa registry và giao tiếp với máy chủ C&C.
- C&C:
- Port number: 28395
Scan results
DpiScaling.exe
Desktop.cpl
Comuid.dll
Các biện pháp phòng ngừa
Để phòng ngừa mã độc này, người dùng cần thực hiện:
- Cài đặt và thường xuyên cập nhật hệ điều hành, phần mềm antivirus.
- Cảnh giác với các tập tin đính kèm, các đường liên kết ẩn được gửi đến thư điện tử người dùng, kể cả người dùng nội bộ.
- Thực hiện các biện pháp kiểm tra xác thực người dùng trên máy chủ gửi thư điện tử của đơn vị để tránh giả mạo người gửi từ nội bộ.
- Tắt các chế độ tự động mở, chạy tập tin đính kèm khi truy cập thư điện tử.
- Khi tải các tập tin từ trên Internet, cần cẩn trọng kiểm tra trước khi mở tập tin bằng cách kiểm tra tại địa chỉ: https://www.virustotal.com/. Lưu ý khi tải về KHÔNG được mở xem nội dung trước khi tiến hành kiểm tra.
- Cập nhật các bản vá lỗi mới nhất ngay khi có thể.