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:\WINDOWS\System32\inet_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)
- Sửa đổi section .text của file C:\WINDOWS\System32\cisvc.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:\WINDOWS\System32\cisvc.exe (312 bytes shellcode tính từ fileoffset E28)
- 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:\WINDOWS\System32\kernel64x.dll (hard-coded) với định dạng “[Current Windows Title]: [Virtual-Key Codes]”
- Sleep trong 0.01s giữa mỗi lần ghi file
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.
- 20 byte tính từ file offset 4873, là đoạn gọi hàm sửa file từ hàm main
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
- 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.
Gỡ bỏ
- Xóa file Lab11-03.exe
- Kill handle và xóa Lab11-03.dll hoặc C:\WINDOWS\System32\inet_epar32.dll
- Kill handle và xóa C:\WINDOWS\System32\kernel64x.dll
- Kill handle và sửa 312 byte shellcode tính từ fileoffset E28 (3624) của file C:\WINDOWS\System32\cisvc.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)
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