Các nhà nghiên cứu đã phá giải QuasarRAT như thế nào? Bài học quan trọng cho giới an ninh mạng

Duy Linh
Duy Linh
Phản hồi: 0

Duy Linh

Writer
Trong phần thứ hai của loạt bài “Advent of Configuration Extraction”, các nhà nghiên cứu bảo mật tiếp tục phân tích QuasarRAT – trojan truy cập từ xa .NET (RAT) được triển khai rộng rãi và trình bày kỹ thuật trích xuất cấu hình mã hóa từ cả mẫu sạch lẫn mẫu bị làm rối.
1765255083018.png

Tiết lộ các chức năng cốt lõi của QuasarRAT
Phân tích này chứng minh phương pháp có thể tái tạo bằng Jupyter Notebook, pythonnet và dnSpy, giúp chuyên gia an ninh mạng có thêm công cụ thực tế để đối phó loại RAT tồn tại dai dẳng này.

QuasarRAT, xuất hiện từ năm 2014 dưới tên xRAT, nhanh chóng trở thành thách thức lớn trong an ninh mạng. Dù được công bố trên GitHub như công cụ quản trị hợp pháp cho Windows, phiên bản mã nguồn mở này lại bị tội phạm mạng và các nhóm được hậu thuẫn biến thành vũ khí.

Tại Botconf 2020, JPCERT đã công bố tài liệu toàn diện về hành vi và sự phát triển của QuasarRAT, ghi lại nhiều biến thể và cách chúng được mở rộng qua các chiến dịch tấn công.

Được viết bằng C# trên .NET Framework, RAT này dễ tiếp cận và được khai thác rộng rãi. Nó hỗ trợ hàng loạt chức năng quản trị từ xa trinh sát hệ thống, thao tác tệp, xem màn hình, ghi phím, thực thi lệnh vốn hợp pháp, nhưng lại thường bị dùng cho gián điệp mạng và giám sát trái phép bởi cả nhóm độc lập lẫn nhóm liên quan nhà nước.

Cách các nhà nghiên cứu trích xuất cấu hình mã hóa​

Phương pháp trích xuất dựa trên môi trường phân tích phức tạp kết hợp nhiều công cụ chuyên dụng. Trọng tâm là dnlib thư viện .NET mã nguồn mở cho phép đọc siêu dữ liệu, kiểu, phương thức, thuộc tính và lệnh IL (MSIL/CIL).

pythonnet đóng vai trò cầu nối để Python có thể gọi API dnlib, giúp dịch ngược hàm, duyệt cấu trúc assembly gồm namespace – class – method, và trích xuất kiểu tùy chỉnh, chuỗi nhúng. Tất cả được đóng gói trong Docker để đảm bảo tính ổn định và tái tạo.
1765255217795.png

Chế độ xem dịch ngược (#C) của lớp Cài đặt từ không gian tên Cấu hình trong dnSpy.
Trong IL, cấu trúc hoạt động theo cơ chế stack dựa trên các lệnh như ldstr, stloc, call… Mỗi opcode có thể mang theo toán hạng như chuỗi, số nguyên hoặc tham chiếu lớp.

Với các mẫu QuasarRAT không bị mã hóa và biên dịch khi DEBUG tắt, việc trích xuất tập trung vào namespace Config trong class Settings. Tại đây chứa những trường cấu hình quan trọng: phiên bản, máy chủ, độ trễ kết nối lại, tham số cài đặt, khóa mã hóa, chứng chỉ máy chủ. Các trường tĩnh được khởi tạo trong phương thức .cctor.
1765255420071.png

Chế độ xem dịch ngược (IL) của phương thức xây dựng Cài đặt .
Quá trình trích xuất được thực hiện bằng cách duyệt loại (type) trong module để xác định lớp cần thiết, sau đó phân tích lệnh IL trong phương thức .cctor. Hệ thống sẽ tìm các cặp lệnh mà ldstr tải chuỗi ngay trước thao tác gán vào trường tương ứng qua đó khôi phục các giá trị cấu hình dạng text.

Với mẫu làm rối hoặc mã hóa, kỹ thuật nâng cao được áp dụng dựa trên cơ chế giải mã thời gian chạy của QuasarRAT. Phân tích mã nguồn cho thấy phần mềm độc hại dùng AES-256 ở chế độ CBC, khóa giải mã được tạo bằng PBKDF2. Lớp Aes256 sử dụng triển khai mặc định AES của hệ thống, khóa nằm trong trường lớp và được khởi tạo trong .cctor.

Để xác định lớp Aes256, các nhà nghiên cứu quét những lớp kế thừa System.Security.Cryptography.AesCryptoServiceProvider. Salt được lưu trong mảng byte tĩnh riêng và được khôi phục qua lệnh ldtoken trong .cctor. Việc phân tích tham chiếu chéo xác định phương thức Initialization Settings là nơi thực thi giải mã duy nhất.

Ý nghĩa và khả năng ứng dụng​

Phương pháp trích xuất có hệ thống này chứng minh khả năng tự động hóa trong việc phân tích phần mềm độc hại dựa trên .NET. Dù được thiết kế cho QuasarRAT, quy trình theo mô-đun gồm duyệt namespace, phân tích tham chiếu chéo và khớp opcode hoàn toàn có thể áp dụng cho nhiều mối đe dọa .NET khác sử dụng cơ chế khởi tạo tương tự.

Mã trích xuất đầy đủ đã được công bố trên kho Sekoia.io Community Git, hỗ trợ cộng đồng an ninh mạng trong thu thập thông tin mối đe dọa và ứng phó sự cố. Khi kết hợp môi trường phân tích tái tạo với hiểu biết sâu về IL .NET, chuyên gia có thể định vị lớp quan trọng, phục hồi tham số mật mã và xây dựng bộ trích xuất tự động thu thập cấu hình lệnh kiểm soát.

Phương pháp này không áp dụng cho mọi mẫu đóng gói hoặc biến thể thay đổi thuật toán mã hóa, nhưng đem lại độ chính xác cao cho phần lớn tình huống triển khai trong thực tế. (gbhackers)

Đọc chi tiết tại đây: https://gbhackers.com/functionalities-of-quasarrat/
 
Được phối hợp thực hiện bởi các chuyên gia của Bkav, cộng đồng An ninh mạng Việt Nam WhiteHat và cộng đồng Khoa học công nghệ VnReview


Đăng nhập một lần thảo luận tẹt ga
Thành viên mới đăng
http://textlink.linktop.vn/?adslk=aHR0cHM6Ly92bnJldmlldy52bi90aHJlYWRzL2NhYy1uaGEtbmdoaWVuLWN1dS1kYS1waGEtZ2lhaS1xdWFzYXJyYXQtbmh1LXRoZS1uYW8tYmFpLWhvYy1xdWFuLXRyb25nLWNoby1naW9pLWFuLW5pbmgtbWFuZy43NTQwMC8=
Top