Phân tích mẫu ransomware Petya
Petya là một loại ransomware ghi đè vào MBR và mã hóa MFTđể hệ điều hành không thể truy cập file và thư mục nhằm mục đích đòi tiền chuộc.
Để giúp các bạn có cái nhìn trực quan và hiểu rõ hơn về loại ransomware mới này, chúng ta cùng đi vào phân tích chi tiết mẫu. Trong khuôn khổ bài viết mình chỉ phân tích chi tiết kỹ thuật ghi đè vào MBR và mã hóa MFT.
Sơ đồ dưới đây thể hiện tổng quát trình tự ghi đè vào MBR của Petya
Đây là đoạn code ghi đè vào MBR của Petya sau khi mình đã unpack Petya.
Khi quá trình ghi đè xong, chúng ta có thể thấy MBR – sector 0 đã bị thay đổi. Đây là toàn bộ bootloader của Petya được ghi để nạp hệ điều hành của nó như chúng ta đã để cập ở trên.
Đây là một đoạn data nhỏ nằm hệ điều hành của Petya ở sector 47. Chúng ta có thể thấy được đây là các string ransom được sao chép vào ổ đĩa.
Sau khi ghi đè xong MBR, Petya cố tình làm crash máy bằng NtRaiseHardError để tiến hành mã hóa MFT
Đến đây, máy tính nạn nhân khởi động quá trình mã hóa MFT sẽ diễn ra, trước khi đi vào chi tiết về mã hóa MFT, chúng ta cùng xem sơ đồ tổng quan về quá trình mã hóa của Petya.
Boot loader của Petya bắt đầu hoạt động. Boot loader có nhiệm vụ nạp vào memory hệ điều hành của Petya. Dưới đây chúng ta có thể thấy được code hệ điều hành bắt đầu được nạp ở sector34 và độ dài là 32sector, cũng như địa chỉ bắt đầu nạp vào memory là 0x8000
Để dữ liệu không bị mã hóa lại, Petya lưu một biến cờ ở sector 54 để kiểm tra dữ liệu đã được mã hóa hay chưa. Nếu cờ này chưa được thiết lập, chương trình bắt đầu fake CHKDSK để mã hóa MFT. Quá trình mã hóa sử dụng thuật toán Salsa20
Khi mã hóa hoàn thành mình hình tống tiền của Petya được hiển thị.
Trên đây là bài phân tích của mình, bài viết còn nhiều thiếu sót, rất mong được sự góp ý của các bạn!
Để giúp các bạn có cái nhìn trực quan và hiểu rõ hơn về loại ransomware mới này, chúng ta cùng đi vào phân tích chi tiết mẫu. Trong khuôn khổ bài viết mình chỉ phân tích chi tiết kỹ thuật ghi đè vào MBR và mã hóa MFT.
Cơ chế hoạt động
Dưới đây là sơ đồ tổng quan vể cơ chế hoạt động của PetyaChi tiết hành vi
Ghi đè MBRSơ đồ dưới đây thể hiện tổng quát trình tự ghi đè vào MBR của Petya
Đây là đoạn code ghi đè vào MBR của Petya sau khi mình đã unpack Petya.
Khi quá trình ghi đè xong, chúng ta có thể thấy MBR – sector 0 đã bị thay đổi. Đây là toàn bộ bootloader của Petya được ghi để nạp hệ điều hành của nó như chúng ta đã để cập ở trên.
Đây là một đoạn data nhỏ nằm hệ điều hành của Petya ở sector 47. Chúng ta có thể thấy được đây là các string ransom được sao chép vào ổ đĩa.
Boot loader của Petya bắt đầu hoạt động. Boot loader có nhiệm vụ nạp vào memory hệ điều hành của Petya. Dưới đây chúng ta có thể thấy được code hệ điều hành bắt đầu được nạp ở sector34 và độ dài là 32sector, cũng như địa chỉ bắt đầu nạp vào memory là 0x8000
Để dữ liệu không bị mã hóa lại, Petya lưu một biến cờ ở sector 54 để kiểm tra dữ liệu đã được mã hóa hay chưa. Nếu cờ này chưa được thiết lập, chương trình bắt đầu fake CHKDSK để mã hóa MFT. Quá trình mã hóa sử dụng thuật toán Salsa20
Khi mã hóa hoàn thành mình hình tống tiền của Petya được hiển thị.
Trên đây là bài phân tích của mình, bài viết còn nhiều thiếu sót, rất mong đượ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: