Trong bài trước tôi đã giới thiệu với các bạn về cách kiểm tra, theo dõi, phân tích và diệt mã độc.  Trong bài viết này chúng ta sẽ tập trung tìm hiểu việc phân tích một mẫu virus lây file cụ thể: Win32/Expiro

Như tiêu đề bài viết, chúng ta sẽ chỉ tập trung phân tích hành vi lây file: đối tượng lây, cách thức lây, phương pháp viết hàm diệt triệt để cho mẫu virus này.

Chuẩn bị môi trường

  1. Chuẩn bị máy ảo Windows XP 32 bit. Máy gồm 2 ổ logic: C, E. Lý do cần máy ảo có ít nhất 2 ổ logic như trên là vì một số loại virus lây nhiễm thông qua các ổ chứ không lây trong ổ hiện tại.
  2. Danh sách các file mồi, sử dụng để cho virus lây nhiễm: calc.exe, cmd.exe, NOTEPAD.exe và file cài đặt notepad++.
  3. Các file mồi được đặt ở cùng thư mục, nhân bản trên hai ổ logic và trên Desktop.
  4. Chạy ProcessMon để theo dõi các chương trình, tiến trình. Vì chỉ cần theo dõi hành vi lây file nên ta chỉ cần sử dụng ProcessMon trong bộ công cụ Sysinternal là đủ.
  5. Các chương trình debugger, disasembler: OllyDBG, IDA Pro
screen-shot-1

Giai đoạn theo dõi

Đầu tiên, chúng ta snapshot máy ảo có đầy đủ các công cụ trên để dễ dàng quay lại với môi trường sạch ban đầu. Chạy ProcessMon sau đó chạy mẫu virus cần phần tích, chúng ta thực hiện quá trình Filter trên ProcessMon theo tên mẫu virus vừa chạy (Win32.Expiro.exe) và Filter theo hành vi (Ở đây chúng ta quan tâm tới hành vi WriteFile).

Như chúng ta thấy ở hình vẽ trên đây, virus Win32.Expiro đã tiến hành lây vào thư mục chứa các file mồi trên Desktop trước tiên. Như vậy, chúng ta sẽ tập trung theo hướng này, tập trung vào việc dùng các file mồi ở Desktop để debug lây file nhanh chóng.

Trước khi thực hiện bước tiếp theo, chúng ta cần thực hiện một số công việc sau:

  1. Thu thập lại các mẫu đã bị lây do chạy virus từ các bước trên. Ở đây, tôi thu thập lại mẫu calc.exe (Để tăng độ chính xác cần thu thập nhiều mẫu hơn nhằm tạo ra sự đối sánh hoàn chỉnh giữa các mẫu) và sẽ sử dụng chính mẫu này để phục vụ quá trình debug tiếp theo. Mục đích của việc sử dụng chính file cacl.exe bị lây nhiễm để phục vụ quá trình debug là do:
    • Chúng ta đã có đầy đủ thông tin về file gốc ban đầu: kích thước, giá trị các trường trong  PE, …
    • Dễ dàng so sánh sự khác biệt giữa hai file để tốc độ debug nhanh chóng hơn
  2. Quay lại trạng thái cho máy ảo như trước khi chạy mẫu virus, sau đó chúng ta copy mẫu virus vừa thu được (calc.exe) vào môi trường này.
  3. Như vậy, sau giai đoạn theo dõi, chúng ta đã thu thập được mẫu virus, biết được một phần đặc tính lây lan của nó để phục vụ cho quá trình phân tích dễ dàng và nhanh chóng hơn.

Trong bài tới tôi sẽ tiếp tục với việc phân tích và diệt mẫu virus này. Bài viết sẽ được cập nhật tại đây.
Phân tích mẫu virus lây file cụ thể Win32/Expiro – P2
Phân tích mẫu virus lây file cụ thể Win32/Expiro – P3

Chia sẻ bài viết này