Phân tích mã độc trên Facebook Messenger tháng 12/2017
Bài viết gốc đăng trên junookyo Mấy hôm nay trên Facebook đang có con malware lây lan thông qua Messenger, lâu rồi tớ cũng không viết mấy bài phân tích kĩ thuật nên cũng ngứa tay nên kiếm thử một mẫu về phân tích viết bài chơi. Tổng quan về con malware mới trên Facebook Tên ...
Bài viết gốc đăng trên junookyo
Mấy hôm nay trên Facebook đang có con malware lây lan thông qua Messenger, lâu rồi tớ cũng không viết mấy bài phân tích kĩ thuật nên cũng ngứa tay nên kiếm thử một mẫu về phân tích viết bài chơi.
Tổng quan về con malware mới trên Facebook
Tên tập tin có dạng: video_XXX.zip hoặc sex_video_XXX.zip
Giải nén file ZIP này ra sẽ được một tập tin có tên dạng: Video.XXX.mp4.exe
Trong đó, XXX là các số ngẫu nhiên.
Tỉ lệ phát hiện từ VirusTotal: 32/68
Dựa theo tên định danh của một số AV và kết quả phân tích của ExeInfo PE thì tập tin EXE này được viết bằng AutoIt.
Theo thông tin hành vi của con malware được phân tích bởi VirusTotal, ta có thể thấy một số hành động khả nghi:
- Tạo ra một tập tin với tên GoogleUpdater.exe – chúng ta có thể thấy tên này giả mạo trình cập nhật của trình duyệt Google Chrome.
- Thực thi lệnh để mở trình duyệt Chrome với những tham số đặc biệt, trong đó có thể thấy con malware này vô hiệu thanh hiển thị thông tin của Chrome và cài đặt thêm một extension mới.
- Thực hiện một truy vấn HTTP tới một URL được chỉ định, sử dụng một User-Agent tùy chỉnh (“Miner”). Nghe đã thấy có vẻ dính dáng gì đó tới việc đào tiền ảo. Nhất là khi dạo này BitCoin đang khá là hot.
Dựa theo báo cáo tạo ra bởi Falcon Sandbox (v7.20) – Hybrid Analysis, chúng ta có thêm những thông tin sau:
Quá nhiều thông tin chỉ ra rằng con malware này quả nhiên có sử dụng máy nạn nhân để đào tiền ảo.
Phân tích chi tiết malware: Downloader
Như thông tin chúng ta đã có được thì con malware này được viết bằng ngôn ngữ AutoIt (đáng buồn khi đây là một trong những ngôn ngữ tớ thích). Thực hiện việc dịch ngược bằng các công cụ phổ biến. Chúng ta có được mã nguồn đã bị Obfuscate.
Tớ không mất nhiều thời gian lắm cho việc deobfuscate bằng cách tận dụng chính một hàm trong mã nguồn của con malware.
Dựa theo mã nguồn, chúng ta thấy control flow của con malware như sau:
Tải config từ server. File config này chỉ đọc được nếu truy vấn có User-Agent là “Miner”. Nếu không, nó trả về chuỗi “denied”.
Tải về những file được chỉ định trong config.
Sao chép chính nó (file EXE) vào đường dẫn: C:Users<USER>AppDataRoaming<USER>GoogleUpdater.exe (sử dụng tên file giả mạo trình cập nhật Google Chrome)
Tạo khóa register để tự động chạy khi Windows khởi động. Đồng thời đóng tiến trình chrome.exe
Thay đổi toàn bộ lối tắt (shortcut) các chương trình đang có trên Taskbar thành shortcut của Chrome với một vài tham số đặc biệt để cài đặt thêm extension chứa mã độc.
Thực thi tiến trình đào tiền ảo (chạy nền).
Phân tích chi tiết malware: Extension
Trong phần này, chúng ta sẽ đi vào phân tích extension độc hại được cài thêm vào Google Chrome. Hãy cùng xem nó sẽ làm những gì trên trình duyệt của người dùng.
Dựa theo thông tin từ phần trên, các tập tin được tải về thuộc thành phần của một extension là:
- manifest.json
- background.js
- jquery.min.js
Trong đó, manifest.json là file khai báo thông tin cho extension. File jQuery được tải thẳng từ CDN của Google (ajax.googleapis.com) nên hiển nhiên là nó an toàn. Vậy nên chúng ta sẽ phân tích ngay tập tin quan trọng nhất: background.js
Hàm đầu tiên để khóa các tab có protocol bắt đầu bằng chrome:, có thể đoán được là muốn ngăn người dùng truy cập chrome://extension để gỡ bỏ extension này.
Sử dụng webRequest API để chặn các endpoint như trong hình trên, dựa theo ngữ nghĩa của các chuỗi, chúng ta có thể thấy mục đích của đoạn code trên là để chặn người dùng xóa, sửa bài viết, bình luận và tin nhắn spam; cập nhật quyền riêng tư; cài đặt công cụ dọn dẹp Chrome hay tải công cụ quét mã độc do Facebook cung cấp.
Đoạn này cho thấy extension sẽ log lại tài khoản Facebook của người dùng. Kịch bản tấn công ở đây là: Xóa toàn bộ cookie của Facebook khiến người dùng đăng xuất > Người dùng đăng nhập lại > Tài khoản được log lại và gửi về server.
Đoạn code cuối trong file background, khá là hay ho. Nó sẽ thay đổi mọi liên kết mà người dùng chia sẻ lên Facebook thành liên kết rút gọn (kiếm tiền) thông qua API của trang won.pe và việc nó chặn khả năng xóa bài viết của người dùng ở trên hẳn là để chuẩn bị cho việc này.
Cách ngăn chặn malware
Dựa theo các thông tin đã có trong bài phân tích này, các bạn có thể thấy mục tiêu của con malware này là nhắm vào nhóm đối tượng sử dụng Windows và dùng trình duyệt Google Chrome (hoặc các trình duyệt dựa trên Chromium).
Tức là nếu bạn dùng Linux, Mac hoặc có lỡ tải file chứa malware từ điện thoại thì cũng không có gì đáng lo.
Vậy nếu tôi dùng Windows nhưng sử dụng trình duyệt Firefox (hoặc IE) thì sao?
– Bạn đừng quên là ngoài extension nhắm vào Chrome thì con malware này vẫn tải về một miner để chạy ngầm đào tiền nhé!
Các bạn có thể sử dụng J2TEAM Security để được bảo vệ trước loại malware này. Nó sẽ chặn ngay quá trình tải về nếu bạn nhỡ tay nhấn vào liên kết trong Messenger.
Ngoài ra, tớ đang sử dụng Kaspersky (KIS) và thấy nó đã cập nhật mẫu malware này. Các bạn cũng có thể kiểm tra xem đã có những AV nào nhận diện được mẫu malware này tại đây.
Tôi đã lỡ tay thực thi file EXE, giờ phải làm sao?
Tớ đã viết một đoạn script nhỏ bằng chính AutoIt để diệt con malware viết bằng… AutoIt. Cái này gọi là “lấy độc trị độc” đó :v
Tải script: https://gist.github.com/J2TeaM/f8960cd4a00ed4323b95194303df9674
(Các bạn tải AutoIt về để chạy script trên nhé!)
Team I-TECH cũng có viết bài hướng dẫn xử lý thủ công tại đây.
Bonus: Hack vào server của hacker
Trong quá trình phân tích con malware, anh Killer có phát hiện ra server chứa config của malware dính lỗ hổng bảo mật cho phép chúng tớ có thể LẤY TOÀN BỘ DỮ LIỆUtrên server của hacker.
Một số thông tin thú vị:
Có hơn 267.000 nạn nhân trên Facebook.
Hơn 1200 tên miền đã được đăng ký để làm máy chủ C&C cho malware.