Mã độc Dridex sử dụng phương pháp mới để vượt qua UAC

14:51 | 08/06/2015

Mã độc Dridex là một trojan được sử dụng để tấn công vào hệ thống ngân hàng, nó giao tiếp với máy chủ C&C thông qua giao thức HTTP.

Hầu hết các mẫu Dridex mà Trung tâm Ứng cứu khẩn cấp máy tính Nhật Bản (JPCERT/CC) đã thu thập được đều hoạt động theo mô hình như hình 1. Mã độc này lây nhiễm thông qua việc người dùng tải và mở một tài liệu word (được chèn mã macro). Khi mở tài liệu, đoạn mã macro sẽ được thực thi và kích hoạt Dridex. Sau khi kích hoạt, mô-đun chính sẽ được tải về.


Hình 1: Mô hình hoạt động của mã độc Dridex

 Phương pháp vượt qua UAC hiện tại 

User Access Control (UAC) là chức năng được sử dụng trên các hệ điều hành Windows do Microsoft phát triển, nhằm kiểm soát người dùng thực thi các ứng dụng. Hình 2 mô tả cách thức mã độc Plug X vượt qua UAC hiện tại.  


Hình 2: Cách thức vượt qua UAC của mã độc PlugX

Bước 1: Mã độc PlugX tạo một DLL (UAC.TMP) 

Bước 2: Mã độc PlugX chèn mã vào tiến trình explorer.exe đang chạy và tiến trình này sao chép tệp tin UAC.TMP tới C:\Windows\System32\sysprep\cryptbase.dll 

Bước 3: Tệp tin Sysprep.exe trong thư mục C:\Windows\System32\sysprep\ được thực thi và nạp tệp tin cryptbase.dll trong thư mục C:\Windows\System32\sysprep\ với quyền quản trị. 

Bước 4: Tệp tin cryptbase.dll thực thi mã độc PlugX với quyền quản trị. 

Trong phương pháp này, việc leo thang đặc quyền được thực hiện mà không hiển thị cảnh báo UAC. Bằng cách sử dụng các hành vi của hệ điều hành Windows (từ phiên bản vista trở lên) được liệt kê dưới đây: 

Các chương trình được chứng nhận bởi chữ ký số của Microsoft và được lưu trữ trong một thư mục được bảo vệ, chẳng hạn như tiến trình explorer.exe có thể thực hiện một số hành động mà đòi hỏi phải có quyền quản trị (sao chép tệp tin DLL tới thư mục bảo vệ C:\Windows\System32\sysprep\) mà không hiển thị cảnh báo UAC.

Các chương trình như sysprep.exe khi thực thi có thể sử dụng quyền quản trị mà không hiển thị cảnh báo UAC.

Một số chương trình như sysprep.exe ưu tiên nạp DLL ở cùng thư mục hơn là DLL cùng tên trong thư mục hệ thống.

Phương pháp mới để vượt qua UAC 

Phương pháp mới vượt qua UAC sử dụng các cơ sở dữ liệu tương thích ứng dụng. Một cơ sở dữ liệu tương thích ứng dụng là một tệp tin cấu hình quy tắc thực thi cho các ứng dụng gặp sự cố tương thích. Những tệp tin có phần mở rộng là sdb. Mã độc Dridex lợi dụng tính năng này nhằm vượt qua UAC (hình 3).


Hình 3: Mã độc Dridex sử dụng phương pháp mới vượt qua UAC.

Bước 1: Dridex tạo ra một cơ sở dữ liệu tương thích ứng dụng ($$$.sdb), một tệp tin thực thi ($$$.bat) và một bản sao của chính nó (edg3FAC.exe). 

Bước 2: Dridex sử dụng lệnh sdbinst để gỡ bỏ cơ sở dữ liệu tương thích ứng dụng và cài đặt $$$.sdb. 

Bước 3: Dridex chạy lệnh iscsicli - một công cụ dòng lệnh khởi tạo iSCSI. Tuy nhiên, cấu hình cài đặt trong cơ sở dữ liệu tương thích ứng dụng ($$$.sdb) làm cho iscsicli.exe thực hiện $$$.bat với quyền quản trị. 

Bước 4: $$$. bat thực thi edg3FAC.exe với quyền quản trị.

Phương pháp này tận dụng các đặc tính sau trong hệ điều hành Windows giúp việc khai thác được dễ dàng hơn so với phương pháp trước. Thậm chí khi hệ điều hành Windows thay đổi, phương pháp này vẫn có thể sử dụng:

Các chương trình như sdbinst.exe và iscsicli.exe (gọi là auto-elevation) tự động nâng cấp đặc quyền quản trị khi chạy mà không có một cảnh báo UAC nào.

Lệnh sdbinst có thể thay đổi thuộc tính của các chương trình khác.

Để phân tích kỹ hơn, sử dụng chương trình soạn thảo HEX có thể thấy một phần mà $$$.bat được thực thi thông qua iscsicli.exe khi chạy.



Sau khi được tạo ra, $$$.bat sẽ được thực thi với quyền quản trị như sau: nó thực thi bản sao của Dridex là edg3FAC.exe. $$$.bat gỡ cài đặt các cơ sở dữ liệu tương thích ứng dụng được cài đặt ngay sau khi vượt qua được UAC và xóa bỏ bằng chứng. 



Với phương pháp mới này, mã độc Dridex có thể dễ dàng vượt qua UAC và lây nhiễm vào máy tính của người dùng.