Mục lục bài viết || Contents of the article

    Mặc dù được phát hiện và ngăn chặn ngay từ tháng 5/2017, hơn một năm qua, mã độc WannaCry vẫn luôn là một trong những mối đe dọa hàng đầu trong dòng mã độc mã hóa tống tiền đối với các tổ chức và doanh nghiệp. Trong những lần ứng cứu sự cố mã độc, SecurityBox liên tục thu thập được những biến thể mới của mã độc WannaCry. Bài phân tích kỹ thuật chi tiết của chuyên gia an ninh mạng Nguyễn Việt Anh từ SecurityBox hướng tới đối tượng là các bạn mới bắt đầu tìm hiểu và tự nghiên cứu phân tích mã độc.

    Các công cụ được sử dụng trong quá trình phân tích:

    • OllyDbg
    • IDA Pro
    • PEview
    • RegShot
    • Process Explorer
    • Process Monitor
    • 010Editor
    • Resource Hacker

    Thông tin mẫu

    ef95a048df895637c5aa94ca7f003fa3c435328c5486f9ffb11f8bf84194111f

    Tên file: mssecsvc.exe

    MD5: cf96dfb043ddc2c720a67dc71f5b2da2

    SHA1: a43f2d86bb619bf0912a2b935ac1dab9766df0c9

    SHA256: ef95a048df895637c5aa94ca7f003fa3c435328c5486f9ffb11f8bf84194111f

    Thời điểm tạo 2010-11-20 09:03:08

    Thời điểm phát hiện lần đầu 2018-08-18 03:13:36

    Tên trong CSDL của MVS SecurityBox: Trojan-Ransom.Win32.WannaCrypt.DRPR.AX

    Thành phần dropper của WannaCry

    ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa

    Tên file: tasksche.exe

    MD5: 84c82835a5d21bbcf75a61706d8ab549

    SHA1: 5ff465afaabcbf0150d1a3ab2c2e74f3a4426467

    SHA256: ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa

    Thời điểm tạo 2010-11-20 09:05:05

    Thời điểm phát hiện lần đầu 2017-05-12 07:31:10

    Tên trong CSDL của MVS SecurityBox: Trojan-Ransom.Win32.WannaCrypt.ENCRYPT.AA

    Thành phần mã hóa của WannaCry

    b9c5d4339809e0ad9a00d4d3dd26fdf44a32819a54abf846bb9b560d81391c25

    Tên file: u.wnry, @[email protected]

    MD5: 7bf2b57f2a205768755c07f238fb32cc

    SHA1: 45356a9dd616ed7161a3b9192e2f318d0ab5ad10

    SHA256: b9c5d4339809e0ad9a00d4d3dd26fdf44a32819a54abf846bb9b560d81391c25

    Thời điểm tạo 2009-07-13 23:19:35

    Thời điểm phát hiện lần đầu 2017-05-12 07:32:47

    Tên trong CSDL của MVS SecurityBox: Trojan-Ransom.Win32.WannaCrypt.DECRYPT.AA

    Thành phần thông báo đòi tiền chuộc và giải mã của WannaCry

    Phân tích

    Tất cả các mẫu trong bài phân tích này đều không có các thành phần làm rối code, chống dịch ngược, hay chống debug.

    mssecsvc.exe

    Khi được thực thi, đầu tiên, dropper kiểm tra kết nối tới domain http://www[.]iuqerfsodp9ifjaposdfjhgosurijfaewrwergwea[.]com . Nếu kết nối thành công, mã độc kết thúc thực thi.

    trojan 1

    Có hai giả thiết về hành vi kết nối tới sinkhole domain này: Tác giả mã độc sử dụng một domain có vẻ được nhập ngẫu nhiên từ bàn phím (tại thời điểm mã độc bắt đầu được phát tán, domain này chưa được đăng ký) như một cơ chế phát hiện sandbox. Nếu kết nối thành công, mã độc coi như nó đang nằm trong một sandbox và kết thúc thực thi. Hoặc tác giả mã độc chủ đích tạo một killswitch trong trường hợp mã độc lây lan vượt quá tầm kiểm soát.

    Nếu kết nối không thành công, mã độc tạo một service với tên mssecsvc2.0, sử dụng tên hiển thị (DisplayName) là “Microsoft Security Center (2.0) Service”, đường dẫn thực thi (BinaryPathName) được gán giá trị là đường dẫn tới file thực thi của mssecsvc.exe cùng tham số thực thi là “-m security”.

    trojan 2

    trojan 3

    Mã độc sử dụng EternalBlue, một khai thác lỗ hổng trên giao thức SMB để lây nhiễm tới mọi máy tính Windows trong cùng mạng LAN nếu các máy tính đó đang sử dụng giao thức này và chưa vá lỗ hổng (bản vá MS17-010).

    trojan 4

    trojan 5

    trojan 6

    Thành phần dropper sau đó sẽ trích xuất resource “R” trong resource section của mình ra file C:\WINDOWS\tasksche.exe.

    trojan 7

    Resource “R” là một file PE không được packed.

    trojan 8

    Trong thao tác cuối cùng của mình, dropper tạo một process với giá trị CommandLine là “C:\WINDOWS\tasksche.exe /i”. Sau đó, nó kết thúc thực thi.

    trojan 9

    File tasksche.exe vừa được trích xuất và thực thi chính là thành phần mã hóa của WannCry.

    tasksche.exe

    Một số string đáng chú ý:

    trojan 10

    Khi được thực thi, đầu tiên, mã độc thêm một registry value tại địa chỉ HKLM\SOFTWARE\WanaCrypt0r\wd (HKLM\SOFTWARE\Wow6432Node\WanaCrypt0r\wd trên Windows 64-bit), giá trị của registry value wd được gán với đường dẫn tới thư mục chứa file thực thi mã độc. Trong hình minh họa phía dưới, file thực thi được đặt trong thư mục wnry trên Desktop. Trong trường hợp thực tế, giá trị của wd sẽ là “C:\WINDOWS”.

    trojan 11

    Sau đó, mã độc trích xuất resource “XIA” trong resource section vào thư mục chứa file thực thi của mình, sử dụng password “WNcry@2ol7” trong quá trình trích xuất. Trong biến thể này, ta có thể giải nén resource “XIA” bằng công cụ Resource Hacker mà không cần sử dụng password trên.

    trojan 12

    “XIA” thực chất là một file .zip được nhúng trong file thực thi của mã độc. Nó bao gồm các file sau:

    • Thư mục “msg” chứa các file định dạng rich text format (RTF) với tên mở rộng là .wnry. Các file này chứa thông báo đòi tiền chuộc bằng các ngôn ngữ: bulgarian, chinese (simplified), chinese (traditional), croatian, czech, danish, dutch, english, filipino, finnish, french, german, greek, indonesian, italian, japanese, korean, latvian, norwegian, polish, portuguese, romanian, russian, slovak, spanish, swedish, turkish, vietnamese.
    • b.wnry: Một file ảnh bitmap (header là 42 4D) hiển thị hướng dẫn các bước để giải mã file. b.wnry sẽ được sử dụng làm hình nền Desktop sau khi mã độc hoàn thành thao tác mã hóa file.

    trojan 13

    • c.wnry: Chứa các địa chỉ:

    gx7ekbenv2riucmf.onion

    57g7spgrzlojinas.onion

    xxlvbrloxvriy2c5.onion

    76jdd2ir2embyv47.onion

    cwwnhwhlz52maqm7.onion https://dist.torproject.org/torbrowser/6.5.1/tor-win32-0.2.9.10.zip

    • r.wnry: Ransom note ở dạng text bản rõ.
    • s.wnry: Một file .zip khác, chứa các file thực thi và thư viện của Tor.
    • t.wnry: Một file được mã hóa với header là “WANACRY!”.
    • taskdl.exe: SHA256: 4a468603fdcb7a2eb5770705898cf9ef37aade532a7964642ecd705a74794b79, công cụ xóa file.
    • taskse.exe: SHA256: 2ca2d550e603d74dedda03156023135b38da3630cb014e3d00b1263358c5f00d , công cụ quản lý các phiên RDP.
    • u.wnry: Là một file PE, SHA256: b9c5d4339809e0ad9a00d4d3dd26fdf44a32819a54abf846bb9b560d81391c25, chính là thành phần thông báo đòi tiền chuộc và giải mã của WannaCry.

    Sau khi hoàn tất giải nén các file trên, mã độc cập nhật một địa chỉ bitcoin (13AM4VW2dhxYgXeQepoHkHSQuy6NgaEb94, được hard-coded trong file thực thi mã độc) vào file c.wnry.

    Sau đó, mã độc tạo hai process để thực hiện hai lệnh “attrib +h .” (thiết lập thuộc tính “hide” cho thư mục hiện tại, là thư mục chứa file thực thi mã độc) và “icacls . /grant Everyone:F /T /C /Q” (cấp quyền truy cập “full access” cho mọi user đối với mọi file trong thư mục hiện tại và tất cả các thư mục con của nó). Hai process này kết thúc thực thi ngay sau khi hoàn thành hai lệnh trên.

    trojan 14

    trojan 15

    Mã độc nạp hai thư viện kernel32.dll và advapi32.dll, và gọi các hàm sau: CreateFileW, WriteFile, ReadFile, MoveFileW, MoveFileExW, DeleteFileW, CloseHandle; CryptAcquireContextA, CryptImportKey, CryptDestroyKey, CryptEncrypt, CryptDecrypt, CryptGenKey.

    Có thể thấy rằng mã độc sử dụng các hàm Advapi32 trong thao tác mã hóa RSA AES. Địa chỉ hàm của các hàm kể trên được lưu trong các biến DWORD.

    trojan 16

    trojan 17

    Trong thao tác tiếp theo, mã độc giải mã file t.wnry, ghi dữ liệu vừa giải mã được vào một vùng nhớ và cấp khả năng thực thi cho vùng nhớ đó thông qua hàm VirtualProtect.

    trojan 18

    trojan 19

    trojan 20

    Ở thao tác cuối cùng trong tiến trình của mình, mã độc gọi hàm TaskStart từ vùng nhớ mà nó vừa cấp khả năng thực thi, chờ cho tới khi hàm TaskStart hoàn thành, sau đó kết thúc thực thi.

    Tiếp tục đón đọc phần 2 trong chuyên đề Phân tích, phát hiện và gỡ bỏ mã độc Trojan-Ransom.Win32.WannaCrypt.AA Phần  2 TẠI Blog Securitybox nhé

    Bài viết đề xuất || Recommended
    Không chỉ website của doanh nghiệp nhỏ mà ngay cả website của nhiều tổ chức, doanh nghiệp lớn tại Việt Nam cũng đã từng bị xâm nhập. Thực trạng này dẫn...
    Kiến thức | 24/03/2021
    Một trong những chìa khóa để kinh doanh online thành công là bảo mật website của doanh nghiệp.  1. Lý do doanh nghiệp kinh doanh online cần đẩy mạnh bảo mật...
    Kiến thức | 24/03/2021
    Bảo mật website hiện đang là yêu cầu cấp thiết với mọi doanh nghiệp. Theo đó, các đơn vị an ninh mạng cũng cho ra đời nhiều dịch vụ bảo mật website đa...