18/09/2018, 15:58

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

Chuyên đề phân tích mã độc đang được rất nhiều bạn đọc quan tâm, tiếp nối chuyên đề này SecurityBox sẽ tiếp tục hướng dẫn các bạn Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab13-01 qua bài viết dưới đây. Phân tích mã độc Lab13-01 trong cuốn sách Practical ...

lab132

Chuyên đề phân tích mã độc đang được rất nhiều bạn đọc quan tâm, tiếp nối chuyên đề này SecurityBox sẽ tiếp tục hướng dẫn các bạn Phân tích, phát hiện và gỡ bỏ mã độc Practical Malware Analysis Lab13-01 qua bài viết dưới đây.

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

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

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

Phân tích

Lab13-01.exe thực hiện các hành vi:

  • Giải mã XOR nội dung resource section RCDATA 0065 0409 với key là 0x3B để lấy địa chỉ URL http://practicalmalwareanalysis.com

lab131

lab132

  • Mở một socket, lấy hostname (gethostname) và mã hóa Base64 hostname vừa lấy được; sau đó kết nối tới URL trên sử dụng phương thức GET với định dạng [GET /encoded-string/] với UA là Mozilla/4.0.  Như ta thấy trong URI, encoded-string là “YW5obnYtM2MyZTUy”.

lab134

  • Tải URL và so sánh ký tự đầu tiên trong dữ liệu nhận được với ký tự “o”, nếu ký tự đầu tiên trong dữ liệu nhận được là “o”, hàm tải URL trả về 1; nếu không, trả về 0

lab133

  • Lặp vô hạn chuỗi thao tác: Sleep 0.5s -> tải URL -> Sleep 30s cho đến khi hàm tải URL trả về 1 (ký tự đầu tiên trong dữ liệu nhận được là “o”)
  • Sau khi thoát khỏi vòng lặp trên, mã độc kết thúc thực thi

lab135

Như vậy, Lab13-01.exe thực hiện gửi tín hiệu về C&C server thông báo rằng nó đang hoạt động, với định danh là hostname của máy tính nạn nhân. Khi nhận được response thích hợp (dữ liệu có ký tự “o” là giá trị ascii byte đầu tiên), mã độc kết thúc thực thi.

Phát hiện

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

  • 20 byte từ file offset 4650, là đoạn mã hóa Base64 hostname chuẩn bị cho phương thức GET

lab136

  • 20 byte từ fileoffset 5014, là đoạn trích xuất resource section RCDATA 0065 và gọi hàm giải mã XOR

lab137

Gỡ bỏ

Mã độc không có hành vi leo thang đặc quyền hay cài đặt persistence nên ta chỉ cần xóa bỏ file thực thi của mã độc

lab138

Đón đọc chuyên đề Giải mã mật khẩu TẠI ĐÂY

0