Phân tích mẫu ransomware - petya

Thảo luận trong 'Virus/Malware' bắt đầu bởi HustReMw, 25/01/17, 01:01 AM.

  1. HustReMw

    HustReMw Moderator Thành viên BQT

    Tham gia: 20/12/16, 05:12 PM
    Bài viết: 449
    Đã được thích: 207
    Điểm thành tích:
    43
    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.
    Cơ chế hoạt động

    Dưới đây là sơ đồ tổng quan vể cơ chế hoạt động của Petya
    [​IMG]
    Chi tiết hành vi

    Ghi đè MBR

    Sơ đồ dưới đây thể hiện tổng quát trình tự ghi đè vào MBR của Petya
    [​IMG]




    Đây là đoạn code ghi đè vào MBR của Petya sau khi mình đã unpack Petya.
    [​IMG]




    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.
    [​IMG]



    Đâ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.

    [​IMG]


    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
    [​IMG]



    Đế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.
    [​IMG]


    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
    [​IMG]


    Để 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
    [​IMG]


    Khi mã hóa hoàn thành mình hình tống tiền của Petya được hiển thị
    [​IMG]





    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!
     
    Last edited by a moderator: 28/01/17, 12:01 PM
    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
    black_goat and blackarch like this.