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

    Bài viết hướng dẫn các bạn cách phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab14-01

    Phân tích mã độc Lab14-01 trong cuốn sách Practical Malware Analysis

    Practical Malware Analysis: https://nostarch.com/malware

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

    Phân tích

    Khi thực thi, Lab14-01.exe thực hiện các hành vi:

    • Lấy cấu trúc hardware profile thông qua hàm GetCurrentHwProfileA, sau đó ghép các phần tử từ HwProfileGuid[25] – HwProfileGuid[36] trong cấu trúc HwProfileInfo trả về thành định dạng giống một địa chỉ MAC: HH:HH:HH:HH:HH:HH
    • Lấy username của người dùng hiện tại (thông qua hàm GetUserNameA), và ghép chuỗi string định dạng giống địa chỉ MAC từ thao tác trên với username vừa lấy được. Nếu không lấy được username, kết thúc thực thi.
    • Đưa chuỗi string dạng HH:HH:HH:HH:HH:HH-username vào hàm mã hóa Base64. Hàm mã hóa Base64 này sử dụng ký tự ‘a’ thay cho ký tự ‘=’ khi paddinglab1401
    • Lấy ký tự cuối của chuỗi string sau khi mã hóa Base64, ghép chuỗi thành một URL hoàn thiện theo định dạng http://www.practicalmalwareanalysis.com/%s/%c.png với %s là chuỗi string sau khi mã hóa Base64 và %c là ký tự cuối cùng của chuỗi đó. Do hàm mã hóa Base64 sử dụng ký tự ‘a’ làm padding, trong nhiều trường hợp, %c là ký tự ‘a’.
    • Sử dụng URL vừa ghép làm đầu vào hàm URLDownloadToCacheFileA. Như vậy, mã độc thực hiện tải nội dung file http://www.practicalmalwareanalysis.com/%s/%c.png vào một cache file, hàm URLDownloadToCacheFileA trả về địa chỉ của cache file vừa tải.
    • Địa chỉ cache file được truyền vào hàm CreateProcessA. Nếu hàm này được gọi thành công, mã độc kết thúc thực thi. Nếu không, mã độc sleep trong 60s và lặp vô tận thao tác gọi hàm [URLDownloadToCacheFileA -> CreateProcessA] cho đến khi CreateProcess thành công.
    • Tại thời điểm phân tích, khi mã độc thực hiện HTTP request tới http://www.practicalmalwareanalysis.com/%s/%c.png, HTTP response luôn trả về StatusCode là 404, Not found. Vì vậy, mã độc lặp vô tận thao tác URLDownloadToCacheFileA -> CreateProcessA
    • Như vậy, Lab14-01.exe hoạt động như một downloader, tải về và kích hoạt các thành phần độc hại khác.

    lab1412

    Phát hiện

    Lab14-01.exe có thể được phát hiện bằng signature:

    • 20 byte từ file offset 4216, là đoạn padding bằng ký tự ‘a’ trong hàm mã hóa Base64

    lab1413

    • 20 byte từ file offset 4617, là một đoạn trong hàm thao tác URLDownloadToCacheFileA-CreateProcess

    lab1414

    Gỡ bỏ

    • Chỉ cần xóa file Lab14-01.exe

    lab1415

    Tổng hợp chuyên đề phân tích mã độc =>> CLICK XEM NGAY

    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...