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
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 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.
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.