Cùng phân tích mã độc ProfileVisitor - vẫn là đào coin bằng trình duyệt 15/03/2021

Chiều hôm qua mình có đọc 1 bài cảnh báo của Mạnh Tuấn trong group J2Team tại đây

https://www.facebook.com/groups/j2team.community/permalink/1524022037929911/

Mới đầu mình cũng không có để ý cho lắm, vì thực ra mình không chuyên mảng bảo mật, phân tích dịch ngược này. Múa rìu qua mắt thợ người ta cười cho.

Nhưng khoảng 2 tiếng sau mình lại thấy một bài post của Tuấn trên trang cá nhân (https://www.facebook.com/J2TEAM.ManhTuan/posts/1909208129218517)

Mình có tiện hỏi công cụ phân tích việc tạo/xoá file của các process thì Tuấn có bật mí là con trojan này được code bằng AutoIT

Bản thân mình cũng là một người yêu thích AutoIT và học nó gần như là ngôn ngữ lập trình đầu tiên (sau Pascal) nên khá là hứng thú. 

Hôm nay tiện đang rảnh nên ngồi vọc vạch em nó ra để xem em nó có gì hay. 

Đầu tiên tất nhiên là mình tạo máy ảo cho yên tâm cái đã.

Sau khi copy vào môi trường máy ảo. Mình thử ngay dịch ngược mã nguồn em nó ra xem có làm gì đc ko.

Với AutoIT thì hầu hết đều có thể dịch ngược được. Quan trọng có giải mã đc Obfuscate hay không thôi.

Dùng myAutToExe để dịch ngược thì được luôn. Nhưng sau khi mở mã nguồn đã dịch ngược thì hú hồn, hoa mắt chóng mặt vì cấp độ Obf của nó rất cao, đến tận từng string và value



Nhìn sơ qua thì có rất nhiều function và var được khai báo nhưng không sử dụng (mục đích làm rối code)

Mình có viết 1 đoạn script để loại bỏ các function và var này (bằng AutoIT luôn). Tuy nhiên sau khi loại bỏ phần dư thừa. Compile thành exe thì mình chạy lên process sẽ tự đóng. Mình nghĩ trong code đã có những function kiểm tra và thoát chương trình. Vì vậy mình tạm thời bỏ qua cách này. Quay ra phân tích hoạt động của nó

Mình sử dụng 4 công cụ:

  • HTTPDebuggerPro
  • ProcessMonitor
  • ProcessExplorer
  • và Windows_File_ToolsV1-0 do Mạnh Tuấn chỉ

Sau khi chạy con trojan. Mình kiểm tra trên HTTPDebuggerPro. Thì thấy có 3 request đến 1 domain là okim.me


1. Phân tích Request

Request đầu đến /login.php bằng method HEAD cùng với đó gửi kèm khá nhiều header khác thường như User-Agent, OS, Version...

Trả về của request HEAD đương nhiên cũng chỉ có HEADER với các thông số như ảnh

Ta chú ý có 2 giá trị là zip và unzip. Đây là đường dẫn của 2 file sẽ tải về máy. Bằng cách này thì con trojan có thể thay đổi chính nó sau này bằng cách đổi giá trị zip ở return header

Sau đó 2 request phía dưới lần lượt tải 2 file về máy. Tuy nhiên cũng phải dùng User-agentAutoIT mới có thể load về đc




7za.exe nhìn qua đã thấy là phần mềm 7zip. còn files.7z là gói nén mã độc

Mình lại xem bên Windows File Tool thì đầu tiên nó sẽ giải nén ra vào thư mục 

C:\Users\TESTING\AppData\Roaming\TESTING (Với TESTING là tên user Windows)

Sau đó dùng 7za.exe giải nén ra được những file sau



Sau đó thay đổi tham số mặc định khi run Chrome thành

"C:\Program Files\Google\Chrome\Application\chrome.exe" --enable-automation --disable-infobars --disable-blink-features=AutomationControlled --load-extension=C:\Users\TESTING\AppData\Roaming\TESTING



Tức là nó sẽ load addon đã giải nén ở thư mục trên mỗi khi chạy Chrome

Ngoài ra nó còn can thiệp cả vào thư mục của IE. Mình suy đoán có thể là can thiệp vào Edge (Edge mới cũng sử dụng lõi Chromium như Google Chrome)

Ngoài ra nó còn can thiệp vào Startup để đặt nó khởi động cùng Windows

2. Phân tích Addon

Như đã thấy thì addon đó được nén trong files.7z

Mình thử giải nén thì phát hiện là có đặt password. 


Dù sao nó cũng sẽ giải nén tự động tuy nhiên mình cũng check qua Process Monitor để tìm cmdline của 7za.exe thì thấy được mật khẩu giải nén


chính là đoạn sau -p đó ạ

Ngó qua 3 files
  1. manifest.json
  2. config.json
  3. background.js
thì ta thấy vài thứ đáng nghi. Tuy nhiên vì kiến thức về addon không có nhiều nên mình chỉ ngó sơ qua và liệt kê ở đây những gì mình thấy


File js được obf sơ sài

Ta thấy là có 1 url sau khi chắp nối là pube.me/config
Khi truy cập thì nhận được đoạn json dưới đây với hash/token thay đổi mỗi lần request (chắc liên quan đến đào coin)
Và truy cập pool.okim.me:3333 chắc cũng liên quan tới việc đào coin thôi. Ở đây ta có user và pass không biết có thể làm gì ko?


Về cái này chắc phải để chuyên gia Mạnh Tuấn phân tích sâu hơn

3. Phân tích domain


1. okim.me
Con này truy cập lại là 1 trang rút gọn link
Whois thì ra các thông tin là domain đã tạo được 1 năm tại namecheap, và đến 21/3 này hết hạn. Tuy nhiên mình nghĩ chủ của nó sẽ để auto renew thôi. Domain sử dụng cloudflare và private whois info


Lookup dns một chút thì mình phát hiện mail.okim.me có A record về IP của DigitalOcean, một nhà cung cấp máy chủ giá rẻ khá nổi tiếng. Với ip là 167.172.224.162 
Đến đây mình chưa biết làm gì tiếp với nó :D 

2. pube.me
Domain này cũng là 1 trang rút gọn link. Và whois lookup không có gì đặc biệt nên mình skip. Không loại trừ 2 domain này trỏ về chung server

4. Cách loại bỏ con trojan này khỏi máy

Đầu tiên mình dùng ProcessExplorer kill cái process gốc này đi. Kill cả process tree đi


Truy cập đường dẫn phía trên
C:\Users\TESTING\AppData\Roaming\TESTING

Xoá hết các file ở đây đi



Mở TaskManager, tắt hết startup này đi



Tiến hành gỡ Chrome cài lại

Tiến hành đổi mật khẩu Facebook để vô hiệu hoá access token cũ


Các bạn có phân tích thêm được gì cùng chia sẻ nhé!



Mới hơn Cũ hơn