18/09/2018, 15:58

Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab11-03

SecurityBox tiếp tục gửi đến các bạn Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab11-03 qua bài viết dưới đây Phân tích Lab11-03 gồm các file Lab11-03.exe và Lab11-03.dll Lab 11-03.dll export hàm duy nhất với tên zzz69806582 Lab11-03.exe thực ...

lab1134

SecurityBox tiếp tục gửi đến các bạn Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab11-03 qua bài viết dưới đây

Phân tích

Lab11-03 gồm các file Lab11-03.exe và Lab11-03.dll

Lab 11-03.dll export hàm duy nhất với tên zzz69806582

Lab11-03.exe thực hiện các hành vi:

  • Copy Lab11-03.dll vào thư mục System32 với tên C:WINDOWSSystem32inet_epar32.dll (hard-coded, tên file này đặc trưng cho mã độc này và không được dùng bởi bất cứ DLL sạch nào)

lab1131

  • Sửa đổi section .text của file C:WINDOWSSystem32cisvc.exe (hard-coded). (cisvc.exe là trình quản lý dịch vụ đánh chỉ mục trên Windows XP hoặc Windows Server 2003. Như vậy, mã độc chỉ chạy đúng trên các phiên bản Windows XP-based hoặc Server 2003-based). Lab11-03.exe thêm đường dẫn của inet_epar32.dll và tên hàm zzz69806582 vào cuối segment IMPORT Hints/Names & DLL Names trong section .text của file C:WINDOWSSystem32cisvc.exe (312 bytes shellcode tính từ fileoffset E28)

lab1132

  • Chạy lệnh “net start cisvc” để khởi chạy service cisvc
  • Mỗi khi service cisvc khởi chạy, cisvc.exe sẽ nạp inet_epar32.dll

inet_epar32.dll khi được nạp sẽ thực hiện các hành vi:

  • Tạo một thread mới gọi chính nó
  • Log hoạt động của user vào file C:WINDOWSSystem32kernel64x.dll (hard-coded) với định dạng “[Current Windows Title]: [Virtual-Key Codes]”

lab1133

  • Sleep trong 0.01s giữa mỗi lần ghi file

lab1134

Service cisvc khởi chạy dưới chế độ manual, tức là sau khi reboot hệ thống, logger không tự động thực thi, có thể xóa trực tiếp các file inet_epar32.dll và kernel64x.dll

Phát hiện

Lab11-03.exe có thể phát hiện bằng signature:

  • 20 byte tính từ file offset 4450, là đoạn code tìm kiếm section .text của file cisvc.exe để sửa file.

lab1135

  • 20 byte tính từ file offset 4873, là đoạn gọi hàm sửa file từ hàm main

lab1136

Lab11-03.dll có thể phát hiện bằng signature:

  • 20 byte tính từ file offset 4374, là một phần của đoạn memcpy Virtual-Key Code trong hàm KeyLog

lab1137

  • 20 byte tính từ file offset 5104, là đoạn ghi dữ liệu keylog vào file kernel64x.dll và sleep 0.01s.

lab1138

Gỡ bỏ

  • Xóa file Lab11-03.exe

lab1139

  • Kill handle và xóa Lab11-03.dll hoặc C:WINDOWSSystem32inet_epar32.dll
  • Kill handle và xóa C:WINDOWSSystem32kernel64x.dll
  • Kill handle và sửa 312 byte shellcode tính từ fileoffset E28 (3624) của file C:WINDOWSSystem32cisvc.exe bằng 312 byte 0 (0x00) (có thể sửa trực tiếp bằng fileoffset mà không cần tìm vị trí cuối segment IMPORT Hints/Names & DLL Names trong section .text của file vì mã độc được thiết kế cụ thể để sửa đổi file này)

lab11320

XEM THÊM: Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab11-02

Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab11-01

0