18/09/2018, 15:21

PHÂN TÍCH MÃ ĐỘC – LAB 06 – PRACTICAL MALWARE ANALYSIS (PHẦN 1)

Để hiểu tổng thể chức năng của một chương trình bằng cách phân tích cấu trúc tập lệnh ở bài viết này chuyên gia an ninh mạng Bùi Đình Cường sẽ gửi đến bạn đọc những ví dụ cụ thể. Mỗi ví dụ sẽ có phương pháp tiếp cận và phân tích về mã độc mới. Các ví dụ sau được xây dựng trên cơ sở ...

Để hiểu tổng thể chức năng của một chương trình bằng cách phân tích cấu trúc tập lệnh ở bài viết này chuyên gia an ninh mạng Bùi Đình Cường sẽ gửi đến bạn đọc những ví dụ cụ thể.  Mỗi ví dụ sẽ có phương pháp tiếp cận và phân tích về mã độc mới. Các ví dụ sau được xây dựng trên cơ sở ví dụ trước đó và tăng thêm tính phức tạp với các cấu trúc khác nhau. Với cấu trúc Lap 01 chúng ta lần lượt đến với các câu hỏi: Đâu là cấu trúc mã nguồn chính được tìm thấy trong chương trình con từ lời gọi hàm main? Chương trình con ở địa chỉ 0x40105F giải quyết nhiệm vụ gì? Mục đích chính của chương trình là gì?

  1. Đâu là cấu trúc mã nguồn chính được tìm thấy trong chương trình con từ lời gọi hàm main?

Hàm duy nhất được gọi từ _main là hàm sub_401000. Cấu trúc code của nó là một lệnh if kiểm tra kết nối Internet (hàm InternetGetConnectedState() của WinAPI ⇒  Kiểm tra trên MSDN xem có đúng kết quả InternetGetConnectedState ở dạng 0-1 (và lưu trong EAX) không ⇒ ĐÚNG! https://msdn.microsoft.com/en-us/library/windows/desktop/aa384702(v=vs.85).aspx)

lAB 1.1

LAB 1.2

LAB 1.3

LAB 1.4

  1. Chương trình con ở địa chỉ 0x40105F giải quyết nhiệm vụ gì?

Bước 1: sub_40105F gọi __stbuf và __ftbuf

lab 1.5

lab 1.6

Bước 2: __stbuf kiểm tra thông tin gì đó, ta chưa cần quan tâm kĩ. sub _401282 liên quan đến hoạt động đọc/ghi file, gán kết quả vào: v3

lab 1.7Bước 3: _ftbuf gọi _flush.

lab 1.8

Bước 4: _flush gọi _write

lab 1.10

Bước 5: _write gọi hàm WinAPI WriteFile

lab 12

Như vậy, về tổng quan, sub_40105F thực thi một loại các thao tác kiểm tra để thực hiện hành vi ghi dữ liệu ra file.

  1. Mục đích chính của chương trình là gì?

Quan sát hàm: sub_401000 và ý nghĩa hàm sub_40105F, chúng ta có thể khẳng định chương trình thực hiện kiểm tra kết nối Internet và ghi thông báo vào file.

Để hiểu sâu về kiến thức phân tích mã độc bạn hãy đọc thêm bài viết : PHÁT HIỆN CẤU TRÚC CODE C TRONG HỢP NGỮ 

XEM TIẾP:  PHÂN TÍCH MÃ ĐỘC – LAB 06 – PRACTICAL MALWARE ANALYSIS (Phần 2)

0