Lợi dụng tình hình diễn biến của dịch COVID-19 hiện tại đang rất phức tạp, 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ệ. Mới đây chúng tôi 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. Trong bài viết này chúng tôi sẽ phân tích phương thức mà kẻ tấn công sử dụng để lây nhiễm vào máy người dùng.
1. 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
![]() |
2. Phân tích mã độc
2.1. 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 2: 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%:
![]() |
Hình 3: cmd.exe gọi tới mshta.exe |
![]() |
Hình 4: Thực thi mshta.exe với tham số truyền vào là
file lnk
|
¨ 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.
![]() |
Hình 6: Tiến trình unsecapp.exe kết nối tới C2
|
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:
![]() |
Hình 7: 3.exe và unsecapp.exe trùng hash
|
![]() |
Hình 8: Thông tin Certificate mà độc sử dụng
|
2.2. 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:
![]() |
Hình 9: Nội dung của script 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:
¨ 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:
![]() |
Hình 10: Tạo biến chứa nội dung của file
|
¨ Tạo
lập đường dẫn cho các files và gọi hàm vSWGUThohAGJ
để tạo files:
![]() |
Hình 11: Tạo các file 3.exe, http_dll.dll,
http_dll.dat
|
¨ 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.
![]() |
Hình 12: Thực thi 3.exe và mở tài liệu Chi Thi cua thu
tuong nguyen xuan phuc.doc
|
2.3. Phân
tích chi tiết các payload
2.3.1.
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.
![]() |
Hình 13: unsecapp.exe gọi hàm LoadLibraryW để nạp http_dll.dll
|
2.3.2.
Phân tích http_dll.dll
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.
![]() |
Hình 14: Sử dụng kĩ thuật push-ret để nhảy tới hàm tại
địa chỉ 0x10001230
|
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:
![]() |
Hình 15: Cấu thành đường dẫn tới http_dll.dat
|
¨ 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:
![]() |
Hình 16: Hàm FileReadAll chịu trách nhiệm đọc nội dung
http_dll.dat
|
![]() |
Hình 17: Code của hàm FileReadAll
|
¨ 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ớ:
![]() |
Hình 18: Thực hiện 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.
![]() |
Hình 19: Thực thi payload mới đã giải mã trên bộ nhớ
|
![]() |
Hình 20: http_dll.dat trước và sau khi giải mã
|
Payload có được là một dll (HT.dll):
![]() |
Hình 21: Payload mới là một dll
|
Bài viết xin được tạm dừng tại đây, trong phần tiếp theo
chúng tôi sẽ phân tích chi tiết về cách thức hoạt động của payload cuối cùng
(HT.dll).
Indicators of compromise (IOCs)
Dropped file:
%LocalAppData%\Temp
1. 3.exe [SHA256:
c3159d4f85ceb84c4a0f7ea9208928e729a30ddda4fead7ec6257c7dd1984763]
2. http_dll.dll [SHA256:
79375c0c05243354f8ba2735bcd086dc8b53af709d87da02f9206685095bb035]
3. http_dll.dat [SHA256:
b62d35d8edae874a994fff12ec085a0bf879c66b3c97fd13fe0a335b497342e5]
4. Chi Thi cua thu tuong nguyen xuan phuc.doc [SHA256:
e3556d6ba5e705b85599b70422928165c8d4130074029a8dcd04a33f4d1aa858]
%AllUsersProfile%\Microsoft Malware Protectionydy
1. unsecapp.exe
[SHA256:
c3159d4f85ceb84c4a0f7ea9208928e729a30ddda4fead7ec6257c7dd1984763]
2. http_dll.dll [SHA256: 79375c0c05243354f8ba2735bcd086dc8b53af709d87da02f9206685095bb035]
3. 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
R&D Center - VinCSS (a member of Vingroup)
admin cho em hỏi mẫu sample lấy về từ đâu ạ ? em xin cảm ơn !
ReplyDeleteadmin cho em hỏi mẫu sample được về từ đâu ạ ? em xin cảm ơn ạ !
ReplyDeleteđây là phân tích động hay phân tích tĩnh ạ
ReplyDeleteBài phân tích kết hợp cả hai phương pháp phân tích. Trong đó mục "2.1. Phân tích hành vi của mã độc" tương ứng với việc thực hiện phân tích động.
DeleteCho em xin mẫu sample về để demo với ạ
ReplyDeleteHash của sample đã được chúng tôi chia sẻ trong bài viết. Tìm kiếm theo hash đó bạn sẽ download được sample.
Delete