Các nhà nghiên cứu bảo mật tại Akamai đã phát hiện một biến thể mới của trojan ngân hàng Coyote, đánh dấu trường hợp đầu tiên được ghi nhận về việc các tác nhân độc hại khai thác framework UI Automation (UIA) của Microsoft trong các cuộc tấn công thực tế.
Ban đầu được Akamai mô tả chi tiết trong một bài đăng trên blog vào tháng 12 năm 2024 dưới dạng lỗ hổng khái niệm (proof-of-concept), UIA ban đầu được thiết kế cho các tính năng hỗ trợ tiếp cận (accessibility) trong hệ điều hành Windows từ phiên bản XP trở đi. Framework này cho phép thao tác các phần tử giao diện người dùng (UI) một cách lén lút trên nhiều ứng dụng.
Mục Tiêu và Phạm Vi Tấn Công của Coyote
Biến thể Coyote mới này nhắm mục tiêu vào người dùng Brazil, lợi dụng UIA để thu thập thông tin đăng nhập một cách có hệ thống từ 75 địa chỉ web khác nhau liên quan đến các tổ chức ngân hàng và sàn giao dịch tiền điện tử.
Bằng cách lạm dụng các giao diện Component Object Model (COM) của UIA, phần mềm độc hại này có thể né tránh các công cụ phát hiện và phản hồi điểm cuối (EDR) truyền thống. Các công cụ EDR thường không gắn cờ các hoạt động của UIA là bất thường do framework này có quyền hạn cao vốn có cho các tương tác UI hợp pháp.
Chuỗi Lây Nhiễm và Khai Thác UIA
Chuỗi lây nhiễm của Coyote bắt đầu bằng việc sử dụng trình cài đặt Squirrel để lan truyền, một chiến thuật phản ánh hành vi săn mồi của loài vật mang tên mã độc này.
Sau khi xâm nhập vào hệ thống, Coyote liệt kê các chi tiết hệ thống như tên máy tính, tên người dùng và các tiến trình đang hoạt động, sau đó truyền chúng đến máy chủ command-and-control (C2).
Điểm mấu chốt là nó sử dụng UIA để kiểm tra cửa sổ tiền cảnh (foreground window) thông qua API GetForegroundWindow(), so sánh tiêu đề cửa sổ với danh sách cứng các tên miền tài chính mục tiêu.
Nếu không tìm thấy sự trùng khớp, mã độc sẽ tạo một đối tượng UIA COM bằng cách sử dụng CoCreateInstance với UUID của CUIAutomation (ff48dba4-60ef-4201-aa87-54103eef594e) và UUID của giao diện UIAutomation (30cbe57d-d9d0-452a-ab13-7ac5ac4825ee), đồng thời tải UIAutomationCore.dll vào không gian tiến trình.
Thu Thập Dữ Liệu và Khả Năng Nâng Cao
Việc tải UIAutomationCore.dll cho phép quét lặp lại các phần tử con của UI, như các tab trình duyệt và thanh địa chỉ trong các ứng dụng như Chrome, Firefox hoặc Edge. Mục đích là để xác định và phân loại các mục phù hợp với các danh mục đã được định nghĩa trước, bao gồm Banco do Brasil (loại 0), CaixaBank (loại 1) và các nền tảng tiền điện tử như Binance (loại 3).
Bằng cách phân tích các phần tử này, Coyote có thể thu thập dữ liệu nhạy cảm một cách lén lút như chi tiết thẻ tín dụng hoặc thông tin đăng nhập mà không cần tiêm mã trực tiếp vào tiến trình (direct process injection). Mã độc hoạt động hiệu quả ở cả chế độ trực tuyến và ngoại tuyến để tối đa hóa việc đánh cắp thông tin.
Việc lạm dụng UIA mở rộng khả năng của Coyote vượt ra ngoài các kỹ thuật keylogging và phishing overlay thông thường, cho phép phân tích các cấu trúc con của ứng dụng một cách phức tạp mà nếu không sẽ đòi hỏi kiến thức sâu về nội bộ phần mềm mục tiêu.
Ví dụ, kẻ tấn công có thể mở rộng kỹ thuật này để thao tác các thành phần UI cho mục đích kỹ thuật xã hội, chẳng hạn như thay đổi thanh địa chỉ trình duyệt để chuyển hướng người dùng đến các trang web lừa đảo thông qua các thao tác kích hoạt giả lập trên các phần tử có thể kích hoạt (invokable elements). Tất cả những điều này đều có thể thực hiện được trong khi bỏ qua sự giám sát của EDR, vì các hoạt động của UIA được coi là các tính năng hợp pháp.
Phân tích của Akamai cũng nhấn mạnh các khả năng leo thang tiềm năng, bao gồm các tương tác dựa trên bộ nhớ đệm với các phần tử ngoài màn hình hoặc thậm chí là thao tác trên màn hình bị khóa, mặc dù những điều này chưa được xác minh trong biến thể hiện tại.
Phát Hiện và Biện Pháp Đối Phó
Để chống lại các mối đe dọa như vậy, các chuyên gia bảo mật nên theo dõi việc tải bất thường của UIAutomationCore.dll vào các tiến trình không quen thuộc. Điều này có thể được thực hiện bằng cách sử dụng các truy vấn osquery như sau để phát hiện việc tiêm DLL:
SELECT DISTINCT pid, name, proc.path FROM process_memory_map AS pmm JOIN processes AS proc USING(pid) WHERE pmm.path LIKE '%uiautomationcore.dll'Ngoài ra, việc theo dõi các named pipe của UIA được định dạng là “UIA_PIPE_” theo sau là ID tiến trình (PID) thông qua các truy vấn định danh pipe từ bảng pipe được kết hợp với các tiến trình, có thể tiết lộ các máy chủ UIA đang hoạt động.
Theo báo cáo, công cụ phát hiện bất thường Akamai Hunt đã quét các môi trường để tìm kiếm hoạt động UIA đáng ngờ và đưa ra cảnh báo về các sai lệch.
Mặc dù Microsoft mặc định hạn chế UIA ở mức độ toàn vẹn trung bình (medium integrity levels), nhưng kẻ tấn công có thể vượt qua điều này bằng các manifest được ký (signed manifests) thiết lập thuộc tính uiAccess thành true, nhấn mạnh sự cần thiết phải nâng cao nhận thức.
Sự phát triển này xác nhận các cảnh báo trước đây về tiềm năng sử dụng kép của UIA, thúc giục các đội Blue Team tích hợp các chỉ số này vào các giao thức săn tìm mối đe dọa (threat hunting protocols) để giảm thiểu rủi ro từ các trojan đang phát triển như Coyote, vốn tiếp tục thích nghi các framework cũ để thực hiện việc đánh cắp thông tin đăng nhập hiện đại.
Các Chỉ Số Thỏa Hiệp (IOCs)
Dựa trên phân tích kỹ thuật của biến thể Coyote khai thác UIA, các chỉ số thỏa hiệp (IOCs) sau đây có thể được sử dụng để phát hiện và ngăn chặn hoạt động độc hại:
- UUID CUIAutomation:
ff48dba4-60ef-4201-aa87-54103eef594e - UUID Giao diện UIAutomation:
30cbe57d-d9d0-452a-ab13-7ac5ac4825ee - DLL độc hại liên quan:
UIAutomationCore.dll(khi được tải bất thường vào các tiến trình không phải hệ thống hoặc ứng dụng UIA hợp pháp) - Định dạng Named Pipe của UIA:
UIA_PIPE_<PID>(tìm kiếm các pipe có định dạng này được tạo bởi các tiến trình đáng ngờ) - Trình cài đặt ban đầu: Squirrel installer (để phát hiện chuỗi lây nhiễm ban đầu)










