``` “Mustang Panda” – Enemy at the gate m4n0w4r ``` ``` ” – Enemy at the gate ``` ----- # _ _ ----- # g ##### 1. Asian APT Groups connections 2. Mustang Panda Group 3. Samples have targeted Viet Nam ###### 1. Unknown PlugX variant 2. THOR PlugX variant ##### 4. Other campaigns relate to events in Europe, invasion of Ukraine. ##### events in Europe, ----- ### p _ptsecurity.com/ww-en/analytics/pt-esc-threat-intelligence/space-pirates-tools-and-connections/_ ----- # g p ( ) ----- # g p ( ) ----- ###### Our analysis #### Samples have targeted Viet Nam - Our analysis #### Unknown PlugX variant -Threat hunting -Phân tích log.dll -Phân tích shellcode -Phân tích PlugX Dll ----- # g ###### • Cuối tháng 04/2022, qua hoạt động Threat hunting trên VirusTotal, phát hiện các mẫu được tải lên từViệt Nam. • Thời điểm này, nghi ngờ có liên quan tới nhóm Mustang Panda (PlugX). ----- ###### 1 2 3 ----- # y g ##### • Sample hash: 3171285c4a846368937968bf53bc48ae5c980fe32b0de10cf0226b9122576f4e • Được tải lên từ Việt Nam, thời gian 2022-04-25 14:04:36 UTC • Tên: log.dll.sc. Ai đó đang xửlý sựcố? ----- # p y ###### • File được biên dịch bằng Visual Studio 2012/2013 • Thông tin sections cho thấy nó có thểbị packed hoặc code bị obfuscated. • Tên gốc ljAt.dll. Export 02 hàm LogFree và LogInit. ###### packed hoặc code và LogInit. ----- ### g ###### • Hàm LogFree: obfuscated hoàn toàn bằng Obfuscator-LLVM, sử dụng kĩ thuật Control Flow Flattening • Không thực hiện nhiệm vụgì. ----- ### g ----- ### g ###### • Hàm LogInit_0: gọi hàm f_read_content_of_log_dat_file_to_buf để đọc nội dung của file log.dat và thực thi shellcode sau giải mã. ----- ### g ###### • Hàm f_read_content_of_log_dat_file_to_buf cũng bị obfuscated hoàn toàn. ----- ### g ###### • Nhiệm vụcủa f_read_content_of_log_dat_file_to_buf: – Gọi hàm GetModuleHandleW: lấy handle của kernel32.dll – Gọi hàm GetProcAddress: lấy địa chỉ của các hàm APIs gồm ``` VirtualAlloc, GetModuleFileNameA, CreateFileA, ReadFile. – Đọc nội dung của log.dat vào vùng nhớcấp phát. ``` ----- ### g ----- # y ###### • Hunting file log.dat trên VT với phạm vi giới hạn nguồn submit từ Việt ``` Nam. • Chọn log.dat (2de77804e2bd9b843a826f194389c2605cfc17fd2fafde1b8eb2f819fc6c0c84)được tải lên 2022-04-20 12:33:19 UTC (trước 5 ngày so với file log.dll) ``` ``` Việt ###### )được so với file log.dll) ``` ----- # p yp ##### • Debug và dump shellcode đã giải mã: ----- ----- # g ##### • Shellcode thực hiện giải nén ra payload cuối là một Dll. • Gọi tới hàm được export của Dll này đểthực thi. ----- # g q ##### • Áp dụng kĩ thuật stackstring, shellcode cấu thành tên các hàm APIs ----- # p ###### • Gọi hàm RtlDecompressBuffer đểgiải nén ra payload cuối là một Dll. ----- ###### • Shellcode thực hiện nhiệm vụcủa loader đểmapping Dll vào vùng nhớmới. • Gọi tới hàm mà Dll này export đểthực thi nhiệm vụchính của mã độc. ----- # p p ##### • Dump file từbộnhớra disk đểphục vụphân tích. • File đã bịhủy thông tin header. ----- # y g ##### • Cách PlugX gọi hàm API ----- # y g ##### • Giao tiếp với C2 ##### Giao tiếp với C2 ----- # y g ##### • Nhận lệnh và thực thi ----- # yp g g ##### • Với các mẫu cũ từng phân tích, cấu hình của PlugX thường lưu tại section .data với độlớn 0x724 (1828) bytes. ----- # yp g g ##### • Trước bước kiểm tra các tham số truyền vào khi thực thi, mã độc gọi tới hàm thực hiện nhiệm vụ giải mã cấu hình: ##### số truyền vào khi ----- # yp g g ###### • Phân tích chi tiết kết hợp debug từshellcode: – Cấu hình nhúng trong shellcode, bắt đầu từoffset 0x69. – Độlớn của cấu hình là 0x150C (5388) bytes. – Key giải mã là 0xB4. ----- # yp g g ----- # yp g g ###### • Viết python script đểtrích xuất thông tin cấu hình ----- ###### Our analysis #### Samples have targeted Viet Nam - Our analysis #### THOR PlugX variant -Phân tích log.dll -Phân tích shellcode -Phân tích PlugX Dll ----- # y g ###### • Đọc nội dung log.dat. Không có bước giải mã shellcode. • Shellcode thực thi từoffset 0x24 (offset 0x0 + strlen(random_string)). ----- # y ----- # y ###### • Quá trình thực hiện giải mã ra compressed Dll phức tạp hơn so với mẫu đã phân tích. ----- # y ###### • Gọi tời hàm export của Dll đểthực thi nhiệm vụchính của mã độc. • Gán signature là THOR. ----- # p p ##### • Dumped Dll có kích thước nhỏ hơn và thời gian compile cũ hơn so với mẫu trước. ##### hơn và thời gian ----- ## y g ###### • Bước giải mã cấu hình cũng được thực hiện trước khi mã độc kiểm tra tham sốtruyền vào khi thực thi. ----- # yp ----- # yp g ----- ----- ###### Our analysis #### Other campaigns relate to events in Europe, invasion of Ukraine, … _https://teampassword.com/blog/who-is-mustang-panda-and-how-can-you-protect-yourself_ ----- # p g ----- # p g ----- ----- # p ----- # p ----- # g p y ##### execute decrypted ``` EnumThreadWindows ``` ----- # g g g ----- # y ----- # yp g ###### • Thông tin cấu hình được lưu tại section .data với độlớn ``` 0x45C bytes. • Sửdụng vòng lặp với lệnh XOR đểgiải mã. ``` ----- # g ----- ###### • PlugX: A Talisman to Behold • Mustang Panda deploys a new wave of malware targeting Europe • THOR: Previously Unseen PlugX Variant Deployed During Microsoft Exchange Server Attacks by PKPLUG Group • BRONZE PRESIDENT Targets Russian Speakers with Updated PlugX • Mustang Panda’s Hodur: Old tricks, new Korplug variant • Advanced persistent threat group feature: Mustang Panda • Phân tích mã độc lợi dụng dịch Covid-19 để phát tán giả mạo “Chỉ thị của thủ tướng Nguyễn Xuân Phúc” • Nhóm APT Mustang Panda có thểvẫn đang tiếp tục hoạt động tấn công vào các tổchức tại Việt Nam ----- ----- -----