18/09/2018, 16:25

Phân tích, phát hiện và gỡ bỏ mã độc Trojan-Ransom.Win32.WannaCrypt.AA Phần 2

Phần 1 của bài viết Phân tích mã độc Trojan-Ransom.Win32.WannaCrypt.AA đang được rất nhiều bạn đọc quan tâm, theo dõi. Tiếp tục đi sâu Phân tích về loại mã độc này cùng đón đọc những phân tích tiếp theo của chuyên gia an ninh mạng của SecurityBox Nguyễn Việt Anh dưới đây nhé. Phân ...

trojan 40

Phần 1 của bài viết Phân tích mã độc Trojan-Ransom.Win32.WannaCrypt.AA đang được rất nhiều bạn đọc quan tâm, theo dõi. Tiếp tục đi sâu Phân tích về loại mã độc này cùng đón đọc những phân tích tiếp theo của chuyên gia an ninh mạng của SecurityBox Nguyễn Việt Anh dưới đây nhé.

Phân tích, phát hiện và gỡ bỏ mã độc Trojan-Ransom.Win32.WannaCrypt.AA Phần 1

Vùng nhớ bắt đầu từ địa chỉ 10000000h chính là thành phần mã hóa thực sự của mã độc. Dữ liệu của vùng nhớ này (giải mã từ t.wnry) không nằm trên bất kỳ file nào.

Thực chất, vùng nhớ binary này là một DLL với hàm export duy nhất là TaskStart.

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

trojan 21

Giả mã của hàm TaskStart:

trojan 22

Đầu tiên, mã độc tạo một mutex với tên “GlobalMsWinZonesCacheCounterMutexA” để đảm bảo tại một thời điểm chỉ có một instance của nó được thực thi trên hệ thống.

trojan 23

Sau đó, mã độc ghi khóa công khai của MS Enhanced RSA – AES vào file 00000000.pky, sử dụng khóa công khai đó để mã hóa một vùng nhớ và ghi vùng nhớ được mã hóa đó vào file 00000000.eky như một khóa bí mật RSA (victim-unique private key).

trojan 24

Mã độc kiểm tra sự tồn tại và ghi một số lệnh mã hóa vào file 00000000.res. Các lệnh này được sử dụng để giao tiếp với C2 server.

trojan 25

trojan 26

Sau đó, mã độc tạo hai thread thực thi các file taskdl.exe và taskse.exe.

trojan 27

Trong thao tác tiếp theo, mã độc copy nội dung file u.wnry vào file @WanaDecrypt0r@.exe và bắt đầu thực hiện chức năng mã hóa.

trojan 28

Tại hàm mã hóa chính, trong khi duyệt tất cả các thư mục trong hệ thống file, mã độc thực hiện các thao tác:

Tạo một shortcut dẫn tới file @WanaDecrypt0r@.exe bằng một .bat script. File .bat này được đặt tên từ một số ngẫu nhiên độ dài 15 và được xóa đi sau khi thực thi xong.

trojan 29

Nội dung file .bat:

trojan 30

Mã độc copy nội dung file r.wnry vào file “@Please_Read_Me@.txt”. Sau đó, nó kiểm tra mỗi file trong thư mục hiện tại với tên mở rộng “.WNCYR” và “.WNCRY”.

trojan 31

trojan 32

Nếu một file không có tên mở rộng là một trong hai string trên, sau khi kiểm tra header của file với giá trị “WANACRY!” để chắc chắn rằng file đó chưa được mã hóa, mã độc thực hiện đọc nội dung file vào một buffer, mã hóa buffer đó và ghi vào một file với tên [filename].WNCRYT, “T” có thể được hiểu là “Temp”.

Trojan 33

trojan 34

trojan 35

Sau khi ghi hết buffer vào file [filename].WNCRYT, mã độc đổi tên file đó thành [filename].WNCRY.

trojan 36

Các file với phần tên mở rộng sau đây sẽ bị mã hóa: .der .pfx .key .crt .csr .p12 .pem .odt .ott .sxw .stw .uot .3ds .max .3dm .ods .ots .sxc .stc .dif .slk .wb2 .odp .otp .sxd .std .uop .odg .otg .sxm .mml .lay .lay6 .asc .sqlite3 .sqlitedb .sql .accdb .mdb .db .dbf .odb .frm .myd .myi .ibd .mdf .ldf .sln .suo .cs .c .cpp .pas .h .asm .js .cmd .bat .ps1 .vbs .vb .pl .dip .dch .sch .brd .jsp .php .asp .rb .java .jar .class .sh .mp3 .wav .swf .fla .wmv .mpg .vob .mpeg .asf .avi .mov .mp4 .3gp .mkv .3g2 .flv .wma .mid .m3u .m4u .djvu .svg .ai .psd .nef .tiff .tif .cgm .raw .gif .png .bmp .jpg .jpeg .vcd .iso .backup .zip .rar .7z .gz .tgz .tar .bak .tbk .bz2 .PAQ .ARC .aes .gpg .vmx .vmdk .vdi .sldm .sldx .sti .sxi .602 .hwp .snt .onetoc2 .dwg .pdf .wk1 .wks .123 .rtf .csv .txt .vsdx .vsd .edb .eml .msg .ost .pst .potm .potx .ppam .ppsx .ppsm .pps .pot .pptm .pptx .ppt .xltm .xltx .xlc .xlm .xlt .xlw .xlsb .xlsm .xlsx .xls .dotx .dotm .dot .docm .docb .docx .doc

trojan 37

Sau khi duyệt tất cả các thư mục trong hệ thống file và tạo các bản mã hóa cho từng file trong mỗi thư mục,mã độc cập nhật trạng thái mã hóa tống tiền vào file 00000000.res và tạo một process thực thi @WanaDecrypt0r@.exe với tham số dòng lệnh là “cmd.exe /c start /b @WanaDecrypt0r@.exe vs”.

trojan 38

Trong khi thực hiện thao tác mã hóa file, mã độc chọn ngẫu nhiên một số file (tối đa 10 file) được mã hóa với một khóa bí mật RSA nhúng. Đường dẫn tới các file này được ghi trong file f.wnry. @WanaDecrypt0r@.exe sẽ giải mã các file này để chứng minh với nạn nhân về khả năng giải mã file của nó.

trojan 39

Mã độc thực thi file @WanaDecrypt0r@.exe và thêm một registry value tại địa chỉ HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun[random_string] với value data được gán với đường dẫn tới file tasksche.exe. Có thể thấy mã độc cố gắng thiết lập khả năng tự động thực thi khi hệ thống khởi động nhưng nó lại sử dụng tên file thực thi được hard-coded là “tasksche.exe”. Nếu file thực thi được đặt bằng một tên khác, autorun registry này trở nên vô nghĩa.

trojan 41

trojan 42

Sau đó, mã độc thực thi taskse.exe. Công cụ này liệt kê các phiên RDP đang hoạt động để đảm bảo cửa sổ của @WanaDecryptor@.exe được hiển thị đối với mọi remote user, tức là mọi remote user đều thấy được thông báo đòi tiền chuộc.

trojan 43

Trong thao tác cuối cùng của tiến trình này, mã độc đóng một số tiến trình liên quan đến cơ sở dữ liệu để unlock và mã hóa các cơ sở dữ liệu của chúng.

trojan 44

Sau khi mã độc hoàn tất các thao tác trên, nạn nhân sẽ được thấy hình nền Desktop của mình bị thay đổi, hầu hết các file trên hệ thống bị mã hóa với tên mở rộng .WNCRY và một thông báo đòi tiền chuộc hiển thị liên tục.

trojan 45

trojan 46

Đón đọc thêm nhiều các phân tích về mã độc từ chuyên gia an ninh mạng SecurityBox TẠI ĐÂY nhé.

0