Bên trong mẫu mã độc tấn công youtuber gần đây có gì?
Gần đây, một số youtuber nổi tiếng liên tục bị hack kênh bằng mã độc thông qua phishing. Mã độc có thể chạy trên máy nạn nhân mà không gặp “trở ngại” nào nên mình tiến hành phân tích để nghiên cứu sâu hơn về mẫu mã độc này.
File name: Black Myth Wukong.rar
SHA256: f2964617ae3b6f60aa73ec64e273010bc4a60c63d3152dcfeef26267efae8512
Tiến hành giải nén Black Myth Wukong.rar thu được nhiều tệp tin và thư mục khác nhau.
Mình kiểm tra lần lượt từng thư mục và các tệp tin trong đó chỉ thấy tập tin đáng ngờ là "Black Myth Wukong 64-bit.exe" (sha256:f9c032c6b54136958abdbc9c50be2f5b35b58b0e6c6a2449337cd025f0323d5e) có kích thước khá lớn, hơn 600MB. Tuy nhiên, đa phần kích thước của nó được chèn thêm nhiều bytes 0x00 nhằm mục đích tránh bị phát hiện bởi các phần mềm antivirus.
Như 1 thói quen, mình thường kiểm tra strings trước khi phân tích sâu hơn thì phát hiện mã độc này được viết bằng python 3.12 và được compile từ .py -> .exe.


Script tạo thread và thực thi một tập tin exe được mã hóa base64 (có mã hash sha256 - a5798e0229fe027c248cb9d8a2ec0c1b790e6f9e79f9a6f397acf9e2f0394d4a). File exe này đóng vai trò loader chịu trách nhiệm giải mã nhiều bước và thực thi shellcode, shellcode thực thi giải mã thực thi PE file khác. PE file này có header XS thay vì MZ như ta thường thấy, đặc biệt nhiều phần thông tin khác như section bị bỏ trống.

- Dữ liệu string sau khi mã hóa bao gồm 16 bytes đầu dùng để tạo khóa giải mã, dữ liệu còn lại string thực sự sau khi mã hóa

- Key dùng để giải mã string được tạo từ 16 bytes init key bằng các toán tử logic

- Cuối cùng xor từng byte của key và enc_str.
Sau khi chạy script để giải mã string. Ta thấy một số string có vẻ liên quan đến các payload khác của mã độc như proto.x86, netclient.x86, early.x64, early.x86, ngoài ra còn có user agent và một số API hữu ích khác.







Quay trở lại phân tích từ entry của PE file này. Ban đầu, mã độc kiểm tra sự tồn tại registry key HKCU\software\Sibcode\sn có tồn tại hay không. Nếu key không tồn tại, mã độc sẽ tạo và ghi thời gian hệ thống hiện tại vào sn key name. Điều này có thể để đánh dấu máy đã bị nhiễm mã độc trước đó hay chưa.

Sau đó, mã độc kiểm tra máy nạn nhân có cài các phần mềm antivirus như Avast, AVG, 360 total security bằng cách tìm kiếm objects của những antivirus.


Tại luồng này, malware thực hiện decrypt 1 một đoạn payload, sau đó thực hiện inject shellcode vào 1 tiến trình khác.
Đầu tiên, mã độc decrypt payload có tên stage.x86 bằng cách tính hash của “stage.x86” tương tự thuật toán hashAPI, dựa vào hash này mã độc tìm đến được vùng nhớ chứa payload và key giải mã, sau đó giải mã bằng thuật toán xor key và 0xB4.



Sau đó, mã độc tiến hành patch file thực thi ban đầu bằng cách copy payload stage.x86 được decrypt vào đó. Ngoài payload, một số thông tin như đường dẫn của file đang chạy, độ dài của đường dẫn cũng được copy nhằm sửa lại luồng thực thi của mã độc để mã độc luôn gọi xx3E3D() khi thực thi.

Sau khi patch luồng thực thi, malware kiểm tra process là một Wow64Process rồi phân 2 nhánh thực thi, gọi 2 hàm với tham số gần như giống nhau. Với hàm xx6CCE() mã độc sử dụng kỹ thuật heaven gate để thực thi payload early.x64.






- Unhook

- Inject shellcode











- Kiểm tra kết nối WMI

- Kiểm độ phân giải màn hình có lớn hơn 800x600

- Kiểm tra md5 file ảnh nền màn hình có khác 5b94362ac6a23c5aba706e8bfd11a5d8bab6097d

- Kiểm các tiến trình đang thực thi có khác với list tên tiến trình các công cụ dịch ngược, giám sát cần kiểm tra.

- Kiểm tra máy nạn nhân có cài các phần mềm chrome, firefox, Opera…

- Kiểm tra user name với “JohnDeo”, “JOHN”, “george”. Kiểm tra computer name với “DESKTOP-BOT”, “JOHN-PC”, “MUELLER-PC”, “HAL9TH”

- Kiểm tra desktop có các file chứa thông tin ngạy cảm passwords.txt, keys.txt

- Kiểm tra service của các sandbox có được cài trên máy nạn nhân không.

- Kiểm tra tên tiến trình mã độc đang chạy nó nằm trong tên mà các sandbox, người phân tích thường đặt

- Kiểm tra 1 số tên username, computer, tên file hệ thống của máy nạn nhân so với username, computer, tên file thường dùng trong sandbox

- Kiểm tra số processors, cores của máy nạn nhân có nhỏ hơn 2


- Kiểm tra một số module thường dùng của sandbox

- Ngoài ra, mã độc cũng kiểm tra thêm username trên máy nạn nhận với một số username khác

- Mã độc có nhiều kỹ thuật antidebug khác nhau như check các flag, lệnh ngắt, breakpoint…



Nhìn chung, mã độc này chủ yếu đóng vai trò loader, đi “dò đường” để tải xuống những mã độc khác phía sau để thực thi, khai thác thông tin từ máy nạn nhân.
Trên đây là một số phân tích của mình, cảm ơn mọi người đã quan tâm theo dõi! By, Blue_Team