Phân tích mã độc mã hoá dữ liệu tống tiền - Ransomware

Malware

Wh------
08/01/2015
41
56 bài viết
Phân tích mã độc mã hoá dữ liệu tống tiền - Ransomware
Vừa qua ở Việt Nam có xuất hiện mã độc thuộc dòng Ransomeware có tên là CTB-Locker. Mã độc này lây lan nhanh và gây ra những thiệt hại lớn đối với nạn nhân khi thực hiện mã hóa file dữ liệu của người dùng cũng như yêu cầu tiền chuộc nếu muốn khôi phục lại dữ liệu gốc. Vì sự nguy hiểm của loại mã độc này hôm nay mình xin đưa ra bài viết giới thiệu khái quát về Ransomeware cũng như phân tích một mẫu Ransomeware để giúp các bạn hiểu và có cái nhìn trực quan hơn về loại mã độc này.

Tổng quan về ransomware

Ransomware là loại malware sử dụng một hệ thống mật mã để mã hóa dữ liệu thuộc về một cá nhân và đòi tiền chuộc thì mới khôi phục lại.

Tương tự như các loại malware khác, Ransomware xâm nhập vào máy tính người dùng thông qua các dữ liệu đính kèm từ email, phần mềm tải từ Internet hay chỉ đơn giản là từ các website mà người dùng đã duyệt qua.

Ransomeware thường chia làm 2 loại đó là:

· khóa màn hình của nạn nhân
· mã hóa file dữ liệu của nạn nhân

Sau khi xâm nhập vào máy tính, nó sẽ tiến hành mã hóa dữ liệu của bạn hoặc khóa màn hình và hiển thị ra thông báo như việc trên máy bạn chứa các phần mềm vi phạm bản quyền hay số file dữ liệu mà chúng đã mà hóa và đưa ra yêu cầu đòi tiền chuộc nhưng không yêu cầu bạn đưa ra tiền chuộc ngay.

14899399401.jpg


Thông báo của ransomeware CTB-Locker

Làm sao để tự bảo vệ và phòng tránh Ransomware?

Sao lưu dữ liệu thường xuyên là phương pháp tốt nhất để tránh bị cướp dữ liệu từ Ransomware. Bên cạnh đó bạn cũng cần phải trang bị thêm cho máy tính một phần mềm bảo vệ và chống mã độc tốt.

Phân tích mẫu virus siêu đa hình có sử dụng module Ransomware

Đây là loại mã độc đầu tiên tích hợp đồng thời cả 2 tính năng Ransomeware và lây file siêu đa hình. Đây là điểm rất thú vị khi thực hiện phân tích mã độc này. Tuy nhiên do bài viết nhằm mục đích giới thiệu về Ransomware nên mình sẽ tập trung phân tích về các kỹ thuật mà mã độc sử dụng để thực hiện hành vi ransomware của mình.

Như đã nói ở phần giới thiệu về ransomware thì thường chúng được chia làm 2 loại là khóa màn hình nạn nhân hoặc mã hóa file dữ liệu của nạn nhân .

Đối với mã độc này chúng thực hiện hành vi khóa màn hình của nạn nhân sau khi được kích hoạt. Một số hình ảnh của mã độc sau khi được kích hoạt

14899399402.png


Màn hình cảnh báo thực hiện hành vi tống tiền của mã độc



Do mã độc có tính năng của một virus lây file siêu đa hình nên chúng thực hiện lây lan vào các file có phần mở rộng : *.exe, *.doc, *.xls, *.zip, *.rar, *.pdf, *.ppt, *.mdb, *.mp3, *.mpg, *.png, *.gif, *.bmp, *.p12, *.cer, *.psd, *.crt, *.pem, *.pfx, *.p12, *.p7b, *.wma, *.jpg, *.jpeg.

Ban đầu mã độc thực hiện lấy icon của file bị lây nhiễm sau đó tạo ra một file lưu icon này. Tiếp đó mã độc mã hóa data file victim với một key được mã độc tính toán , tạo ra một file mới và đẩy data bị mã hóa + kích thước file mã hóa + địa chỉ bắt đầu data file victim + key mã hóa + code của mã độc vào trong file mà mã độc tạo ra trước đó. Update icon file victim vào file vừa tạo. Cuối cùng mã độc đổi tên file vừa tạo trùng với tên file victim, xóa file victim và thay vào đó là file bản sao của virus. Thông qua cách này mã độc sẽ lừa người dùng kích hoạt chúng mà không hề hay biết bởi vì sau khi file được kích hoạt, mã độc sẽ khôi phục lại file gốc cho người dùng và hiển thị nội dung của file đó lên. Chỉ khi màn hình thông báo của mã độc được hiện lên người dùng mới biết đến sự tồn tại của mã độc trong máy, nhưng lúc đó thì đã quá muộn.

Sau đây là demo các bước virus mã hóa một file văn bảnWORD có tên là test.doc

14899399403.png


Data khi chưa bị mã hóa của file test.doc

14899399404.png


Data file test.doc dưới dạng mã hexa

14899399405.png


Mã độc lấy icon file test.doc và lưu icon vào trong file nQkW.ico

14899399406.png


Đọc dữ liệu file test.doc lưu lại buffer có địa chỉ = 0x03080000

14899399407.png


Data file test.doc sau khi kết thúc hàm ReadFile

14899399408.png


Mã độc copy dữ liệu file test.doc từ địa chỉ 0x03080000 sang địa chỉ 0x012AB528 chuẩn bị cho quá trình mã hóa data file test.doc đồng thời mã độc tạo ra một giá trị ngẫu nhiên cho thanh ghi EAX thông qua lệnh RDTSC, giá trị đó tiếp tục được đem XOR với EBX = 0x100 , kết quả cuối cùng ta tạm gọi là k

14899399409.png


Mã độc tạo key mã hóa file

148993994010.png


Địa chỉ buffer mà ESI trỏ tới tại 0x012AB514 theo thứ tự bao gồm một giá trị DWORD đươc sinh ngẫu nhiên + xâu “test.doc” + data file test.doc

Cơ chế tạo KEY mã hóa của mã độc:

Mã độc lưu kích thước file test.doc + kích thước xâu “test.doc” + một giá trị DWORD được sinh ngẫu nhiên vào trong thanh ghi EDX, sau đó tiến hành tính toán giá trị này theo bội của 4. Mã độc lưu key mã hóa được tạo tại thanh ghi EAX và khởi tạo giá trị này bằng -1. Tiếp đó mã độc tiến hành phép toán XOR liên tiếp giá trị của EAX với data được trỏ bởi ESI bao gồm một giá trị DWORD đươc sinh ngẫu nhiên + xâu “test.doc” + data file test.doc. Kết thúc vòng lặp giá trị tại EAX chứa KEY được sử dụng cho việc mã hóa file test.doc

148993994012.png


Mã độc thực hiện mã hóa file test.doc với KEY vừa được khởi tạo trước đó


Cơ chế mã hóa data file victim của mã độc : (EAX lưu key mã hóa, ESI chứa địa chỉ data file victim)
MOV ECX, EAX ; copy key từ EAX sang ECX
MOV EDI, DWORD PTR DS:[ESI] ; đọc 1 DWORD data file victim vào trong EDI
ROL EDI, CL; dịch trái x bit với x là giá trị lưu trong thanh ghi CL
XOR EDI, ECX ; XOR bit với key trong ECX
MOV DWORD PTR DS:[ESI], EDI; copy lại dũ liệu file bị mã hóa thay cho dữ liệu gốc

148993994013.png


Data file test.doc sau khi bị mã độc mã hóa

148993994014.png


Mã độc thực hiện copy mã độc + data file test.doc đã được mã hóa trong buffer có địa chỉ 0x1280000 (data file test.doc bắt đầu tại địa chỉ 0x12AB514) vào file oEgc.exe vừa được tạo trước đó

148993994015.png


Mã độc tiến hành cập nhật lại icon file oEgc.exe theo đúng icon file test.doc

148993994016.png


Mã độc tiến hành xóa file test.doc và thay vào đó là file oEgc.exe với tên mới test.doc.exe

Sau khi hoàn thành việc lây lan, mã độc thực hiện hành vi ransomware của mình. Mã độc thực hiện việc tạo cảnh báo đối với người dùng đồng thời tạo một thread thực hiện chức năng khóa màn hình.

148993994017.png


Mã độc kiểm tra cửa sổ cảnh báo đã tồn tại hay chưa, nếu chưa tiến hành tạo cửa sổ thông báo

148993994018.png


Mã độc tạo thread thực hiện chức năng Ransomware với địa chỉ hàm tại = 0x00408951

148993994019.png


Mã độc lấy kích thước màn hình hiển thị

148993994020.png


148993994022.png


Mã độc tiến hành tạo cảnh báo và hiển cảnh báo đó

Trong quá trình tạo màn hình cảnh báo mã độc tạo thread thực hiện nhiệm vụ khóa màn hình

148993994023.png


Mã độc tạo thread thực hiện chức năng khóa màn hình với địa chỉ hàm tại 0x41822A

Chúng ta sẽ đi phân tích cơ chế khóa màn hình của mã độc tại địa chỉ 0x41822A
Cơ chế khóa màn hình của mã độc khá đơn giản. Mã độc tiến hành tìm kiếm các window của một loạt các ứng dụng thỏa mã :
· title = “Open File” (của sổ khi người dùng mở file bằng tổ hợp phím crtl + O)
· title = “Window Internet Explorer”
· title = “RegEdit_RegEdit”
· title = “ConsoleWindowClass”
· title = “TaskManager”
· title = “Run”
· Explorer
· title = “Open”
· vân vân ...
Nếu tồn tại mã độc sẽ gọi function SendMessage send messageWM_CLOSE yêu cầu đóng các cửa sổ này. Một số hình ảnh mã độc thực hiện việc kill cửa sổ

148993994024.png


Mã độc kill cứa sổ ConsoleWindowClass

148993994025.png


Mã độc kill cửa sổ Run và Windows Task Manager

148993994026.png


148993994027.png


Mã độc tìm và kill IE, Explorer

148993994028.png



148993994029.png


Mã độc kill cửa sổ Open file

Trên đây là bài phân tích của mình. Bài phân tích còn nhiều thiếu xót, rất mong nhận được sự góp ý của các bạn.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: Phân tích mã độc mã hoá dữ liệu tống tiền - Ransomware

Very good!. Cảm ơn nhé!. :)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Phân tích mã độc mã hoá dữ liệu tống tiền - Ransomware

Kiến thức cao siêu quá đọc chả hiểu gì @@
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên