Mục lục bài viết || Contents of the article

    Cùng chuyên gia an ninh mang SecurityBox Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab12-01 qua bài viết dưới đây.

    Phân tích mã độc Lab12-01 trong cuốn Practical Malware Analysis của Andrew Honig và Michael Sikorski (https://nostarch.com/malware)

    Mẫu mã độc của Lab12-01 có thể tải về từ: https://github.com/mikesiko/PracticalMalwareAnalysis-Labs

    Phân tích

    Lab12-01 gồm các file cần phân tích: Lab12-01.exe và Lab12-01.dll

    Khi thực thi, Lab12-01.exe hiện một message box định kỳ mỗi phút với windows title là “Practical Malware Analysis [n]“(n là số lần hiện message box từ khi mã độc được thực thi), thông báo “Press OK to reboot” và nút OK. Khi click vào nút OK, message box chỉ được đóng lại mà không có hiện tượng nào khác xảy ra.

    lab121

    Sử dụng các công cụ theo dõi tiến trình như ProcMon và Process Explorer không thu thập được thông tin gì hữu ích về mã độc.

    Phân tích file thực thi bằng IDA Pro, tại đầu hàm _main, mã độc lưu địa chỉ hàm của các hàm EnumProcessModules,  GetModuleBaseNameA và EnumProcesses của thư viện psapi.dll vào các con trỏ hàm, sau đó gọi hàm EnumProcesses để lấy PID của mọi tiến trình đang được thực thi trong hệ thống.

    lab122

    Với danh sách các PID vừa lấy được, mã độc thực hiện dịch tên tiến trình từ PID thông qua hàm GetModuleBaseNameA và so sánh với string “explorer.exe”. Như vậy, đầu tiên, mã độc thực hiện tìm kiếm tiến trình explorer.exe trong bộ nhớ.

    lab123

    Khi tìm được tiến trình explorer.exe, mã độc thực hiện ghi một buffer vào vùng nhớ của tiến trình explorer.exe. Buffer trước đó đã được gán giá trị là đường dẫn tới file Lab12-01.dll trong cùng thư mục với file thực thi của mã độc. Mã độc tạo một thread explorer.exe mới nạp Lab12-01.dll và kết thúc thực thi. Như vậy, kết luận Lab12-01.exe thực hiện DLL injection ép tiến trình explorer.exe nạp thư viện Lab12-01.dll nằm trong cùng thư mục với file thực thi mã độc.

    lab124

    Phân tích Lab12-01.dll. Mã độc lặp vô tận thao tác tạo thread hiện message box với tiêu đề và nội dung như đã quan sát được tại bước quan sát thực thi ban đầu. Sau mỗi lần tạo message box, mã độc ngủ 60s và lặp lại thao tác trên.

    lab125

    lab127

    Phát hiện

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

    • 20 byte từ fileoffset 4245, là đoạn tìm kiếm process explorer.exe theo tên

    lab126

    • 20 byte từ fileoffset 4826, là đoạn code thực hiện process injection trên explorer.exe

    lab128

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

    • 20 byte từ fileoffset 4114, là đoạn code thực hiện in thông báo “Press OK to reboot”

    lab129

    • 20 byte từ fileoffset 4195, là đoạn tạo thread mới hiển thị thông báo spam và ngủ 60s

    lab1210

    Gỡ bỏ

    Đối với Lab12-01.exe, chỉ cần xóa bỏ file thực thi và thêm file Lab12-01.dll trong cùng thư mục như là mã độc liên quan.

    lab1211

    Đối với Lab12-01.dll, xóa file Lab12-01.dll và restart tiến trình explorer.exe.

    lab1212

    Tổng hợp phân tích mã độc Lab11 TẠI ĐÂY

    Bài viết đề xuất || Recommended
    Không chỉ website của doanh nghiệp nhỏ mà ngay cả website của nhiều tổ chức, doanh nghiệp lớn tại Việt Nam cũng đã từng bị xâm nhập. Thực trạng này dẫn...
    Kiến thức | 24/03/2021
    Một trong những chìa khóa để kinh doanh online thành công là bảo mật website của doanh nghiệp.  1. Lý do doanh nghiệp kinh doanh online cần đẩy mạnh bảo mật...
    Kiến thức | 24/03/2021
    Bảo mật website hiện đang là yêu cầu cấp thiết với mọi doanh nghiệp. Theo đó, các đơn vị an ninh mạng cũng cho ra đời nhiều dịch vụ bảo mật website đa...