Phân tích mẫu zeroaccess

Malware

Wh------
08/01/2015
41
56 bài viết
Phân tích mẫu zeroaccess
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.


14899399451.png

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


14899399452.png


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.


14899399453.png


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


14899399454.jpg


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

14899399455.png


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
14899399456.png


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 đó.

14899399457.png


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

14899399458.png


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

14899399459.jpg


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.


148993994510.png


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


148993994511.png


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)

148993994512.png


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

148993994513.png

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

148993994514.png


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

148993994515.png


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

148993994511.png


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
Bên trên