Phân tích mẫu zeroaccess

Thảo luận trong 'Virus/Malware' bắt đầu bởi Malware, 04/09/15, 10:09 AM.

  1. Malware

    Malware Wh------

    Tham gia: 08/01/15, 11:01 AM
    Bài viết: 56
    Đã được thích: 38
    Điểm thành tích:
    48
    Xin chào các bạn, hôm nay mình và các bạn sẽ phân tích mộtmẫu malware có tên là Zeroaccess


    Giới thiệuvề Zeroacess

    • Zeroaccess là một botnet với chức năng downloader và là một Backdoor với hệ thống framework để thực thi các plugin được tải từ server.

    Thông tinmẫu

    • File size: 222Kb
    • File type: PE32
    • File MD5: 583207637D5D43E020A981670222E038


    Thông tinhành vi

    • Giả mạo và lợi dụng Adobe Flash Player để đánh lừa dùng để chạy virus với quyền Admin.
    • Pack

    • Anti debug
    • Tạo và debug process con để giải mã code và inject vào tiến trình con
    • Tấn công vào các đối tượng COM để autorun
    • Kết nối gửi thông ti đến server
    • Tải các plugin để thực hiện các hành vi như: đào bitcoin, update zeroaccess, click fraud


    Chi tiếtcác hành vi




    1. Giả mạovà lợi dụng Adobe Flash Player để đánh lừa dùng đểchạy virus với quyền Admin

    Khibắt đầu chạy có sự khác nhau giữu các phiên bản củahệ điều hành, nếu trên WinXp thì chạy bình thường,còn đối với các phiên bản windows có quyền UAC thìzeroaccess sẽ đánh lừa người dùng bằng Adobe FlashPlayer.

    Zeroaccesssẽ dowload file InstallPlashPlayer.exe và tạo ra filemsim32.dll(đây là file của 99/zeroacess) để cùng trong thưmục %Temp%, khi file Flash chạy thì nó sẽ tìm thư việnmsim32.dll(đây là tên thư viện chuẩn trong system32) trongthư mục hiện tại trước khi tìm trong system32. Lợi dụngđiều đó zeroaccess đồng thời được thực thi vớiFlash.


    [​IMG]
    Hình1: Zeroaccess dowload Adobe và tạo msim32.dll cùng thưc mục


    Vàđây khi chúng ta chọn “Yes” máy tính bạn đã bị nhiễmzeroaccess


    [​IMG]

    Hình 2:Zeroaccess đánh lừa người dùng

    2. Pack

    Zeroaccesskhông sử dụng một trình pack nào phổ biến cả, nó sửdụng trình pack của chính nó.

    Đểunpack được nó không còn cách nào khác là sự kiên trì,hình dưới đây chỉ ra đoạn bắt đầu upack xong và nhảyvào code chính.


    [​IMG]

    Hình 3:Zeroaccess nhảy vào code đã unpack


    3. Antidebug

    Zeroaccesssẽ xác định xem có bị chạy dưới một chương trìnhdebug nào không bằng các gọi hàm IsDebuggerPresent
    Nếu bịdebug nó sẽ nhảy vào hàm như hình dưới, và nó sẽ loadthư viện untfs.dll và sẽ lấy địachỉ của một hàm với số thứ tự là 0× 2302 bằng hàmLdrGetProcedureAddress

    Thư việnuntfs.dll làmột thư viện chuẩn của windows và chỉ có số thứ tựcủa hàm từ 0x00 – 0x96 do đó không có hàm có số thứtự 0x2302 nên sẽ không tìm được địa chỉ hàm nào cósố thứ tự 0x2302 cả vì thế chương trình bị terminate


    [​IMG]

    Hình 4:Zeroaccess anti debug


    4. Tạo vàdebug process con để giải mã code và inject

    Việctạo process con để thực hiện các hành vi là chuyện hếtsức bình thường của malware

    [​IMG]

    Hình 5:Zeroaccess tạo process con


    Đầu tiênzeroaccess sẽ connet đến dubugger của windows bằng hàmDbgUiConnectToDbg(), DbgUiContinue, DbgUiStopDebugging... Dưới đâylà một doạn của của vòng lặp debug
    [​IMG]

    Hình 6:Vòng lăp debug process con của zeroaccess


    Thôngthường khi tạo process con ở thì trong hàm CreateProcess cótham số là dwCreationFlags[in]thường ở chế độ CREATE_SUSPENDED

    NhưngZeroaccess đã tạo process ở chế độ DEBUG_PROCESS để giải mã và inject code vào chính process con đó.

    [​IMG]

    Hình 7:Zeroaccess tạo process ở chế độ debug


    Trong vòng lặpdebug nó sẽ xử lý các trường hợp dựa vào cấu trúcdebug như hình

    [​IMG]

    Hình 8:Cấu trúc xử lý các sự kiện trong vòng lặp debug


    Khi gặp mộtexception_event nó sẽ giả mã code và inject vào process con,dưới đây là đoạn code inject

    [​IMG]

    Hình 9:Zeroaccess inject vào process con



    4. Autorun

    Zeroaccesssẽ tấn công các COM Object của windows để ẩn lấp vàtự đông chạy cùng hệ điều hành

    Zeroaccesstấn công bằng cách thay thế các CLSID bằng chính DLL củanó


    Trongkhuôn khổ của bài viết mình sẽ không đi sâu và cácCOM Object là gì, các chương trình sử dụng nó như thếnào.


    [​IMG]

    Hình 10:Trước khi COM Object bị tấn công


    [​IMG]

    Hình 11:Sau khi COM Object bị tấn công


    Saukhi các COM Object bị tấn công thì process nào sử dụngCLSID đó thì sẽ load DLL của Zeroaccess lên, và trong trườnghợp này là svchost.exe(process chuẩn của windows)

    [​IMG]

    Hình12: Zeroaccess autorun


    5. Connectvà gửi thông tin lên server

    Zeroaccess connect tới jmaxmind.com thực hiện gửi thông tin của máybị nhiễm như: version windows, mã quốc gia

    [​IMG]
    Hình 13: Zeroaccessconnect tới jmaxmind.com


    Zeroaccesssẽ download các file plugin và thiết lập các thuộc tínhđể bảo vệ file như: ẩn file

    [​IMG]

    Hình 14:Tạo và ghi các file plugin

    [​IMG]

    Hình 15:Zeroaccess thiết lập bảo về các file plugin

    [​IMG]

    Hình 16:Các file plugin


    Trongphạm vi bài viết này mình chỉ phân tích hành vi của mẫuzeroaccess, mình không đi sâu vào các file plugin thực hiệnnhững hành vi như thế nào.

    Trênđây là bài phân tích của mình, bài viết còn nhiềuthiếu sót, rất mong được sự góp ý của các bạn!
     
    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