Chiến dịch khai thác tiền điện tử bằng SilentCryptoMiner nhắm vào Nga

Các nhà nghiên cứu bảo mật thuộc Kaspersky cảnh báo về một chiến dịch phát tán các phần mềm độc hại chứa mã độc khai thác tiền điện tử SilentCryptoMiner nhắm vào người dùng tại Nga. Nghiên cứu cho thấy, những kẻ tấn công đã lợi dụng công cụ hợp lệ như Windows Packet Divert nhằm vượt qua các lớp kiểm duyệt của internet và phát tán SilentCryptoMiner tới nạn nhân.
Giai đoạn 1: Thiết lập lây nhiễm
Thống kê nhanh cho thấy, Kaspersky đã xác định được hơn 2.000 người tại Nga là nạn nhân của chiến dịch phát tán mã độc này. Những chương trình đào tiền ảo (miner) được tin tặc ngụy trang thành công cụ giúp vượt qua các biện pháp chặn dựa trên kỹ thuật kiểm tra gói tin sâu (Deep Packet Inspection - DPI). Một trong những cách phát tán các công cụ trên là thông qua các kênh phương tiện giải trí hoặc mạng xã hội có số lượng người dùng lớn như Youtube, Discord. Các nhà nghiên cứu đã phát hiện một Youtuber với hơn 60.000 lượt theo dõi vừa qua đã đăng tải những video hướng dẫn cách cài đặt và sử dụng những phần mềm độc hại này trên kênh của mình. Đáng chú ý, những video này thu hút hơn 400.000 lượt xem, đồng thời ghi nhận đã có hơn 40.000 lượt truy cập tới trang web chứa mã độc từ liên kết được gắn trong phần mô tả dưới các video.

Hình 1: Trang web độc hại gitrok[.]com
Những phần mềm chứa mã độc đào tiền điện tử được kẻ tấn công phát tán thông qua các kho lưu trữ (repositories) trên trang web gitrok[.]com. Các kho lưu trữ này đều chứa các tệp thực thi bổ sung, nội dung trong tệp tin general.bat đều bị sửa đổi để có thể chạy được trong Powershell. Trong một số trường hợp, nếu các phần mềm bảo vệ trong máy tính của nạn nhân phát hiện ra những tệp độc hại này và tiến hành quy trình xoá bỏ, ngay lập tức một thông báo giả với nội dung “File not found, disable all antivirus and re-download the file, that will help!” được hiển thị, nhằm đánh lừa người dùng vô hiệu hoá các phần mềm bảo vệ và thực thi tệp tin độc.

Hình 2: So sánh nội dung của tệp tin general.bat giữa bản gốc (trái) và phiên bản từ kẻ tấn công (phải)
Nghiên cứu sâu hơn, các nhà bảo mật của Kaspersky phát hiện tệp thực thi độc hại được viết bằng Python và được đóng gói vào một ứng dụng thực thi bằng PyInstaller. Trong một số biến thể khác, đoạn mã trong tệp độc hại này có thể bị xáo trộn bằng thư viện PyArmor, khiến các giải pháp bảo mật khó phát hiện hơn khi phân tích logic của đoạn mã. Trình tải (loader) này sau đó truy vấn tới một trong hai tên miền chỉ có thể truy cập tới nếu IP của nạn nhân là các IP của Nga: canvas[.]pet hoặc swapme[.]fun, tải xuống payload độc có tên t.py và lưu payload vào thư mục tạm thời trên hệ thống trước khi khởi chạy payload độc này.
Giai đoạn 2: Lây nhiễm và thiết lập sự tồn tại
Trong giai đoạn tiếp theo, một trình tải viết bằng Python dựa trên mã nguồn mở đã tuỳ chỉnh được sử dụng lần lượt thực thi các bước sau:
Bước 1: Phát hiện môi trường ảo hoá và Sandbox
Loader quét hệ thống để kiểm tra xem hệ thống này có đang chạy trong máy ảo (VM) hoặc môi trường phân tích sandbox hay không.
So sánh dữ liệu hệ thống như tên máy tính, tên người dùng, địa chỉ MAC, ID ổ đĩa (HWID), thông số GPU với danh sách giá trị được dùng bởi các môi trường ảo.
Nếu phát hiện hệ thống đang chạy trong một VM hoặc sandbox, mã độc sẽ tự hủy hoặc thay đổi hành vi để tránh bị phân tích.
Bước 2: Thêm thư mục AppData vào danh sách loại trừ của Microsoft Defender
- Nhằm tránh bị phát hiện và bị loại bỏ, loader này sẽ chỉnh sửa cấu hình của các phần mềm bảo mật như Microsoft Defender để bỏ qua việc quét thư mục AppData, sau đó lưu trữ các payload trong thư mục này.
Bước 3: Tải các payload độc từ máy chủ C2
Loader kết nối với máy chủ C2, gửi yêu cầu tới địa chỉ
http://192.233.203[.]138/WjEjoHCj/tTuỳ vào phản hồi của máy chủ (true/false) và một xác suất ngẫu nhiên, loader này sẽ thực hiện một trong hai hành động: Tải một tệp thực thi từ
http://9×9o[.]com/q.txthoặc Giải mã đoạn dữ liệu Base64 có sẵn trong script.Tệp nhận được sẽ được lưu trong đường dẫn:
%LocalAppData%\driverpatch9t1ohxw8\di.exe
Bước 4: Chỉnh sửa di.exe để tránh bị phân tích
Sau khi được tải xuống, loader sẽ chỉnh sửa
di.exebằng cách thêm các khối dữ liệu ngẫu nhiên vào cuối file, khiến kích thước tệp có thể bị phình lên đến 690 MB.Kỹ thuật này được gọi là file padding – là kỹ thuật giúp mã độc tránh bị phân tích bởi phần mềm diệt virus và sandbox do các công cụ này thường bỏ qua các tệp có kích thước lớn.
Bước 5: Thiết lập cơ chế tồn tại lâu dài (persistence)
Nhằm giúp mã độc ngụy trang và không bị người dùng phát hiện, loader tiến hành tạo một dịch vụ Windows (Windows Service) có tên
DrvSvc. Sau đó nó đặt phần mô tả của dịch vụ này giống với dịch vụ hợp pháp Windows Image Acquisition (WIA) - một dịch vụ dùng để xử lý hình ảnh từ máy ảnh, máy quét.svc_name = "DrvSvc" svc_desc = "Launches applications associated with still image acquisition events." cmd_create = f'sc create {svc_name} binPath= "{exe_path}" start= auto' cmd_desc = f'sc description {svc_name} "{svc_desc}"'
SilentCryptoMiner
Các nhà nghiên cứu chỉ ra, tệp di.exe là một mẫu SilentCryptoMiner biến thể dựa trên mẫu mã độc đào tiền ảo mã nguồn mở XMRig. Đây được biết đến là công cụ đào tiền ẩn danh (convert miner), mã độc này có thể khai thác nhiều loại tiền điện tử khác nhau như ETH, ETC, XMR, RTM,… thông qua nhiều thuật toán khác nhau. Hoạt động của di.exe sau khi khởi chạy trên hệ thống nạn nhân có thể được liệt kê như sau:
Ngụy trang bằng kỹ thuật Process Hollowing
SilentCryptoMiner không chạy trực tiếp mà sử dụng kỹ thuật Process Hollowing để tiêm mã đào tiền vào một tiến trình hệ thống hợp pháp.
Trong trường hợp này, nó tiêm vào tiến trình dwm.exe (Desktop Window Manager – một tiến trình Windows hợp pháp). Điều này giúp nó tránh bị phát hiện bởi phần mềm diệt virus và các công cụ giám sát hệ thống.
Dừng khai thác khi có ứng dụng được chỉ định đang chạy
SilentCryptoMiner có thể tạm dừng hoạt động nếu phát hiện một số tiến trình cụ thể đang chạy. Danh sách các tiến trình này được định nghĩa trong tệp cấu hình.
Đây là cách né tránh bị phát hiện, vì nó có thể dừng khai thác khi người dùng mở Task Manager, Process Explorer hoặc phần mềm giám sát hiệu suất.
Điều khiển từ xa qua Web Panel
- Kẻ tấn công có thể quản lý và điều khiển miner từ xa thông qua bảng điều khiển web (web panel). Điều này giúp chúng thay đổi cài đặt, theo dõi hiệu suất khai thác và kiểm soát nhiều máy bị nhiễm.
Mã hoá cấu hình
Cấu hình của SilentCryptoMiner được mã hoá bằng mã hoá Base64 bằng thuật toán mã hoá AES-ECB với hai giá trị Key
UXUUXUUXUUCommandULineUUXUUXUUXUvà IVUUCommandULineUU.Cấu hình này chứa các thông tin quan trọng như: thuật toán và URL của máy chủ khai thác (mining pool); danh sách các chương trình khiến tiến trình khai thác tạm dừng và giải phóng tài nguyên; thông tin thiết lập cấu hình từ xa (remote config), được cập nhật theo thời gian nhất định.
--algo=rx/0 --url=150.241.93[.]90:443 --user="JAN2024" --pass="JAN2024" --cpu-
max-threads-hint=20 --cinit-remote-config="https://pastebin.com/raw/kDDLXFac" --
cinit-stealth-
targets="Taskmgr.exe,ProcessHacker.exe,perfmon.exe,procexp.exe,procexp64.exe" --
cinit-version="3.2.0" --tls --cinit-idle-wait=4 --cinit-idle-cpu=30 --cinit-
id="uvduaauhlrqdhmpj"
Kết luận
Các công cụ giúp vượt qua hạn chế truy cập hợp lệ đang bị lợi dụng tích cực để phát tán phần mềm độc hại. Chiến dịch tấn công được đề cập ở trên chủ yếu phát tán trình khai thác tiền ảo (miner), nhưng những kẻ tấn công có thể mở rộng phương thức này để thực hiện các cuộc tấn công phức tạp hơn, bao gồm đánh cắp dữ liệu và tải xuống các loại phần mềm độc hại khác. Điều này một lần nữa nhấn mạnh rằng, với sự phát triển từng ngày của công nghệ hiện nay, không gian mạng luôn tồn tại những tiềm ẩn rủi ro có thể gây hậu quả nghiêm trọng đối với bảo mật dữ liệu của người dùng.
IOCs
- Kho lưu trữ độc hại
| SHA-256 |
| 574ed9859fcdcc060e912cb2a8d1142c |
| 91b7cfd1f9f08c24e17d730233b80d5f |
- Loader PyInstaller độc hại
| SHA-256 |
| 9808b8430667f896bcc0cb132057a683 |
| 0c380d648c0c4b65ff66269e331a0f00 |
- Đoạn mã Python độc
| SHA-256 |
| 1f52ec40d3120014bb9c6858e3ba907f |
| a14794984c8f8ab03b21890ecd7b89cb |
- SilentCryptoMiner
| SHA-256 |
| a2a9eeb3113a3e6958836e8226a8f78f |
| 5c5c617b53f388176173768ae19952e8 |
| ac5cb1c0be04e68c7aee9a4348b37195 |
- Địa chỉ IP và URL độc hại
| hxxp://gitrok[.]com |
| hxxp://swapme[.]fun |
| hxxp://canvas[.]pet |
| hxxp://9x9o[.]com |
| 193.233.203[.]138 |
| 150.241.93[.]90 |






