Khi nhận được mẫu mã độc, tôi phân tích sơ bộ và tìm kiếm những bài phân tích về nó nhưng sau một buổi tìm kiếm thì tôi thấy rất ít bài viết liên quan đến mẫu mã độc này, các bài viết phân tích cũng chỉ dừng lại khi mã độc gửi dữ liệu đến C&C vì vậy tôi quyết định mổ xẻ mẫu này để hiểu hơn về nó.

Thông tin mã độc

  • Tên file: To-Do.doc
  • SHA256: 1e3f68e6bee74e8477f9f270068a4d20c89f84b1bc42e517e71c69f1417a5ce5

Stage 1: Phân tích ActiveMime, VBA

Mã độc là file ActiveMime với đuôi mở rộng .doc, khi mở file và click Enable Content, mã độc sẽ được kích hoạt

Nội dung khi mở mã độc

Sử dụng notepad++ xem qua nội dung file, tôi thấy một số nội dung MSO được mã hóa dưới dạng base64.

mso data

Khi giải mã base64 sẽ thu được activestream bắt đầu từ offset 0x32 chứa ole object được nén dưới dạng zlib, tôi tiến hành viết script để lấy ole stream:

python script trích xuất ole stream

Sau khi có được ole object tôi sử dụng oledump.py để trích xuất VBA được giấu trong mã độc:

Trích xuất vba code

Macro chứa trong file doc có nhiệm vụ:

  • Drop file “C: \ ProgramData \ Microsoft \ User Account Pictures \ guest.bmp“
  • Copy file vừa drop vào “C: \ ProgramData \ Microsoft Outlook Sync \ guest.bmp“
  • Tạo và hiển thị một file có tên “Document.doc”
  • Đổi tên tải trọng từ “guest.bmp” thành “background.dll”

File dll được drop

  • Thực thi DLL bằng cách gọi hàm export OpenProfile

Stage 2: Phân tích background.dll

Hàm export OpenProfile có nhiệm vụ tạo task scheduler nhằm mục đích persistent sau đó exit. Mã độc sử dụng COM object để tạo task scheduler:

Mã độc khởi tạo tài nguyên để truy xuất COM object

 

Task scheduler sau khi mã độc tạo

Task scheduler thực thi mã độc mỗi 10 phút một lần, khi thực hiện sẽ gọi đến hàm export DllGetClassObject của mã độc, hàm này có nhiệm vụ tạo process mới và inject vào với command line rundll32 dllname,  sleep.

Mã độc tạo mới process để inject

 

Mã độc inject

Stage 3: Dump memory, phân tích dumped dll

Khi inject mã độc gọi hàm PzbexWXxRuXzsAG()  hàm này có nhiệm vụ reflective load chính nó và sẽ thực thi dllmain của nó:

Phân tích dll main, đầu tiên mã độc thu thập thông tin trên máy nạn nhân gồm địa chỉ vật lý, username, computername, tiến trình đang chạy; liệt kê file, thư mục trong thư mục C:\programdata:

Mã độc thu thập thông tin máy nạn nhân

 

Mã độc thu thập tiến trình đang thực thi trên máy nạn nhân

 

Mã độc truy xuất file, folder trong programdata folder

Mã độc mã hóa dữ liệu thu thập sau đó gửi đến C&C được đặt trên Glitch https://confusion-cerulean-samba.glitch[.]me/e1db93941c

Mã độc gửi dữ liệu đến C&C

Server phản hồi dữ liệu là dạng 7z có kích thước trên 128byte thì sẽ tiến hành ghi dữ liệu vào C:\programdata\Microsotf edge download\properties.bin

Mã độc kiểm tra và ghi dữ liệu phản hồi từ C&C

Cuối cùng mã độc tạo task tương tự như stage2 dưới tên chrome update và extract dữ liệu được tải xuống từ C&C để thực thi payload cũng như persistent

 

Tasksch config được tạo bởi mã độc

Dựa vào kết quả phân tích cũng như nguồn threat intelligent, tôi cho rằng đây là 1 mẫu mã độc liên quan đến nhóm APT32.

Cảm ơn mọi người đã quan tâm theo dõi!

By,

RE_Team

86 lượt xem