Báo cáo hoạt động năm 2020 và quý 1 năm 2021 của nhóm tin tặc Mustang Panda

 

Trước tần suất và mức độ nguy hiểm ngày càng tăng của các vụ tấn công APT, việc nghiên cứu về các nhóm APT trở thành một nhiệm vụ quan trọng nhằm xác định phương thức, thủ đoạn, công cụ tấn công; từ đó chuẩn bị phương án giám sát, ngăn chặn, giảm thiểu các mối đe dọa đối với hệ thống. Đó là một trong các nhiệm vụ mà đội nghiên cứu Threat Intelligence của NCS thực hiện. Trong báo cáo này, chúng tôi trình bày tóm tắt hoạt động của nhóm APT Mustang Panda trong năm 2020 và quý I/2021. Đây là một nhóm APT nổi tiếng thế giới và có khá nhiều “ân oán” với Việt Nam.

  1. Hồ sơ Mustang Panda

1.1. Quốc gia

Mustang Panda được cho là nhóm tin tặc có trụ sở hoạt động tại Trung Quốc

1.2. Các tên gọi khác

Mustang Panda (CrowdStrike)

Bronze President (SecureWorks)

TEMP.Hex (FireEye)

HoneyMyte (Kaspersky)

Red Lich (PWC)

1.3. Hoạt động chính

First seen: 2014

Vào tháng 4 năm 2017, CrowdStrike Falcon Intelligence đã quan sát thấy một nhóm tấn công chưa được phát hiện trước đây có mối quan hệ với Trung Quốc đang nhắm mục tiêu vào một think tank có trụ sở tại Hoa Kỳ. Phân tích sâu hơn cho thấy một chiến dịch tấn công rộng lớn với các TTP độc đáo. Kẻ tấn công nhắm mục tiêu vào các tổ chức phi chính phủ (NGO) nói chung, nhưng sử dụng chủ đề và mồi nhử ngôn ngữ Mông Cổ, cho thấy họ có trọng tâm cụ thể là thu thập thông tin tình báo về Mông Cổ. Các chiến dịch này liên quan đến việc sử dụng mã độc được chia sẻ như Poison Ivy hoặc PlugX.

Gần đây, Falcon Intelligence đã quan sát các hoạt động mới từ Mustang Panda, nhận thấy họ đang sử dụng một chuỗi lây nhiễm riêng để nhắm mục tiêu vào các nạn nhân có khả năng là người Mông Cổ. Hoạt động mới được quan sát này sử dụng một loạt redirection và fileless, triển khai mã độc với các công cụ hợp pháp để truy cập vào các hệ thống được nhắm mục tiêu. Ngoài ra, các tác nhân Mustang Panda đã sử dụng lại các miền hợp pháp đã quan sát trước đó để lưu trữ file.

1.4. Lĩnh vực và quốc gia

Lĩnh vực: Hàng không, Chính phủ, Tổ chức phi chính phủ, Think Tank.

Quốc gia: Úc, Bangladesh, Bỉ, Trung Quốc, Ethiopia, Đức, Hồng Kông, Ấn Độ, Mông Cổ, Myanmar, Nepal, Pakistan, Singapore, Hàn Quốc, Đài Loan, Anh, Mỹ, Việt Nam và LHQ.

1.5. Công cụ sử dụng

Nhóm này thường sử dụng các công cụ sau: PlugX Trojan, Poison Ivy, Cobalt Strike

1.6. Phương pháp tấn công

Các phương pháp tấn công tiêu biểu của Mustang Panda:

*   Sử dụng nhiều phiên bản mã độc PlugX và Poison Ivy được chia sẻ giữa các nhóm tin tặc Trung Quốc

*   Sử dụng chuỗi lây nhiễm phân phối các file .zip chứa các file Windows Shortcut (.lnk), các file này sẽ thực thi mã độc dẫn đến việc cài đặt PlugX hoặc Cobalt Strike

*   Sử dụng chiến thuật DLL-Sideloading để cài mã độc

Chuỗi lây nhiễm của Mustang Panda thường được thực hiện qua các bước sau:

*   Chuỗi lây nhiễm được bắt đầu bằng một  weaponized link tới một thư mục Google Drive, được che giấu bằng dịch vụ  rút gọn liên kết goo.gl.

*   Khi được kết nối, liên kết Google Drive sẽ truy xuất một file zip, trong đó có một file .lnk bị che giấu dưới định dạng .pdf bằng thủ thuật double extension.

*   File này yêu cầu mục tiêu cố gắng mở file .lnk, chuyển hướng người dùng đến một file Windows Scripting Component (.wsc), được lưu trữ trên microblogging page do đối phương kiểm soát. Mustang Panda trước đây đã sử dụng microblogging site để lưu trữ các script PowerShell độc hại và tài liệu Microsoft Office trong các cuộc tấn công có chủ đích đến các tổ chức phi chính phủ (tập trung vào Mông Cổ).

1.7. Các cuộc tấn công đáng chú ý trước đây 

Theo thống kê của Trung tâm Ứng cứu khẩn cấp máy tính Thái Lan (ThaiCERT), dưới đây là những chiến dịch tấn công đáng chú ý được cho là do Mustang Panda thực hiện.

Bảng 1. Các cuộc tấn công đáng chú ý của Mustang Panda được ghi nhận

          *   File .lnk sử dụng thành phần VBScript được nhúng để truy xuất file PDF mồi nhử và script PowerShell từ trang web do đối phương kiểm soát.

*   Script PowerShell tạo ra một payload Cobalt Strike. Script PowerShell này cũng truy xuất một payload Cobalt Strike beacon được mã hóa XOR từ miền do đối phương kiểm soát.

*   Mạng lưới Cobalt Strike Beacon báo hiệu đến C2 IP Address, được sử dụng để điều khiển mạng lưới từ xa.

 

  1. Các chiến dịch của Mustang Panda năm 2020 và quý 1 năm 2021

Dưới đây là timeline các cuộc tấn công của Mustang Panda được ghi nhận trong năm 2020 và quý 1/2021

2.1. Biến thể PlugX mới nhắm mục tiêu Hồng Kông, Việt Nam

Vào tháng 01/2020, nhóm Avira’s Advanced Threat Research đã phát hiện ra một phiên bản PlugX mới được Mustang Panda sử dụng để do thám một số mục tiêu ở Hồng Kông và Việt Nam.

PlugX thực thi DLL hijacking với các ứng dụng lành tính như ESET antivirus, Adobe Update, v.v. Tuy nhiên, cách loader PlugX khởi chạy payload khác với các phiên bản trước. Ngoài ra, PlugX mà Mustang Panda sử dụng có một số tính năng bổ sung, bao gồm lây lan qua USB, thu thập thông tin và lấy cắp tài liệu trong các air-gaped network thông qua USB.

Mustang Panda sử dụng một package các binary để tải payload và nó được thiết kế theo cách này để vượt qua file scanner và sandbox. PlugX chứa 3 file: file EXE lành tính cho DLL hijacking, file DLL (chỉ là loader để thực thi payload) và payload được mã hóa (thường có phần mở rộng “.dat”). Nhóm Avira’s Advanced Threat Research đã tìm thấy các loại loader PlugX khác nhau, sẽ được thảo luận chi tiết hơn ở bên dưới. Rõ ràng, file scanner hay sandbox không thể phát hiện payload PlugX mà không có file DAT được mã hóa.

Giai đoạn đầu: Loader

Loader là một file DLL nhỏ, payload là một file DAT được mã hóa.

DLL chịu trách nhiệm giải mã file DAT và thực thi nó giống như một mã shellcode trong bộ nhớ. Nó đọc payload được mã hóa từ disk bằng cách gọi các API CreateFile và ReadFile, sau đó cấp phát bộ nhớ qua VirtualAlloc. Sau khi giải mã, nó thay đổi protection thông qua VirtualProtect và cuối cùng thực thi nó thông qua lệnh call trực tiếp.

DLL sử dụng các junk code và một obfuscation đơn giản để ẩn các lệnh call API qua stackstring và tải chúng một cách động.

File DAT chứa khóa giải mã (decryption key) bên trong chính nó. Kích thước của khóa có thể khác nhau. Loader đọc offset zero của file DAT được mã hóa cho đến khi nó đạt đến giá trị null và lấy đó làm khóa XOR để giải mã phần còn lại của file.

Hình 1: quy trình giải mã loader

Một số loader có hardcoded time bên trong file binary và chúng chỉ đơn giản là giải mã và thực thi payload trong một khoảng thời gian cụ thể.

Payload

Như đã trình bày ở trước, payload được thực thi giống như một mã shellcode nhưng đặc biệt ở chỗ nó là một file full PE binary. Loader sẽ bắt đầu payload từ offset zero của payload, có nghĩa là từ MZ. Hình dưới đây cho thấy một mã shellcode rất nhỏ được tạo thủ công để gọi entrypoint.

Payload được giải mã chỉ được tải vào bộ nhớ và không có footprint trên disk. Đây là phiên bản tùy chỉnh của PlugX với obfuscation đơn giản để vượt qua static detection và ẩn các chuỗi.

Hình 2: shellcode thủ công để gọi entrypoint

Payload là DLL có một hàm xuất được gọi là “Loader”. Phần đầu shellcode gọi hàm xuất “Loader”.

Hàm xuất thực hiện công việc của loader Windows để tải DLL một cách chính xác và sau đó thực thi entrypoint. Payload sử dụng hàm wrapper cho mọi lệnh gọi API để ẩn cơ chế gọi API.

Nó có thể được thực thi theo 3 cách khác nhau:

Argument Description
no argument Đặt registry key để duy trì và tạo thư mục cho các file và chạy lại mã độc với -app
-app
  • USB infection
  • Đánh cắp tài liệu và lưu trữ trong USB cho mạng air gap
  • Kết nối với địa chỉ C&C và thực hiện các lệnh
-net
  • Đặt giá trị cho registry key “System\CurrentControlSet\Control\Network\Version” to “1”
  • Đặt một registry key để duy trì và tạo thư mục cho file và chạy với -app

Bảng 3. Cơ chế lệnh gọi API

Để duy trì, nó sử dụng registry run key:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

Nó tạo thư mục %appdata%\Intel cho các mô-đun bổ sung và thông tin bị đánh cắp.

Nó sử dụng một tập hợp các registry key để lưu trữ dữ liệu:

“System\CurrentControlSet\Control\Network\Version” → trạng thái truy cập internet

“Software\CLASSES\ms-pu\PROXY” → Phiên bản máy chủ C&C

Tên giá trị PlugX TLS trong binary:

Thread name Functionality
CXOnline::OlStartProc starts CXOnline::OlStartProcPipe

Initializes C&C communication

CXOnline::OlStartProcPipe Initializes pipe communication objects

Parses C&C commands

CXFuncShell::ShellT1

CXFuncShell::ShellT2

Remote Shell
CXSalvation::SalExceptionHandler Global exception handler for logging in SS.LOG file
CXSoHttp::SoWorkProc Sends requests to the C&C server

Bảng 4. Giá trị PlugX TLS trong binary

USB infection

Một trong những tính năng giúp phân biệt biến thể này với các biến thể PlugX khác là khả năng lây lan qua USB.

Sau khi phát hiện USB volume drive di động, biến thể PlugX tạo một thư mục ẩn có tên “RECYCLE.BIN” và sao chép file EXE, DLL loader và file DAT được mã hóa. Sau đó, nó ẩn tất cả các thư mục trong thư mục gốc và tạo LNK cho mỗi thư mục để đánh lừa nạn nhân nhấp vào các file LNK.

Air gap network

PlugX kiểm tra xem có quyền truy cập internet không, sau đó cố gắng tìm thẻ USB và tạo file BAT theo đường dẫn sau: <usb volume>\RECYCLE.BIN\<plugX clsid>\tmp.bat và thực thi nó. Cuối cùng, nó sẽ xóa file BAT.

Bằng cách chạy file BAT này, nó thu thập thông tin cục bộ và mạng về hệ thống bị nhiễm và cố gắng gửi nó ra ngoài qua USB.

cmd.exe /c systeminfo > <usb volume>\RECYCLE.BIN\<plugX clsid>\sys.info

cmd.exe /c ipconfig /all >> <usb volume>\RECYCLE.BIN\<plugX clsid>\sys.info

cmd.exe /c netstat -ano >> <usb volume>\RECYCLE.BIN\<plugX clsid>\sys.info

cmd.exe /c arp -a >> <usb volume>\RECYCLE.BIN\<plugX clsid>\sys.info

cmd.exe /c tasklist /v >> <usb volume>\RECYCLE.BIN\<plugX clsid>\sys.info

Hình 3: chạy file BAT để thu thập thông tin

Nó tìm kiếm toàn bộ hệ thống với các phần mở rộng file sau: .doc, .docx, .ppt, .pptx, .xls, .xlsx, .pdf

Nó mã hóa các tài liệu được đề cập một cách nhanh chóng qua RC4, sau đó sao chép chúng vào thư mục cụ thể trong usb: “<usb volume>\RECYCLE.BIN\<plugX clsid>”.

Khóa RC4 được mã hóa cứng (hardcode) trong payload binary.

Từ dữ liệu của mình, nhóm nghiên cứu đã tìm thấy một cách đánh cắp tài liệu khác, đó là lợi dụng RAR để tìm kiếm các file tài liệu và nén chúng cục bộ để gửi đến máy chủ CNC.

Dòng lệnh như sau:

Rar.exe a -r -ed -m3 -dh -tk -hp<password> -v100m -ta<file modified date after> -n*.doc* -n*.xls* -n*.pdf <compressed file path> <searching directory>

Như có thể thấy, kẻ tấn công đang tìm một ngày cụ thể để nén các phần mở rộng .xls* và .pdf. Họ cũng sử dụng một mật khẩu để mã hóa dữ liệu và tiêu đề file.

Cấu hình

Cấu hình có thể được mã hóa hoặc là bản rõ trong binary. Nếu dữ liệu cấu hình bắt đầu bằng “XXXXXXXX”, điều đó có nghĩa là cấu hình không được mã hóa.

Nếu cấu hình được mã hóa, dữ liệu cấu hình sẽ được giải mã qua XORring với hardcoded key bên trong binary. Trong các payload khác được tìm thấy, key là “123456789”.

Hình 4: Kiểm tra dữ liệu cấu hình trước khi giải mã

Hình 5: hardcoded key để giải mã cấu hình

 

Hình 6: quy trình giải mã cấu hình

Bên trong cấu hình, có thông tin về tên thư mục cho mô-đun PlugX, tên mutex, địa chỉ IP và miền C&C, số cổng.

Nhóm nghiên cứu đã tìm thấy 17 mẫu dữ liệu cấu hình. Dưới đây là thông tin trích xuất được:

C&C domains

www.apple-net.com

www.mmfhlele.com

www.olk4.com

update.olk4.com

infosecvn.com

aridndvn.ccom

www.freesmadav.com

update.freesmadav.com

www.lameers.com

Địa chỉ IP C&C

154.223.150.105

43.251.182.114

185.239.226.61

167.88.180.132

45.251.240.55

Folder Name

ESET Malware ProtectionrYF

ESET Malware ProtectionWgM

ESET Malware ProtectionTCp

ESET Malware ProtectionOWT

ESET Malware Protectionmld

Microsoft Malware ProtectionGCg

Microsoft Malware Protectionfpx

Microsoft Malware ProtectionwSA

Microsoft Malware ProtectionpiW

Microsoft Malware ProtectionSaG

Microsoft Malware ProtectionDQA

Microsoft Malware ProtectioncdB

Microsoft Malware ProtectionNSP

Microsoft Malware ProtectionGHQ

Adobe Update HelpereQU

Adobe Update HelperzGI

Adobe Update HelperatX

Mutex name

VVubPDixKeBURoQIIyfb

ypFRoazKbRHpMwnXoLtW

XUzeONpJmKCaBUtvnRGB

NNOFQoZIxAphdklhtaWw

GRNtLeLPnuJGPsTxTilb

C&C Communication

Biến thể PlugX sử dụng một cách mới để giao tiếp với máy chủ C&C nhưng nó cũng hỗ trợ cơ chế giao tiếp cũ. Vì vậy, khi khởi tạo kết nối và nhận được phiên bản C&C, nó có thể quyết định cách giao tiếp.

Các lệnh CNC trong biến thể PlugX này tương tự như các phiên bản khác với một số khác biệt nhỏ.

Nó có 2 nhóm lệnh khác nhau: group IDs 0x1001 và 0x1002. Sau khi nhận được group ID C&C, nó sẽ quyết định cách phản hồi các lệnh.

Cơ chế giao tiếp cũ

Nó sử dụng yêu cầu HTTP post để bắt đầu giao tiếp. URL mà nó sử dụng để gửi yêu cầu đến máy chủ là “/update?wd=<random 8 digit number>”

Nó sử dụng hardcoded user-agent dưới đây:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1;

Nó thêm các tham số sau vào HTTP request header:

x-debug 

x-request 

x-content 

x-storage

Cơ chế giao tiếp mới

PlugX gửi một ID ngẫu nhiên được mã hóa để khởi tạo kết nối qua raw TCP và sau đó nhận phản hồi từ máy chủ.

16 byte đầu tiên là header:

  • 4 byte đầu tiên là khóa mã hóa.
  • 4 byte thứ hai là mã lệnh CNC (bit thứ 29 cho biết dữ liệu có được nén hay không và bit thứ 30 cho biết dữ liệu đã được mã hóa hay chưa).
  • 2 byte tiếp theo hiển thị kích thước của dữ liệu
  • Header cũng được mã hóa với DWORD đầu tiên do máy chủ gửi.

Hình 7: cấu trúc C&C communication header 

Thuật toán mã hóa được sử dụng để giao tiếp là XOR nhưng thêm một hardcoded value vào khóa cho mỗi vòng mã hóa. Hardcoded value cho binary được tìm thấy là “6666”.

Hình 8: quy trình giải mã cho dữ liệu truyền thông

IoCs

c90cae0a4365cb31f171b051520f6c8053dd0c3e798c59b2ae418bf99ddad02c

14f9278f3515fae71ccb8073cfaf73bdcc00eab3888d8cee6fb43a4f51c9e699

6fc8c2e28dfa39b20154ecb3339eb784a025ea1a7c79e15e0930f679280bb63e

f331eb3d7f6789e48f2e3bfb1a87595561722f45aaec150df537488587024096

b9f3cf9d63d2e3ce1821f2e3eb5acd6e374ea801f9c212eebfa734bd649bec7a

8be6c10e9e150d01601f77485444e409667ba905100982f57743e01d20a26121

6b23a388ddb3b697004fdd37a0d393455ae5702040c2b694f9158112698c2ec1

6924581b5fee4699a1ce0182cdf8462d5fcb5389985ec129d554dd6ca45d0c9f

 

MITRE ATT&CK Technique Mapping

 

Tactic Techniques
Initial Access • T1091 | Replication Through Removable Media
Persistence • T1574.001 | DLL Search Order Hijacking
Privilege Escalation • T1547.001| Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
Exfiltration · T1052.001 | Exfiltration Over Physical Medium: Exfiltration over USB
Command and Control • T1001.001 | Data Obfuscation: Junk Data

Bảng 5. Chiến thuật và kỹ thuật của chiến dịch khi ánh xạ với MITRE ATT&CK Matric

2.2. Chiến dịch phát tán email giả mạo chỉ thị của Thủ tướng Việt Nam về đợt bùng phát virus corona

Lợi dụng tình hình diễn biến phức tạp của dịch COVID-19, nhiều nhóm tin tặc đã và đang âm thầm thực hiện các chiến dịch APT nhắm vào các cá nhân và tổ chức nhằm trục lợi. Tại Việt Nam cũng không ngoại lệ. Vào tháng 3/2020, VinCSS đã ghi nhận mẫu mã độc (nghi ngờ từ nhóm Mustang Panda) giả mạo chị thị của thủ tướng Nguyễn Xuân Phúc về phòng tránh dịch COVID-19.

Thông tin về sample

File name: Chi Thi cua thu tuong nguyen xuan phuc.rar

File Hash (SHA-256): bbbeb1a937274825b0434414fa2d9ec629ba846b1e3e33a59c613b54d375e4d2

File Size: 172 KB

File type: RAR

File Timestamps: 2020:03:03 14:46:12

Archived File Name: Chi Thi cua thu tuong nguyen xuan phuc\Chi Thi cua thu tuong nguyen xuan phuc.lnk

Hình 9: Nội dung của tài liệu xuất hiện khi mã độc thực thi

Phân tích mã độc

Phân tích hành vi của mã độc

Theo thông tin ở trên, mã độc gửi kèm email phishing là một file nén. Trong file nén này chứa một file Chi Thi cua thu tuong nguyen xuan phuc.lnk có kích thước 712 KB:

Hình 10: Nội dung trong file nén

File .lnk đơn giản là một shorcut được Windows sử dụng làm tham chiếu đến file gốc. Các file này thường sử dụng cùng một biểu tượng với file gốc, nhưng thêm một mũi tên cuộn tròn nhỏ để cho biết nó trỏ đến một vị trí khác. Khi người dùng vô tình mở file .lnk trong file nén trên, hành vi của mã độc sẽ diễn ra theo trình tự:

– Khởi chạy cmd.exe, mục đích để gọi mshta.exe với tham số truyền vào là file .lnk đã được giải nén tạm ở thư mục %Temp%

– mshta.exe có nhiệm vụ phân tích file, tìm kiếm và thực thi script được nhúng trong file. Từ đây, thực hiện các hành động sau:

+ Tạo các file 3.exe, http_dll.dll, http_dll.dat, Chi Thi cua thu tuong nguyen xuan phuc.doc trong thư mục %LocalAppData%\Temp.

+ Khởi chạy 3.exe, tiến trình này sẽ tạo các file unsecapp.exe, http_dll.dll, http_dll.dat trong thư mục %AllUsersProfile%\Microsoft Malware Protectionydy.

+ Thiết lập run key Microsoft Malware Protectionydy trong Registry (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run & HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Microsoft Malware Protectionydy) trỏ tới file unsecapp.exe đã tạo ở trên.

+ Gọi WINWORD.EXE để mở tài liệu %Temp%\Chi Thi cua thu tuong nguyen xuan phuc.doc với nội dung như ở Hình 1 nhằm đánh lừa người dùng.

+ Tiến trình unsecapp.exe sau khi thực thi sẽ kết nối tới C2 là vietnam[.]zing[.]photos. Hai file 3.exe và unsecapp.exe thực chất là cùng là một file và có Certificate nhằm qua mặt các phần mềm Antivirus.

 

Phân tích chi tiết file lnk và VBScript

Như mô tả ở phần trên, khi người dùng mở file Chi Thi cua thu tuong nguyen xuan phuc.lnk trong Chi Thi cua thu tuong nguyen xuan phuc.rar, mshta.exe sẽ được gọi để thực thi script. Như vậy, nội dung của script này phải được nhúng sẵn trong file .lnk. Sử dụng 010 Editor để mở file .lnk và tìm kiếm chuỗi <script, kết quả có được thông tin về đoạn VBScript được nhúng trong file:

Trích xuất toàn bộ nội dung của script. Nội dung của script như sau:

Hình 11: Nội dung của script nhúng trong file

– Khai báo các biến CAwyFTsgCQ, yilJSYTMMh, TPDgWjZcyJ và gán lần lượt nội dung của 3.exe, http_dll.dll, http_dll.dat cho từng biến:

+ Tạo lập đường dẫn cho các files và gọi hàm vSWGUThohAGJ để tạo files:

+ Thực thi file 3.exe đã tạo, tạo tài liệu Chi Thi cua thu tuong nguyen xuan phuc.doc và mở tài liệu này để đánh lừa người dùng.

 

Phân tích chi tiết các payload

Phân tích unsecapp.exe

Như đã đề cập ở trên, mã độc sau khi thực thi thành công sẽ thiết lập run key Microsoft Malware Protectionydy trong Registry (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run) trỏ tới file unsecapp.exe. File này bản chất là EHttpSrv.exe (ESET HTTP Server Service) thuộc sản phẩm Eset Smart Security của hãng ESET. Kẻ tấn công đã lợi dụng file này để thực hiện kĩ thuật DLL side-loading nhằm tải và thực thi mã độc nằm trong thư viện http_dll.dll.

 

Phân tích http_dll.dl

http_dll.dll sau khi được nạp sẽ thực thi code tại DllMain, tại đây mã độc gọi hàm thực hiện công việc sau:

– Lấy địa chỉ thuộc unsecapp.exe tính từ base address + 0x157A.

– Gọi hàm VirtualProtect để thay đổi 16 bytes từ địa chí tính toán ở trên thành PAGE_EXECUTE_READWRITE.

– Patch code tại địa chỉ đó thông qua kĩ thuật push – ret để nhảy tới hàm thực hiện nhiệm vụ giải mã mà thực thi Shellcode.

– Tại hàm DecryptShellCodeAndExcecute (0x10001230), mã độc tiếp tục thực hiện.

– Cấu thành đường dẫn tới http_dll.dat, file này chứa payload đã bị mã hóa.

– Gọi hàm FileReadAll (0x10001030), đọc toàn bộ nội dung của http_dll.dat vào vùng nhớ đã cấp phát

-Trích xuất key giải mã (10 bytes đầu của http_dll.dat), cấp phát vùng nhớ và copy toàn bộ dữ liệu của http_dll.dat vào vùng nhớ đã được cấp phát. Gọi hàm XorDecrypt (0x100014B0) để giải mã payload mới trên bộ nhớ

– Cuối cùng gọi hàm VirtualProtect để thay đổi vùng nhớ của payload mới thành PAGE_EXECUTE_READWRITE và gọi thẳng tới payload này để thực thi. Payload cuối cùng này sẽ làm nhiệm vụ giải mã cấu hình có thông tin về thư mục “Microsoft Malware Protectionydy” dùng để lưu các payload, thông tin về C2 như đã đề cập ở trên và thực hiện nhiệm vụ kết nối tới C2.

Bằng thông tin phân tích được ở trên, có thể giải mã và thu được payload mới mà không cần debug Payload có được là một dll (HT.dll)

 

IOCs

Dropped file:

%LocalAppData%\Temp

  1. 3.exe    [SHA256: c3159d4f85ceb84c4a0f7ea9208928e729a30ddda4fead7ec6257c7dd1984763]

 

  1. http_dll.dll      [SHA256: 79375c0c05243354f8ba2735bcd086dc8b53af709d87da02f9206685095bb035]

 

  1. http_dll.dat     [SHA256: b62d35d8edae874a994fff12ec085a0bf879c66b3c97fd13fe0a335b497342e5]

 

  1. Chi Thi cua thu tuong nguyen xuan phuc.doc       [SHA256: e3556d6ba5e705b85599b70422928165c8d4130074029a8dcd04a33f4d1aa858]

 

%AllUsersProfile%\Microsoft Malware Protectionydy

 

  1. unsecapp.exe
[SHA256: c3159d4f85ceb84c4a0f7ea9208928e729a30ddda4fead7ec6257c7dd1984763]

 

  1. http_dll.dll      [SHA256: 79375c0c05243354f8ba2735bcd086dc8b53af709d87da02f9206685095bb035]

 

  1. http_dll.dat     [SHA256: b62d35d8edae874a994fff12ec085a0bf879c66b3c97fd13fe0a335b497342e5]

 

Persistence Registry:

 

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Microsoft Malware Protectionydy  =  C:\ProgramData\Microsoft Malware Protectionydy\unsecapp.exe”

 

HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Microsoft Malware Protectionydy  =  C:\ProgramData\Microsoft Malware Protectionydy\unsecapp.exe”

 

C2:

Domain: vietnam[.]zing[.]photos

IP: 104.160.44.85

 

MITRE ATT&CK Technique Mapping

 

Tactic Techniques
Initial Access • T1566 | Phishing
Execution • T1204.002 | User Execution: Malicious File
Persistence • T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder

• T1574.001 | Hijack Execution Flow: DLL Search Order Hijacking

Bảng 6. Chiến thuật và kỹ thuật của chiến dịch khi ánh xạ với MITRE ATT&CK Matric

 

2.3. Chiến dịch lợi dụng dịch Covid-19 nhắm mục tiêu vào Đài Loan

Các tác nhân đe dọa đang lợi dụng sự lây lan của Covid-19 để thực hiện các hành vi độc hại. Theo Anomali Threat Research (ATR), Mustang Panda đang sử dụng các chiêu trò lợi dụng Covid-19 trong chiến dịch của mình.

Thông tin từ các nguồn công khai cho thấy các tác nhân sử dụng COVID-19 như một phần của các chiến dịch lừa đảo, cả trong chủ đề email và nội dung cũng như file đính kèm. Các chiến dịch theo chủ đề này bắt đầu gần như ngay lập tức sau khi 41 trường hợp nhiễm COVID-19 được Tổ chức Y tế Thế giới báo cáo vào ngày 31 tháng 12 năm 2019. Đến tháng 1 và tháng 2 năm 2020, mồi nhử theo chủ đề Coronavirus đã phổ biến rộng rãi với sự hỗ trợ của mạng botnet Emotet. Mã độc được sử dụng trong các chiến dịch này có thể khác nhau.

Hoạt động APT

ATR đã quan sát thấy một chiến dịch bắt đầu từ cuối tháng Hai đến giữa tháng Ba năm 2020, mà được tin rằng đang được thực hiện bởi nhóm Mustang Panda. Nhóm này đang sử dụng các tài liệu mồi nhử liên quan đến COVID-19 để nhắm vào Đài Loan. Mustang Panda đang tiếp tục sử dụng Cobalt Strike và PlugX RAT làm final payload của họ. Hoạt động này phù hợp với các TTP của Mustang Panda đã được ATR xác định trước đó.

Tài liệu giả mạo

Tiêu đề tài liệu – 02-21-1.docx

Hash – 6d994c64c17ce50cbb333c8b4bcbd8e0

Hình 12: Thảo luận trên Facebook của Chen Chien-jen

File tài liệu trên mô tả một bài đăng trên Facebook được viết bởi Chen Chien-jen, Phó Chủ tịch đương nhiệm của Trung Hoa Dân Quốc và cựu Phó Chủ tịch của cơ quan nghiên cứu Đài Loan, Academia Sinica. Bài đăng thảo luận về quá trình lây lan cộng đồng [của Coronavirus] và danh sách của Trung tâm Kiểm soát Dịch bệnh (CDC) Hoa Kỳ về các quốc gia bị lây nhiễm, cụ thể là Đài Loan. Bộ Ngoại giao Đài Loan sau đó đã yêu cầu ra khỏi danh sách nói trên.

Tiêu đề tài liệu – 03-01-1.docx

Hash – 7f0a1bdde14ea1f3085b43bdadcfb146

Hình 13: Câu hỏi về Covid-19

Hình 13 chứa văn bản được dịch sang tiếng Anh, có thể là từ tiếng Trung do Mustang Panda thực hiện, vì các lỗi chính tả và ngữ pháp mà người bản ngữ không gặp phải. Văn bản đặt ra câu hỏi về việc vô hiệu hóa COVID-19 với các mức độ phức tạp khác nhau.

Phân tích kỹ thuật

Hai file RAR (file nén) được đề cập ở trên, mỗi file chứa một file Windows Shortcut (.lnk). Các file .lnk đang được Mustang Panda sử dụng thường chứa file HTA được nhúng với VBscript, sau khi được thực thi, sẽ drop và mở tài liệu mồi nhử trong khi chạy hoạt động độc hại của payload trong nền. ATR quan sát thấy PlugX và Cobalt Strike được phân phối như những payload chính trong suốt chiến dịch.

File .lnk

FileMD5 LinkModifiedDate FileSize NameString CommandLineArgs NetBios Name MAC Address
FC00964131A8C9407

BA77484E724FC9D

7/14/2009 1:14 301568 02-21-1.lnk /c f%windir:~-3,1%%PUBLIC:~-9,1% %x in (%temp%=%cd%) do f%windir:~-3,1%%PUBLIC:~-9,1% /f delims==” %i in (‘dir “%x-21-1.lnk” /s /b’) do start %TEMP:~-2 win-67od36i8f4c 00:0C:29:50:2D:E6
0F794D6C6646A2605

58E9D638AE060C9

7/14/2009 1:14 301568 03-01-1.lnk /c f%windir:~-3,1%%PUBLIC:~-9,1% %x in (%temp%=%cd%) do f%windir:~-3,1%%PUBLIC:~-9,1% /f delims==” %i in (‘dir “%x-01-1.lnk” /s /b’) do start %TEMP:~-2 cia-at28–planc 00:0C:29:50:2D:E6

Bảng 7. lnk file metadata


Phân tích Payload 

Mustang Panda đã sử dụng Cobalt Strike làm final payload cho các mẫu 02-21-1.lnk và 03-01-1.lnk. Nhóm đã sử dụng tính năng Command and Control (C2) trong Cobalt Strike để che giấu lưu lượng độc hại sau yêu cầu DNS hợp pháp tới code.jquery.com. Các mẫu được đề cập ở trên sử dụng 123.51.185.75 làm final C2.

Hai thay đổi đáng chú ý từ các chiến dịch trước của Mustang Panda được ATR xác định là:

  • Thay đổi trong thư mục C:UsersPublicMusic nơi payload được drop.
  • Sử dụng tencentsoso.exe thực thi hợp pháp cho DLL side loading.

 

ATR quy hoạt động này cho Mustang Panda dựa trên TTP, các quốc gia được nhắm mục tiêu và việc sử dụng các họ mã độc mà trước đây tất cả đều được quy cho nhóm.

MITRE ATT&CK Technique Mapping

Tactic Techniques
Initial Access • T1566 | Phishing
Execution • T1204.002 | User Execution: Malicious File

Bảng 8. Chiến thuật và kỹ thuật của chiến dịch khi ánh xạ với MITRE ATT&CK Matric

 

2.4. Chiến dịch Dll-Sideloading trojan với máy chủ C2 tạm thời

Vào tháng 5/2020, nhóm nghiên cứu của Lab52 đã phát hiện một mẫu mã độc, sử dụng kỹ thuật Dll-Sideloading với một file binary hợp pháp, để tải một threat.

Sample cụ thể này có một DLL rất nhỏ sẽ tải một file được mã hóa, file này sau khi được giải mã chứa một mẫu của PlugX Trojan.

Sample được đề cập được tải xuống từ liên kết sau “http://miandfish.]store/player/install_flash_player.exe” và được lưu trữ dưới tên có hàm băm “c56ac01b3af452fedc0447d9e0fe184d093d3fd3c6631aa8182de570c7531aa ” (ở thời điểm phát hiện).

Binary bao gồm một installer, nằm trong thư mục “C:\ProgramData\AAM Updatesnnk”, file binary hợp pháp dễ bị tấn công bởi dll-sideloading, file dll nhỏ hoạt động như loader cho final threat và file binary chứa sample PlugX được mã hóa.

Hình 14. Cấu trúc của binary

Sau khi triển khai ba file này, installer chạy file binary hợp pháp, khiến final PlugX threat được tải.

Hình 15. Final PlugX threat được tải

Trong trường hợp này, file binary dễ bị tấn công hợp pháp là một phần của Adobe’s Swite, sẽ tải bất kỳ thư viện nào có tên “hex.dll” bên cạnh file thực thi.

Thư viện Hex.dll đó, trong trường hợp này là một loader rất đơn giản và tương đối nhỏ.

Hình 16. Thư viện Hex.dll

Nó có 4 export trả về 0 mà không làm gì cả, mặt khác, hàm Main của thư viện gọi một hàm kiểm tra sự tồn tại của file .dat được mã hóa cứng (hardcode, trong trường hợp này là adobeupdate.dat), tải nó, trích xuất chuỗi đầu tiên của file binary và sử dụng nó làm khóa XOR để giải mã phần còn lại của file, bao gồm final threat.

Khi giải mã xong, nó sẽ tải mã độc vào bộ nhớ, tạo ra một “Memprotect” để nó có thể thực thi và khởi chạy logic từ byte 0 của binary.

Đây là một PE chức năng, vì vậy sẽ không hoạt động vì nó bắt đầu bằng tiêu đề “MZ” của một file binary thông thường.

Hình 17. PE chức năng bắt đầu bằng tiêu đề MZ

Nhưng trong trường hợp này, kẻ tấn công sử dụng một kỹ thuật đã được thấy trước đây trong các công cụ như Cobalt Strike Beacon mà bằng cách sửa đổi một số byte của tiêu đề MZ, nó sẽ trở thành mã thực thi có ý nghĩa.

Nếu chúng ta mở file binary dưới dạng mã shell (giải mã từ byte 0), chúng ta sẽ thấy cách chúng đã sửa đổi các byte đầu tiên thành một quy trình chuyển đến vùng mã, bao gồm PE loader

Hình 18. Các byte đầu tiên của file binary bị sửa đổi

Sau khi tải IAT và để mọi thứ hoạt động như một file thực thi bình thường, threat này sẽ giải mã cấu hình riêng của nó, được mã hóa bằng XOR trong phần .data của file binary. Lần này, khóa giải mã được mã hóa cứng (hardcode) trong hệ binary và là chuỗi “123456789”.

Sau khi giải mã cấu hình, nó chứa thư mục nơi mã binary phải được cài đặt, một khóa XOR sẽ sử dụng để mã hóa traffic của nó và một danh sách chứa tối đa 4 miền hoặc địa chỉ IP của các máy chủ C&C cùng với cổng sẽ được sử dụng. Nói chung 4 phần tử C2 bao gồm cùng một miền được lặp lại 4 lần hoặc 2 miền lặp lại hai lần mỗi miền.

Sau khi phân tích, cả loader ở định dạng DLL và final encrypted threat (sau khi giải mã) được so sánh với các mẫu chiến dịch khác nhau của các nhóm được biết là sử dụng kỹ thuật dll sideload này. Nó có thể xác định được loader và final threat trùng khớp tỷ lệ cao với các mẫu của nhóm “Mustang Panda” được phân tích trong các báo cáo trước đó. Trên thực tế, loader của chiến dịch này có thể tải và chạy các mẫu của các chiến dịch được phân tích trong các báo cáo trước đó và final threat sử dụng cùng một khóa XOR để giải mã cấu hình của nó giống như các mẫu trong các báo cáo trước đó. Do đó, xác suất rất cao rằng đây là một chiến dịch từ Mustang Panda.

Mẫu cụ thể này có các miền “www.destroy2013.com” và “www.fitehook.com” làm máy chủ c2 và nhóm nghiên cứu thấy rằng chúng có một hành vi rất đặc trưng, vì hầu hết thời gian trong ngày phân giải thành 127.0.0.1, nhưng từ 1-3 giờ sáng (UTC) đến 8-9 giờ sáng (UTC), nó phân giải thành IP “107.150.112.250, ngoại trừ những ngày cuối tuần, nó phân giải liên tục thành 127.0.0.1, điều này có thể chỉ ra chiến dịch tập trung vào các múi giờ làm việc.

IoCs

IP: 81.16.28.30

IP: 107.150.112.250

DOMAIN: www.destroy2013.]com

DOMAIN: www.fitehook.]com

DOMAIN: miandfish.]store

SHA256: c56ac01b3af452fedc0447d9e0fe184d093d3fd3c6631aa8182c752463de570c

SHA256: 9c0f6f54e5ab9a86955f1a4beffd6f57c553e34b548a9d93f4207e6a7a6c8135

MITRE ATT&CK Technique Mapping

 

Tactic Techniques
Persistence • T1547.001 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder

Bảng 9. Chiến thuật và kỹ thuật của chiến dịch khi ánh xạ với MITRE ATT&CK Matric

 

2.5. Chiến dịch tấn công Vatican và các nhóm ngoại giao mục tiêu sử dụng biến thể Golang mới của loader PlugX

Sau kỳ nghỉ lễ Quốc khánh Trung Quốc vào tháng 9/2020, các nhà nghiên cứu Proofpoint đã quan sát thấy nhóm Mustang Panda tiếp tục hoạt động, nhắm mục tiêu các tổ chức có liên quan đến quan hệ ngoại giao giữa Đảng Cộng sản Trung Quốc và Vatican, cũng như các cơ quan ở Myanmar. Ngoài ra, nhóm nghiên cứu cũng quan sát thấy mục tiêu là các cơ quan ngoại giao ở châu Phi. Proofpoint đã xác định được các cập nhật với bộ công cụ được sử dụng để phân phối payload mã độc PlugX. Cụ thể, họ đã xác định được một biến thể Golang mới của loader PlugX và xác định việc sử dụng mã độc PlugX nhất quán trong các chiến dịch nhắm mục tiêu. Những thay đổi cơ bản đối với payload khiến việc phát hiện và thực thi tự động các thành phần mã độc trong chuỗi lây nhiễm trở nên khó khăn hơn đối với các nhà nghiên cứu.

Tiếp tục hoạt động Phishing

Sau một thời gian dài không hoạt động, Proofpoint xác định được bằng chứng về việc tiếp tục hoạt động phishing của Mustang Panda. Nhóm này tiếp tục sử dụng các chiêu trò social engineering liên quan đến thỏa thuận tạm thời được gia hạn gần đây giữa Tòa thánh Vatican và Đảng Cộng sản Trung Quốc. Ngoài ra, tiêu đề email giả mạo đã được quan sát có vẻ bắt chước các nhà báo từ Union of Catholic Asia News. Sự kết hợp của nội dung social engineering theo chủ đề này cho thấy sự tập trung liên tục vào các vấn đề liên quan đến mối quan hệ đang phát triển giữa Vatican và ĐCSTQ.

Phân tích mã độc PlugX

Các nhà nghiên cứu Proofpoint đã xác định được hai kho lưu trữ RAR đóng vai trò là PlugX malware dropper. Một trong những file này được tìm thấy là kho lưu trữ RAR tự giải nén. Mặc dù không thể xác định được vectơ phân phối ban đầu (initial delivery vector) của các kho lưu trữ RAR này. Tuy nhiên, như đã quan sát trước đây, Mustang Panda sử dụng các URL Google Drive và Dropbox trong các email lừa đảo cung cấp các bản lưu trữ chứa mã độc PlugX và các thành phần liên quan. Khi kho lưu trữ RAR được giải nén, bốn file được cài đặt trên máy chủ lưu trữ và file Adobelm.exe có thể thực thi tự động được thực thi. Các file đã cài đặt bao gồm:

  • Adobelm.exe|0459e62c5444896d5be404c559c834ba455fa5cae1689c70fc8c61bc15468681

Một file thực thi Adobe hợp pháp được sử dụng trong DLL Side-Loading của Hex.dll.

  • Adobehelp.exe|e3e3c28f7a96906e6c30f56e8e6b013e42b5113967d6fb054c32885501dfd1b7

Một file binary không sử dụng đã được quan sát trước đây trong các kho lưu trữ RAR độc hại được liên kết với Mustang Panda.

  • hex.dll|235752f22f1a21e18e0833fc26e1cdb4834a56ee53ec7acb8a402129329c0cdd

Một file binary Golang giải mã và tải adobeupdate.dat (payload PlugX).

  • adobeupdate.dat|afa06df5a2c33dc0bdf80bbe09dade421b3e8b5990a56246e0d7053d5668d91

Payload mã độc PlugX được mã hóa.

Hình 19. Sơ đồ thực thi mã độc PlugX

Sau khi trích xuất RAR, một PE hợp pháp được sử dụng cho DLL side-loading của hex.dll là Adobelm.exe được thực thi. Nó gọi một hàm xuất PE của hex.dll có tên CEFProcessForkHandlerEx. Trước đây, các chiến dịch Mustang Panda đã sử dụng tên file hex.dll và cùng một tên xuất PE để DLL side-loading cho Microsoft Windows PE DLL. Các file này đóng vai trò là loader và giải mã cho các payload mã độc PlugX được mã hóa. File sẽ đọc, tải, giải mã và thực thi payload mã độc PlugX (thường được đặt tên là adobeupdate.dat, như trong trường hợp này).

Loader mã độc PlugX được tìm thấy trong trường hợp này được xác định là file binary Golang. Proofpoint trước đây đã không quan sát thấy loại file này được Mustang Panda sử dụng. Cả hai kho lưu trữ RAR được xác định đều bị phát hiện drop ra cùng một file mã độc PlugX được mã hóa và các mẫu loader Golang. Mặc dù loại file của loader PlugX thay đổi, phần lớn chức năng vẫn giống nhau. Nó đọc file adobeupdate.dat, truy xuất khóa XOR bắt đầu tại offset x00 và tiếp tục cho đến khi đọc một byte rỗng. Sau đó, nó giải mã payload và cuối cùng thực thi adobeupdate.dat đã được giải mã. Điều này dẫn đến việc thực thi payload mã độc PlugX mà cuối cùng sẽ gọi đến C&C IP 45.248.87[.] 162. Registry key sau cũng được tạo trong quá trình này, nó chạy khi bắt đầu thiết lập duy trì mã độc. Đáng chú ý là mẫu sử dụng thư mục cài đặt file riêng biệt “AdobelmdyU”.

Registry Key Data
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\

Microsoft\Windows\CurrentVersion\Run\AdobelmdyU

“C:\ProgramData\Adobe\AdobelmdyU\Adobelm.exe” 402

Hình 20: Registry key PlugX được thiết lập để duy trì mã độc.

Cơ sở hạ tầng C&C

C&C communication được quan sát bởi các mẫu mã độc PlugX này nhất quán với các phiên bản đã được ghi nhận trước đó. Dưới đây là các IP và URL C&C communication đã được xác định:

45.248.87[.]162

hxxp://45.248.87[.]162/756d1598

hxxp://45.248.87[.]162/9f86852b

Nghiên cứu sâu hơn về IP C&C đã chỉ ra rằng nó được lưu trữ bởi Nhà cung cấp dịch vụ Internet Trung Quốc Anchnet Asia Limited. Nó dường như đang hoạt động và được sử dụng như một máy chủ C&C ít nhất từ ngày 24 tháng 8 năm 2020 đến ngày 28 tháng 9 năm 2020. Đáng chú ý là khoảng thời gian này trước thời gian không hoạt động của Mustang Panda. Ngoài ra, máy chủ được ngừng sử dụng trong thời gian này có thể cho thấy một cuộc đại tu cơ sở hạ tầng của các tác nhân.

Hoạt động liên tục của Mustang Panda cho thấy đây là một kẻ thù dai dẳng đang thực hiện những thay đổi đáng kể đối với các bộ công cụ trước đây để duy trì hiệu quả của các chiến dịch gián điệp. Việc triển khai loader Golang PlugX cùng với các nỗ lực mã hóa đối với payload PlugX cho thấy nhóm đang hướng đến việc tăng khả năng phát hiện cho các công cụ và sự thích ứng với các chiến dịch. Những điều chỉnh công cụ này kết hợp với nâng cấp cơ sở hạ tầng C&C cho thấy Mustang Panda sẽ tiếp tục nhắm mục tiêu vào các tổ chức ngoại giao và tôn giáo. Mặc dù các công cụ và thủ thuật đã được nâng cấp, nhưng có vẻ động lực và các lĩnh vực mục tiêu vẫn không thay đổi.

IOCs 

IOC IOC Type Description
930b7a798e3279b7460e30ce2f3a2deccbc252f

3ca213cb022f5b7e6a25a0867

SHA256 AdobelmdyU.exe RAR Archive Containing PlugX
6a5b0cfdaf402e94f892f66a0f53e347d427be41

05ab22c1a9f259238c272b60

SHA256 Adobel.exeSelf Extracting RAR Archive Containing PlugX
0459e62c5444896d5be404c559c834ba455fa5c

ae1689c70fc8c61bc15468681

SHA256 Adobelm.exeLegitimate PE that loads Golang PlugX Loader
235752f22f1a21e18e0833fc26e1cdb4834a56ee

53ec7acb8a402129329c0cdd

SHA256 hex.dll Golang binary PlugX Loader
e3e3c28f7a96906e6c30f56e8e6b013e42b51139

67d6fb054c32885501dfd1b7

SHA256 AdobeHelp.exeUnused PE File
afa06df5a2c33dc0bdf80bbe09dade421b3e8b59

90a56246e0d7053d5668d917

SHA256 adobeupdate.dat Encrypted PlugX Payload
45.248.87[.]162 C2 IP Command and control IP
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432

Node\Microsoft\Windows\CurrentVersion\Run\

AdobelmdyU

RegKey Registry Key that establishes PlugX malware persistence.

Bảng 10: Danh sách IOC

MITRE ATT&CK Technique Mapping

 

Tactic Techniques
Initial Access • T1566 | Phishing
Persistence • T1574.001 | Hijack Execution Flow: DLL Search Order Hijacking

Bảng 11. Chiến thuật và kỹ thuật của chiến dịch khi ánh xạ với MITRE ATT&CK Matric

2.6. Chiến dịch tấn công các hãng viễn thông nhằm đánh cắp bí mật 5G

Vào tháng 3/2021, các chuyên gia bảo mật của McAfee đã thông tin về chiến dịch gián điệp mạng đang diễn ra nhằm vào doanh nghiệp viễn thông toàn cầu.

Chiến dịch sử dụng mã độc để đánh cắp dữ liệu nhạy cảm – bao gồm bí mật 5G – từ các nạn nhân. Theo các chuyên gia của McAfee, đối tượng của vụ tấn công là các nhà mạng Đông Nam Á, châu Âu và Mỹ. Họ đặt tên cho chiến dịch là Operation Diànxùn.

McAfee nghi ngờ đây là tác phẩm của nhóm tin tặc Mustang Panda hay RedDelta, có lịch sử tấn công và gián điệp nhằm vào nhiều tổ chức trên thế giới. Ít nhất 23 nhà cung cấp dịch vụ viễn thông là mục tiêu trong chiến dịch từ tháng 8/2020. Hãng bảo mật không tiết lộ có bao nhiêu mục tiêu đã bị xâm phạm thành công.

Nạn nhân được chuyển hướng đến tên miền phishing dưới sự kiểm soát của hacker, dùng để gửi mã độc. Theo các nhà nghiên cứu, nó ngụy trang như website tuyển dụng của Huawei (“hxxp:\\update.careerhuawei.net”), rất khó phân biệt với trang chính thức. Huawei không liên quan tới chiến dịch. Khi người dùng truy cập trang web giả, nó gửi ứng dụng Flash độc hại để cài backdoor Cobalt Strike lên máy tính, cho phép hacker đột nhập, thu thập và đánh cắp thông tin nhạy cảm.

Sơ đồ dưới đây thể hiện tổng quan quy trình lây nhiễm:

Hình 21. Sơ đồ thể hiện quy trình lây nhiễm.

Giai đoạn 1: Giả mạo ứng dụng Flash

Giai đoạn đầu tiên là giả mạo ứng dụng Flash. Một trang lừa đảo đã được tạo bằng cách sử dụng giao diện giống hệt như trang web gốc.

Hình 22. Trang web hợp pháp: Flash.cn

Hình 23. Trang web độc hại: Flach.cn

Mẫu được phát hiện:

File type: PE32+ executable (GUI) x86-64, for MS Windows

File name: flashplayer_install_cn.exe

File size: 920576B

Compile time: 2020-08-17 13:17:10

Import Hash: 5f7ca61a772049e7c494c6c74d69484c

Hash SHA256: 9ccb4ed133be5c9c554027347ad8b722f0b4c3f14bfd947edfe75a015bf085e5

Mẫu này hoạt động như một trình tải xuống (downloader).

Hình 24. Mẫu được phát hiện giả mạo ứng dụng Flash

Đầu tiên, mẫu sẽ kiểm tra thời gian và định vị địa lý của máy bị nhiễm thông qua một yêu cầu tới http://worldclockapi.com/api/json/est/now.

Hình 25. Mẫu sẽ kiểm tra thời gian và định vị địa lý của máy bị nhiễm

Sau đó, nó đăng ký máy bị nhiễm với một hardcoded token.

Hình 26. Đăng ký máy bị nhiễm với một hardcoded token

Yêu cầu sau thể hiện máy đăng ký đến c2 bằng hardcoded token “zheshiyigetoken23333333333”.

Hình 27. Gửi yêu cầu đến c2

Sau đó, mẫu kiểm tra xem Dotnet framework 2.0 hoặc 4.0 đã được cài đặt chưa và tải xuống giai đoạn thứ hai tương ứng

Hình 28. Kiểm tra Dotnet framework 2.0/ 4.0 đã được cài đặt chưa

Hình 29. Tải xuống giai đoạn thứ hai

Giai đoạn 2: Tiện ích DotNet

Trong giai đoạn hai,   được thực thi. Payload này có một số chức năng và hoạt động như một tiện ích để tiếp tục xâm nhập máy tính. Đây là một công cụ quản lý, tải các backdoor về máy và cấu hình persistence

File type: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows

File name: DotNetLoader20.exe

File size: 36352B

Compile time: 2098-06-18 21:19:52

Import Hash: f34d5f2d4577ed6d9ceec516c1f5a744

Hash SHA2: 480a8c883006232361c5812af85de9799b1182f1b52145ccfced4fa21b6daafa

File type: PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows

File name: DotNetLoader40.exe

File size: 36352B

Compile time: 2072-02-12 03:42:09

Import Hash: f34d5f2d4577ed6d9ceec516c1f5a744

Hash SHA2: 7ea7c6406c5a80d3c15511c4d97ec1e45813e9c58431f386710d0486c4898b98

Dưới đây là tóm tắt các chức năng của DotNet payload:

■ Nó kiểm tra xem tiến trình 360tray.exe (360 AV) có đang chạy hay không.

■ Nó có thể tải lại giai đoạn đầu tiên từ hxxp://update.flach.cn/download.php?raw=1.

■ Nó tạo một tác vụ theo lịch trình (scheduled task) để chạy cmd.exe /c với payload đã được tải xuống trước và tạo registry key SOFTWARE\\Microsoft\\Windows. NT\\CurrentVersion\\ AppCompatFlags\\TelemetryController\\Levint

■ Nó có thể tải xuống một Cobalt Strike payload base64 được mã hóa và lưu trữ trên một địa chỉ từ xa (remote address). Nếu tùy chọn này được chọn, payload sẽ được sao chép trong thư mục TEMP với tên FlashUpdate.exe.

■ Nó kiểm tra xem tác vụ “WpsUpdataTask_” có xuất hiện hay không và tải xuống một tiện ích bổ sung từ hxxp://159.138.84.217:81/c0c00c0c/AddTaskPlanDllVerson.dll.

■ Nó kiểm tra xem tác vụ “FlashUpdate” có trong hệ thống hay không và nếu không thì có thể tạo ra.

■ Nó có thể thêm một backdoor WMI bằng cách tạo một filter cố định để duy trì persistent trong máy bị nhiễm.

■ Nó có khả năng inject một shellcode vào clipboard bằng kỹ thuật sau: https://search.unprotect.it/technique/clipbrdwndclass/.

DLL trung gian để thêm Scheduled Task

Hiện tại vẫn chưa rõ DLL này được tạo ra với mục đích chính xác nào.

Theo các chuyên gia, mẫu này có khả năng tạo một Scheduled Task, cũng như tiện ích DotNet.

File type: PE32+ executable (DLL) (GUI) x86-64, for MS Windows

File name: AddTaskPlanDllVerson.dll

File size: 23552B

Compile time: 2020-08-14 11:19:44

Import Hash: 0f275d628096389203c13780013332e4

Hash SHA2: 2779937398506e8ad207f5b291ae53d8af82b9f2739b0508ae3e0cfc40ced092

Mẫu chỉ chứa một export có tên là “GO”, được gọi khi thực thi

Hình 30. Export của mẫu

 

Mục đích chính của công cụ này là kiểm tra xem tệp “flashupdate_exe” có sẵn trong thư mục temp hay không (nghĩa là giai đoạn đầu tiên đã thành công)

Hình 31. Kiểm tra tệp “flashupdate_exe” có sẵn không

Sau đó, nó tạo ra một scheduled task có tên là “WpsUpdataTask_” để chạy mẫu trong máy bị nhiễm.

Hình 32. Tạo scheduled task “WpsUpdataTask_”

Giai đoạn 3: Cobalt Strike Payload

Giai đoạn tiếp theo của cuộc tấn công là một Cobalt Strike beacon payload. Payload này được tải xuống bằng tiện ích DotNet từ địa chỉ “mobile.flach.cn”. Payload là một tệp gzip được mã hóa base64 sau đó giải nén và inject.

Ảnh sau đây được trích xuất từ tiện ích DotNet, hiển thị mã được sử dụng để giải nén và thực thi payload từ xa.

Hình 33. Trích xuất tiện ích DotNet

Cobalt Strike payload có các thông tin sau:

File type: PE32+ executable (DLL) (GUI) x86-64, for MS Windows

File name: beacon.bin

File size: 267264B

Compile time: 2019-05-04 01:01:46

Import Hash: 5d58634383b49de64bde0ee76012a61a

Hash SHA2: 4ae0a22033f03813645a0f9363eb44d8220119c94967b8188cb3c22de33027f0

Phân tích kiến trúc

Sơ đồ dưới đây cho thấy kiến trúc được sử dụng bởi những kẻ tấn công, cũng như kết nối giữa các miền khác nhau

Hình 34. Kiến trúc tổng quan của cuộc tấn công

Bằng cách xem xét cơ sở hạ tầng được sử dụng bởi những kẻ tấn công, chúng ta thấy các IP của các chiến dịch trước đây đã được Mustang Panda sử dụng để drop các phần mềm gián đoạn và Cobalt Strike payload liên quan đến các chiến dịch trước đó.

MITRE ATT&CK Matrix

Tactic Technique Observable IOCs
Resource Development Acquire Infrastructure: Domains (T1583.001) Kẻ tấn công mua tên miền để phát triển cuộc tấn công lừa đảo “flach.cn”
“careerhuawei.net”
Develop capabilities: Malware (T1587.001) Kẻ tấn công đã xây dựng các thành phần độc hại để tiến hành cuộc tấn công. Fake Flash
Utility Downloader
AddTaskPlanDllVersion.dll
Obtain capabilities: Tool (T1588.002) Kẻ tấn công có các công cụ red team để tiến hành cuộc tấn công. Cobalt Strike
Initial Access Spear phishing Link (T1566.002)
Execution User Execution (T1204.001) Người dùng được chuyển hướng đến trang web Fake Flash để tải xuống giai đoạn đầu.
Persistence Scheduled Task/Job: Scheduled Task (T1053.005) Tiện ích DotNet tạo một scheduled task để chạy cmd.exe /c với payload đã được tải xuống trước đó và tạo registry key. “SOFTWARE\\Microsoft\\Windows NT\\
CurrentVersion\\AppCompatFlags\\
TelemetryController\\Levint”
Create or Modify System Process: Windows Service
(T1543.003)
Tiện ích DotNet có thể thêm một backdoor WMI bằng cách tạo một filter cố định để duy trì persistent trong máy bị nhiễm.
Defense Evasion Process Injection (T1055) Tiện ích DotNet có khả năng inject shellcode vào clipboard.
Command And Control Application Layer Protocol: Web Protocols
(T1071.001)
  •  
  • IoCs:
  • Giai đoạn 1: Fake Flash
  • 422e3b16e431daa07bae951eed08429a0c4ccf8e37746c733be512f1a5a160a3
  • 8489ee84e810b5ed337f8496330e69d6840e7c8e228b245f6e28ac6905c19f4a
  • c0331d4dee56ef0a8bb8e3d31bdfd3381bafc6ee80b85b338cee4001f7fb3d8c
  • 89a1f947b96b39bfd1fffd8d0d670dddd2c4d96f9fdae96f435f2363a483c0e1
  • b3fd750484fca838813e814db7d6491fea36abe889787fb7cf3fb29d9d9f5429
  • 9ccb4ed133be5c9c554027347ad8b722f0b4c3f14bfd947edfe75a015bf085e5
  • 4e7fc846be8932a9df07f6c5c9cbbd1721620a85c6363f51fa52d8feac68ff47
  • 0f2e16690fb2ef2b5b4c58b343314fc32603364a312a6b230ab7b4b963160382
  • db36ad77875bbf622d96ae8086f44924c37034dd95e9eb6d6369cc6accd2a40d
  • 8bd55ecb27b94b10cb9b36ab40c7ea954cf602761202546f9b9e163de1dde8eb
  • 7de56f65ee98a8cd305faefcac66d918565f596405020178aee47a3bd9abd63c
  • 9d4b4c39106f8e2fd036e798fc67bbd7b98284121724c0f845bca0a6d2ae3999
  • ac88a65345b247ea3d0cfb4d2fb1e97afd88460463a4fc5ac25d3569aea42597
  • 37643f752302a8a3d6bb6cc31f67b8107e6bbbb0e1a725b7cebed2b79812941f
  • d0dd9c624bb2b33de96c29b0ccb5aa5b43ce83a54e2842f1643247811487f8d9
  • 260ebbf392498d00d767a5c5ba695e1a124057c1c01fff2ae76db7853fe4255b
  • e784e95fb5b0188f0c7c82add9a3c89c5bc379eaf356a4d3876d9493a986e343
  • a95909413a9a72f69d3c102448d37a17659e46630999b25e7f213ec761db9e81
  • b7f36159aec7f3512e00bfa8aa189cbb97f9cc4752a635bc272c7a5ac1710e0b
  • 4332f0740b3b6c7f9b438ef3caa995a40ce53b3348033b381b4ff11b4cae23bd
  • Giai đoạn 1: Other
  • a8029680a25fb0144c20fe7637492bcab3c3b320b824735bb02d10babed9c938
  • Giai đoạn 2: Downloader Utility
  • 2779937398506e8ad207f5b291ae53d8af82b9f2739b0508ae3e0cfc40ced092
  • 30b2bbce0ca4cb066721c94a64e2c37b7825dd72fc19c20eb0ab156bea0f8efc
  • 42ed73b1d5cc49e09136ec05befabe0860002c97eb94e9bad145e4ea5b8be2e2
  • cf65cc6e4b2b0c3f602b16398c8c30c277b8cfaed689fe7cb61b92560d4e5b1b
  • a325bbd32985c1b586486df7d92521224b8b155d464c88d11b1d0068399100c2
  • 740992d40b84b10aa9640214a4a490e989ea7b869cea27dbbdef544bb33b1048
  • 4b53a550854cfa65a800d8fb86aab726ca44610dad04325abf5c59f4832d7555
  • 7ea7c6406c5a80d3c15511c4d97ec1e45813e9c58431f386710d0486c4898b98
  • cf4bf26b2d6f1c6055534bbe9decb579ef0180e0f8c467c1a26e2ead7567058a
  • 05f7fbb63d42bc2e73ef2b935cb6b3c919b7020dc1b80ed58f60484dcbd667a9
  • 4ccd825cf4a9fdfbea08fb4e4b3ab08e846bc2efb05ccac794e786ec4335cbb4
  • 8097a623dbcdbd8f880a294fa80c8ea152707f0acd75ab4de158f3abfd4715a3
  • 0d7d4dc173c88c4f72c8f9f419ae8473d044f4b3e8f32e4a0f34fe4bbc698776
  • 42ed73b1d5cc49e09136ec05befabe0860002c97eb94e9bad145e4ea5b8be2e2
  • AddTaskPlanDllVerson.dll
  • 2779937398506e8ad207f5b291ae53d8af82b9f2739b0508ae3e0cfc40ced092
  • 75b30164a31d305f47f2c3c2121432e6d7b316cfb3deb6b39f78180168bc9472
  • a8ef63238100c3837d097671c8e8d2cb4102e137055568fd04613747ba632fdc
  • Giai đoạn 3: Cobalt Strike Beacon
  • a11b6e2b02ae6531dfa85e0e1733a79816b54d2c91fed6526e43b8d07c63020a
  • 9c9cd78e2d6dc150b98b14c8dc53ab683c0ebd52a438f97b5be3bfd66a309652
  • 3be627980f2bd07be7ff961637eb73865955760f0039ebf9d440064c54a9034e
  • d2642d3731508b52efa34adf57701f18e2f8b70addf31e33e445e75b9a909822
  • URLs
  • update.flach.cn/flach.php
  • mobile.flach.cn/flach.php
  • www.flach.cn/download.php
  • update.flach.cn/callback.php
  • download.flach.cn
  • info.flach.cn
  • forum.flach.cn
  • m.flach.cn
  • terminal.flach.cn
  • update.careerhuawei.net
  • careerhuawei.net
  • info.careerhuawei.net
  • hr.careerhuawei.net
  • flash-update.buyonebuy.top
  • 159.138.84.217:81/c0c00c0c/AddTaskPlanDllVerson.dll
  • update.huaweiyuncdn.com.
  • update.huaweiyuncdn.com/download.php
  • cdn1.update.huaweiyuncdn.com
  • cdn.update.huaweiyuncdn.com
  • infoadmin.update.huaweiyuncdn.com
  • Cobalt Strike Malleable C2
  • update1.bootcdn.org/s/ref=nb _ sb _ noss _ 1/264-84198498-9827145/field-keywords=woman
  • update1.jscachecdn.com/s/ref=nb _ sb _ noss _ 1/264-84198498-9827145/field-keywords=woman
  • 2.7. Kết luận
  • Dựa trên những phân tích đã có, bảng thống kê dưới đây tiến hành liệt kê những chiến thuật và kĩ thuật (TTPs) (theo MITRE ATT&CK) điển hình mà nhóm tấn công Mustang Panda đã sử dụng trong năm 2020 và quý 1/2021, đồng thời đối chiếu với cơ sở dữ liệu về các TTPs mà Mustang Panda sử dụng trước đó để xác định các TTPs mới xuất hiện trong năm 2020 và quý 1/2021 (được thể hiện ở cột “Mới”)
# Tactics Technique Mới
1 Resource Development T1583.001 | Acquire Infrastructure: Domains
T1587.001 | Develop capabilities: Malware
T1588.002 | Obtain capabilities: Tool
2 Initial Acces T1091 | Replication Through Removable Media +
T1566 | Phishing
3 Execution T1204.002 | User Execution: Malicious File
4 Persistence T1574.001 | Hijack Execution Flow: DLL Search Order Hijacking
T1053.005 | Scheduled Task/Job: Scheduled Task
T1543.003 | Create or Modify System Process: Windows Service
5 Privilege Escalation T1547.001| Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder
6 Defense Evasion T1055 | Process Injection
7 Exfiltration T1052.001 | Exfiltration Over Physical Medium: Exfiltration over USB +
8 Command and Control T1001.001 | Data Obfuscation: Junk Data
T1071.001 | Application Layer Protocol: Web Protocols
  • Bảng 12. Tổng hợp các TTPs của Mustang Panda trong năm 2020 và quý 1/2021
  • 3. Tài liệu tham khảo
  • [1] CMC Cyber Security, 10/2020, “CMC Cyber Security cảnh báo: Chiến dịch APT tấn công vào các cơ quan hành chính nhà nước Việt Nam”, Available: https://cmccybersecurity.com/cmc-cyber-security-canh-bao-chien-dich-apt-tan-cong-vao-cac-co-quan-hanh-chinh-nha-nuoc-viet-nam/
  • [2] VinCSS, 03/2020, “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” – Phần 1” Available: https://blog.vincss.net/2020/03/re012-phan-tich-ma-doc-loi-dung-dich-COVID-19-de-phat-tan-gia-mao-chi-thi-cua-thu-tuong-Nguyen-Xuan-Phuc.html
  • [3] ThaiCERT, 01/2021, “APT group: Mustang Panda, Bronze President”, Available: https://apt.thaicert.or.th/cgi-bin/showcard.cgi?g=Mustang%20Panda%2C%20Bronze%20President&n=1
  • [4]  CrowdStrike, 01/2018, “Meet CrowdStrike’s Adversary of the Month for June: MUSTANG PANDA”, Available: https://www.crowdstrike.com/blog/meet-crowdstrikes-adversary-of-the-month-for-june-mustang-panda/
  • [5] JagaimoKawaii, 01/2020, “Mustang Panda Recent Activity: Dll-Sideloading trojans with temporal C2 servers”, Available: https://lab52.io/blog/mustang-panda-recent-activity-dll-sideloading-trojans-with-temporal-c2-servers/
  • [6] Shahab Hamzeloofard, 01/2020, New wave of PlugX targets Hong Kong, Available: https://www.avira.com/en/blog/new-wave-of-plugx-targets-hong-kong
  • [7] Gage Mele, Parthiban R., and Tara Gould, 03/2020, “The Tactics, Techniques and Procedures (TTPs) Are Known but the Content Is Coronavirus-Themed”, Available: https://www.anomali.com/blog/covid-19-themes-are-being-utilized-by-threat-actors-of-varying-sophistication
  • [8] CMC SOC Center, 03/2020, MustangPanda – COVID 19 Malware, Available: https://cmccybersecurity.com/en/mustangpanda-covid-19-malware/
  • [9] Proofpoint Threat Research Team, 11/2020, “TA416 Goes to Ground and Returns with a Golang PlugX Malware Loader”, Available: https://www.proofpoint.com/us/blog/threat-insight/ta416-goes-ground-and-returns-golang-plugx-malware-loader
  • [10] Catalin Cimpanu, 01/2020, “Chinese state hackers target Hong Kong Catholic Church”, Available: https://www.zdnet.com/article/chinese-state-hackers-target-hong-kong-catholic-church/
  • [11] Malpedia, “Mustang Panda”, Available: https://malpedia.caad.fkie.fraunhofer.de/actor/mustang_panda
  • [12] Ionut Arghire, 11/2020, “Chinese Threat Actor ‘Mustang Panda’ Updates Tools in Attacks on Vatican”, Available: https://www.securityweek.com/chinese-threat-actor-mustang-panda-updates-tools-attacks-vatican
  • [13] ThreatConnect Research Team, 03/2020, “Research Roundup: Mustang Panda and RedDelta PlugX Using Same C2”, Available:  https://threatconnect.com/blog/research-roundup-mustang-panda-and-reddelta-plugx-using-same-c2/
  • [14] ThreatConnect Research Team, 07/2020, “Research Roundup: Mustang Panda PlugX Variant Samples and Decryption Script”, Available:  https://threatconnect.com/blog/research-roundup-mustang-panda-plugx-variant-samples-and-decryption-script/
  • [15] McAfee, 03/2021, “Technical Analysis of Operation Diànxùn”, Available:  https://www.mcafee.com/enterprise/en-us/assets/reports/rp-operation-dianxun.pdf