Có gì bên trong mã độc Android đánh cắp tiền ngân hàng tại Việt Nam

Xin chào các bạn, hôm nay cuối tuần rảnh rỗi mới nhớ ra thời gian gần đây, có rất nhiều trường hợp khách hàng của các ngân hàng báo với cơ quan chức năng rằng không thao tác chuyển tiền nhưng tài khoản ngân hàng bỗng dưng mất tiền, trường hợp mất nhiều có thể lên tới hàng tỷ đồng, vậy thì nguyên nhân đến từ đâu? Mời các bạn cùng tôi tìm hiểu trong bài viết này!

Nếu các bạn có theo dõi tin tức thì các nạn nhân mất tiền trong tài khoản ngân hàng đều sử dụng ANDROID và nhận được các cuộc gọi hướng dẫn cài đặt các phần mềm không nằm trong chợ ứng dụng, mà từ các đường link tải và cài đặt file APK từ bên ngoài. Ví dụ ở đây, tháng trước fanpage của WhiteHat cũng có bạn nhờ tôi kiểm tra một ứng dụng tương tự, khi cài đặt vào có tên: “THUẾ ĐIỆN TỬ”. Dựa vào các thông tin tôi biết thì đây là chiến dịch lừa đảo giả mạo các ứng dụng Chính Phủ, Tổng cục Thuế, các ứng dụng tiện ích, quản lý dữ liệu nhắm vào Việt Nam.

Điều quan trọng nhất ở đây đó là sau khi được cài đặt vào máy, ứng dụng giả mạo này sẽ liên tục yêu cầu người dùng kích hoạt quyền “Trợ Năng” – Accessbility. Tôi đã thử cấp quyền này cho ứng dụng, thì phát hiện ứng dụng này có rất nhiều điều bất thường:

  1. Luôn hiển thị thông báo trên thanh thông báo
  2. Khi vào phần Cài đặt -> Ứng dụng và bấm vào ứng dụng giả mạo (mục đích là để xem thông tin) thì màn hình tự động quay trở về màn hình chính (home).
  3. Liên tục kết nối tới một địa chỉ IP.
  4. Máy hoạt động liên tục, rất nóng, hao pin.
uip.png

Đến đây đã có rất nhiều điểm đáng ngờ, vì vậy tôi bắt đầu phân tích ứng dụng giả mạo này.

Sử dụng công cụ JADX để decompile ứng dụng android giả mạo này, tôi phát hiện 4 payload, bao gồm 3 payload có tên bắt đầu bằng ký tự “o” và kết thúc bằng 2 ký tự “bf”, 1 payload có tên “tg.iapk”.

Những gì ứng dụng giả mạo này thực hiện đó là lấy đường dẫn hiện tại và tạo thư mục “newobfs“, sau đó trích xuất thông tin từ resource file, giải mã 3 payload (sử dụng thuật toán xor) trên thành 0.pobfs, 1.pobfs, 2.pobfs ra thư mục này và thực thi trên bộ nhớ.

2.png

Sau khi giải mã bằng thuật toán của ứng dụng giả mạo này, tôi thu được 3 file có định dạng “dex”:

3.png

Những payload này chủ yếu có các chức năng liên quan đến xử lý hình ảnh, xử lý database sql, kiếm tra quyền root của thiết bị, gửi và nhận dữ liệu thông qua nhiều giao thức khác nhau: HTTP, UDP, TCP…

4.png

Kiểm tra quyền accessbility và thu thập các thông tin deviceNo, deviceId, osVersion, imei … của thiết bị:

5.png

Sau đó, ứng dụng giả mạo gửi các thông tin này đến C&C, địa chỉ C&C được mã hóa bằng RSA:

6.png

READ  Quét diệt virus autorun ẩn trên máy tính

Ứng dụng giả mạo giải mã các domain, URL:

decrypt.png

Kết quả giải mã thu được 2 domain: “myecat1[.]ieasyclick[.]net” và “myecat1[.]ieasytest[.]net”.

Ngoài ra, các payload này còn thu thập thêm nhiều thông tin và ứng dụng khác trên máy, nhưng tôi sẽ tập trung vào phân tích payload thứ 4: tg.iapk.
Payload này được trích xuất từ resource, extract sau đó giải mã bằng thuật toán XOR:

8.png

Thuật toán giải mã:

9.png

Khi được cấp quyền trợ năng – accessbility, ứng dụng giả mạo này sẽ tự động cấp cho chính nó các quyền thông thường khác, ví dụ: danh bạ, bộ nhớ, tin nhắn, cuộc gọi… Ứng dụng này sẽ tạo một cửa sổ hiển thị dạng overlay, có nghĩa là hiển thị lên trên tất cả các ứng dụng khác.

overlay.png

Mục đích của cửa sổ này rất rõ ràng đó là:

  1. Đọc nội dung từ màn hình của bất kỳ ứng dụng nào
  2. Đọc nội dung từ nút mà người dùng chạm vào
  3. Tìm một nút, trường thông tin mong muốn để thực hiện một hành động, vd: ấn nút
  4. Mô phỏng thao tác chạm vào màn hình

Tiếp theo, ứng dụng giả mạo này sẽ chờ lệnh và thực thi rất nhiều chức năng độc hại khác nhau, sau khi phân tích, tôi phát hiện khoảng 90 lệnh độc hại.

11.png

Danh sách các lệnh và chức năng cụ thể như sau:

STT Lệnh Mô tả/Chức năng
1 accStatus Trạng thái của Accessibility
2 appDetail Thay đổi các thiết đặt setting của app
3 permission Xin tất cả các quyền
4 openMe Mở lại app
5 capturePermission Xin quyền chụp ảnh màn hình
6 floatPermission Xin quyền hiển thị trên các cửa sổ app khác
7 autoBoot Tắt tính năng khởi động lại
8 allPermission Chưa xác định chức năng
9 closePlay Đóng GooglePlay
10 installApk Cài đặt Apk
11 startCam Mở camera
12 setCam Chụp ảnh
13 stopCam Đóng camera
14 readContactList Đọc danh bạ
15 readAlbumList Đọc danh sách album các file names
16 readAlbumLast Đọc danh sách album các file names đã xóa
17 readAlbumThumbnail Đọc album thumbnails
18 readSmsList Đọc các tin nhắn và gửi cho server
19 showShortcuts Thêm biểu tượng ở màn hình chính
20 callAcc Kiểm trả xem dịch vụ Android Accessibility đã được kích hoạt
21 callAppSetting Mở settings
22 openIntent Chưa xác định
23 backstage Kiểm tra dịch vụ backstage
24 requestFloaty Yêu cầu quyền cửa sổ động trên Android
25 permission Yêu cầu toàn quyền
26 autoBoot Tự động reboot lại máy
27 permissionB Tự động phê duyệt quyền
28 reqFloaty Tự động phê duyệt quyền cửa sổ động
29 releaseScreenCapture Chụp màn hình
30 reqScreenPermission Yêu cầu quyền chụp màn hình
31 reqPerList Yêu cầu danh sách quyền
32 updateApk || install Cập nhật và cài đặt Apk
33 update Cập nhật Easyclick scripts
34 power Chưa xác định (có thể là tắt máy)
35 capture Chụp màn hình và gửi đi
36 screen_relay Thông tin ảnh chụp màn hình
37 logMode Mở trạng thái ghi log
38 capturePic Bật tính năng chụp màn hình
39 home Nhấp vào nút ‘Home’ qua dịch vụ accessibility
40 back Nhấp vào nút ‘Back’ qua dịch vụ accessibility
41 recent Nhấp vào nút ‘Recent’ qua dịch vụ accessibility
42 restartSc Khởi động lại dịch vụ easyclick script
43 restartMe Tự động khởi động lại ứng dụng
44 restartApp Khởi động lại ứng dụng
45 reConn Kết nối lại đến C&C
46 Awake Giữ thiết bị luôn hoạt động
47 cancelAwake Dừng thiết bị không cho tự đánh thức.
48 wakeup Mở màn hình
49 cancelWakeup Giữ màn hình mờ
50 setWakeup Hẹn giờ hoạt động
51 swipePwdScreenOn Bật chế độ bắt buộc dùng mật khẩu
52 swipePwdScreenOff Tắt chế độ bắt buộc dùng mật khẩu
53 catAllViewSwitch Hiện thị thông tin UI
54 reOpenMe Mở lại ứng dụng
55 setDebugOn Bật chế độ gỡ lỗi
56 setDebugOff Tắt chế độ gỡ lỗi
57 autoRequestPerm Tự động yêu cầu quyền
58 antiDeleteOn Bật chế độ anti-delete
59 antiDeleteOff Tắt chế độ anti-delete
60 lockScreen Khóa màn hình
61 closeEnv Đặt cờ trạng thái trợ năng thành false
62 screenshot Chụp ảnh màn hình và tải lên
63 black Thiết lập màn hình overlay màu đen
64 doNotDisturb Bật chế độ không làm phiền
65 realtimeSet Đặt gửi dữ liệu thời gian thực
66 closeProtect Tắt chế độ bảo vệ GooglePlay Protect
67 installPermission Cài đặt quyền người dùng
68 transparent Làm cho màn hình trong suốt
69 light Đóng cửa sổ Overlay màu đen (closeBlackScreen)
70 lightT Đóng cửa sổ Overlay trong suốt (closeTransparentScreen)
71 inputSend Thu thập các văn bản được nhập
72 touchDown Thực hiện thao tác vuốt xuống
73 touchMove Thực hiện thao tác vuốt chạm và giữ
74 touchUp Thực hiện thao tác vuốt lên
75 rightClick Ấn phím quay lại (back)
76 clickInput Ấn vào phần giao diện nhập
77 gestureUnlock Thực hiện hành động “vuốt để mở khóa” (swipeForUnlockScreen)
78 gestureCapture Thực hiện hành động “vuốt để chụp ảnh màn hình”
79 gestureB Thực hiện một loạt các cử chỉ
80 clickPoint Thực hiện nhấp vào một điểm trên giao diện
81 stopHereTest Dừng tác vụ
82 closeNewWin clearNewWin
83 clickB Bấm vào một phần tử trong giao diện (Image, Text, Button…)
84 clear Xóa thông tin package khỏi danh sách ứng dụng sử dụng gần đây
85 wallpaper Hành vi chưa xác định
86 googleAuth Thu thập thông tin mã xác thực 2FA của google và gửi cho server
87 emailList Thu thập và gửi danh sách ứng dụng email đã cài đặt
88 walletList Thu thập và gửi danh sách ứng dụng ví điện tử đã cài đặt
89 fetchIcon Thay đổi biểu tượng ứng dụng
90 walletSend Tự động chuyển tiền số (tự động mở ứng dụng và thao tác chuyển tiền)
READ  Cảnh báo lừa đảo bằng mã độc, link độc gửi qua tin nhắn điện thoại di động

Ứng dụng giả mạo này sẽ kiểm tra ngôn ngữ của máy và thiết lập C&C tùy vào ngôn ngữ của máy. C&C mã độc sử dụng là: “*.unixpop.xyz” cùng với các subdomain khác gồm test, jump, với các subdomain chia theo khu vực (sg, sg1, sg2, kr, hk, us, eu, ca, au, za, ru, uss, usn).

Kèm theo rất nhiều các chức năng phụ trợ khác để lấy cắp thông tin.

Tổng kết lại, đây là một ứng dụng giả mạo, một phần mềm độc hại khi được cấp quyền trợ năng – Accessbility của các thiết bị Android, mã độc hoàn toàn có thể kiểm soát thiết bị và thao tác điều khiển từ xa, từ đó có thể đánh cắp thông tin tài khoản, mật khẩu và thao tác mở ứng dụng ngân hàng để chuyển tiền. Mọi người nên thường xuyên theo dõi tin tức, cảnh giác với các chiêu trò gọi điện giả mạo cơ quan chức năng, yêu cầu tải và cài đặt các ứng dụng từ các trang không rõ nguồn gốc để tránh rủi ro đáng tiếc.

IOCs:

sha256:
c5de22493ed0112aa28ea1bf1cae63e33b5fe68f1ebe08f3d41093fda7913ac2 – file signed10310c.apk

5014c054aaf2d18f77c598fb6b015d3ecf23996db86c48b64822913d1f0cf65e – payload tg.iapk

e91d268ffd0675b1b916e01326288d3054cefd6717fed84bb0912fe5539194cd – payload ocRgbQOtbf

4134682c329689a678797bc0bb5425a2f080ae831292ec5f33129d88554a7af3 – payload ocgpRVawbf

1bad2304c958a7d1fdb8ba07cd38e4577dc14f2f90b50c9098338f9cfda5eb2d – payload oixN6vtJbf

C&C:
myecat1[.]ieasyclick[.]net

myecat1[.]ieasytest[.]net

*.unixpop[.]xyz

38[.]54[.]17[.]46

Cảm ơn các bạn đã theo dõi bài viết, nếu thấy bài viết hữu ích đừng quên like và chia sẻ nhé!

Trả lời

error: Nội dung đã được bảo vệ !!
Contact Me on Zalo