Một chiến dịch tấn công mạng tinh vi đã được phát hiện, sử dụng ứng dụng Android độc hại mạo danh các ứng dụng ngân hàng hợp pháp của Ấn Độ. Mục tiêu chính của chiến dịch này là đánh cắp thông tin đăng nhập, thực hiện hoạt động giám sát bí mật và tiến hành các giao dịch tài chính trái phép. Mã độc này cho thấy sự phức tạp trong thiết kế và phương thức hoạt động, đại diện cho một mối đe dọa nghiêm trọng trong bối cảnh các cuộc tấn công mạng di động ngày càng gia tăng.
Kiến Trúc Mã Độc và Phương Thức Hoạt Động
Mã độc được xây dựng với kiến trúc mô-đun, bao gồm hai thành phần chính: một dropper và một payload chính. Thành phần dropper có nhiệm vụ ban đầu thâm nhập vào thiết bị và thiết lập môi trường cho payload. Mã độc sử dụng các giao diện người dùng giả mạo được thiết kế tinh vi để lừa người dùng, kết hợp với các kỹ thuật cài đặt ngầm. Việc lạm dụng rộng rãi các quyền Android giúp mã độc né tránh sự phát hiện và đảm bảo duy trì hoạt động lâu dài trên thiết bị. Các cơ chế này cho phép kẻ tấn công kiểm soát và thu thập thông tin người dùng một cách hiệu quả mà không gây ra cảnh báo.
Cơ Chế Điều Khiển và Ra Lệnh (C2) qua Firebase
Hoạt động điều khiển và ra lệnh (C2) của mã độc được thực hiện thông qua nền tảng Firebase của Google. Firebase đóng vai trò trung tâm trong việc gửi lệnh và nhận dữ liệu từ các thiết bị bị lây nhiễm, cung cấp một kênh giao tiếp ổn định và khó bị phát hiện. Mã độc triển khai các trang lừa đảo (phishing pages) được thiết kế để bắt chước giao diện ngân hàng chính thức một cách hoàn hảo. Điều này khiến người dùng lầm tưởng đang tương tác với ứng dụng thật và tự nguyện cung cấp dữ liệu nhạy cảm của mình. Đây là một chiến thuật trọng yếu trong bất kỳ cuộc tấn công mạng nào nhằm chiếm đoạt thông tin tài chính.
Phân Tích Thành Phần Dropper
Phân tích tĩnh thành phần dropper của mã độc cho thấy việc yêu cầu một số quyền Android quan trọng, cho phép nó thực hiện các hoạt động chuẩn bị cho payload chính. Các quyền này được sử dụng để hỗ trợ việc cài đặt payload và thu thập thông tin ban đầu về thiết bị một cách lén lút.
- ACCESS_NETWORK_STATE: Quyền này cho phép mã độc giám sát trạng thái kết nối mạng trên thiết bị. Điều này giúp mã độc xác định thời điểm thích hợp để thực hiện việc đánh cắp và trích xuất dữ liệu một cách lén lút, đảm bảo quá trình truyền dữ liệu không bị gián đoạn hay bị các hệ thống giám sát phát hiện.
- REQUEST_INSTALL_PACKAGES: Với quyền này, mã độc có khả năng yêu cầu hệ thống cài đặt các tệp APK phụ, tức là payload chính, mà không cần sự tương tác hay nhận biết rõ ràng từ phía người dùng. Đây là một kỹ thuật cực kỳ quan trọng để triển khai payload chính một cách bí mật và vượt qua các cơ chế bảo vệ thông thường.
- QUERY_ALL_PACKAGES: Mã độc sử dụng quyền này để lập hồ sơ chi tiết về tất cả các ứng dụng đã cài đặt trên thiết bị của nạn nhân. Mục tiêu là xác định và nhắm mục tiêu cụ thể vào các ứng dụng ngân hàng và tài chính đã được cài đặt, tối ưu hóa khả năng đánh cắp thông tin nhạy cảm từ các dịch vụ này.
Dropper tải một payload ẩn từ thư mục tài nguyên (assets folder) của chính nó. Sau đó, tệp payload này được ghi vào bộ nhớ ngoài của thiết bị thông qua FileProvider, một thành phần Android giúp chia sẻ tệp an toàn giữa các ứng dụng. Quá trình cài đặt payload được kích hoạt bằng cách sử dụng cờ INSTALL_NOW. Kỹ thuật này cho phép mã độc bỏ qua sự kiểm duyệt của các cửa hàng ứng dụng và kích hoạt việc triển khai ứng dụng ở chế độ nền mà không cần sự can thiệp của người dùng. Điều này tương tự như các chiến thuật được thấy trong các biến thể Trojan ngân hàng tiên tiến, nhằm đảm bảo khả năng cài đặt bí mật và duy trì trên thiết bị.
Phân Tích Thành Phần Payload Chính
Khi được cài đặt và kích hoạt, payload chính sẽ yêu cầu thêm một loạt các quyền khác, cho phép nó thực hiện các hành vi độc hại chuyên sâu hơn và kiểm soát gần như hoàn toàn thiết bị. Các quyền này là yếu tố then chốt cho việc chiếm đoạt thông tin cá nhân và tài chính, cũng như duy trì quyền kiểm soát lâu dài.
- READ_SMS, SEND_SMS, RECEIVE_SMS: Đây là các quyền cực kỳ nguy hiểm, cho phép mã độc chặn, đọc, gửi và nhận tất cả tin nhắn SMS trên thiết bị. Điều này đồng nghĩa với việc mã độc có thể dễ dàng trích xuất các mật khẩu một lần (OTP) và mã xác thực hai yếu tố (2FA) được gửi qua SMS, vốn là lớp bảo vệ quan trọng cho nhiều tài khoản. Khả năng này là một bước quan trọng để kẻ tấn công vượt qua các lớp bảo mật phổ biến nhất, như xác thực hai yếu tố, và thực hiện các giao dịch tài chính trái phép mà không bị cản trở. Việc truy cập đầy đủ vào tin nhắn SMS mang lại cho kẻ tấn công quyền kiểm soát đáng kể đối với các tài khoản trực tuyến và dịch vụ ngân hàng của người dùng.
- REQUEST_IGNORE_BATTERY_OPTIMIZATIONS: Mã độc yêu cầu quyền này để đảm bảo rằng quá trình thực thi của nó ở chế độ nền không bị hệ thống Android tối ưu hóa pin ngăn chặn. Điều này giúp mã độc hoạt động liên tục mà không bị gián đoạn, đảm bảo khả năng duy trì quyền truy cập và liên tục thu thập dữ liệu nhạy cảm mà không bị người dùng phát hiện.
- READ_PHONE_STATE và READ_PHONE_NUMBERS: Các quyền này cho phép mã độc nhận dạng thiết bị (device fingerprinting) và trích xuất dữ liệu thẻ SIM, bao gồm tên nhà mạng và số điện thoại. Thông tin này có thể được sử dụng để phục vụ các cuộc tấn công mạng tiếp theo, ví dụ như mạo danh người dùng, hoặc để bán thông tin cá nhân trên thị trường đen.
- Lạm dụng Chuyển hướng Cuộc gọi: Mã độc có khả năng lạm dụng việc chuyển hướng cuộc gọi thông qua các mã USSD. Ví dụ, nó có thể sử dụng mã như
**21*số_điện_thoại#để chuyển hướng các cuộc gọi đến các số điện thoại do kẻ tấn công kiểm soát. Điều này có thể được dùng để chặn cuộc gọi xác minh, nghe lén các cuộc gọi đến ngân hàng, hoặc gây gián đoạn dịch vụ liên lạc của nạn nhân.
**21*[số_điện_thoại_kẻ_tấn_công]#Payload cũng có khả năng ẩn mình khỏi trình khởi chạy ứng dụng (app launcher) bằng cách phân loại hoạt động của nó là INFO. Điều này cho phép mã độc chạy âm thầm mà không hiển thị biểu tượng ứng dụng trên màn hình chính, khiến người dùng khó phát hiện sự hiện diện của nó. Mã độc sử dụng các lớp mô-đun để thực hiện các chức năng cụ thể, mỗi lớp đảm nhiệm một vai trò trong việc thu thập thông tin:
- Account: Lớp này chuyên dùng để thu thập thông tin đăng nhập của người dùng từ các ứng dụng ngân hàng giả mạo.
- Debit: Chuyên dùng để đánh cắp chi tiết thẻ ngân hàng của nạn nhân, bao gồm số thẻ, mã CVV, và mã PIN ATM. Đáng chú ý, mã độc có cơ chế xác thực dữ liệu đầu vào: CVV được xác thực là 3 chữ số, số thẻ là 19 ký tự, và mã PIN ATM là 4 chữ số, làm tăng tính tin cậy của dữ liệu thu thập được.
- AutostartHelper: Lớp này đảm bảo tính bền bỉ của mã độc bằng cách sử dụng quyền RECEIVE_BOOT_COMPLETED, cho phép nó tự khởi động cùng với hệ thống mỗi khi thiết bị được bật nguồn. Điều này đảm bảo mã độc luôn hoạt động ngay cả sau khi thiết bị khởi động lại.
Cơ Chế Rò Rỉ Dữ Liệu
Quá trình rò rỉ dữ liệu từ thiết bị bị nhiễm được thực hiện thông qua Firebase Realtime Database. Đây là một cơ sở dữ liệu đám mây hoạt động theo thời gian thực, cho phép kẻ tấn công thu thập thông tin một cách hiệu quả. Mã độc lưu trữ ID người dùng và siêu dữ liệu SMS bị chặn, bao gồm thông tin về người gửi, nội dung tin nhắn, dấu thời gian gửi và vị trí khe SIM. Dữ liệu này được tổ chức và lưu trữ trong các đường dẫn cụ thể như user/<userID> trên cơ sở dữ liệu Firebase. Ngoài ra, mã độc cũng sử dụng SharedPreferences cục bộ để duy trì các cặp khóa-giá trị, cho phép thu thập dữ liệu ngoại tuyến và đảm bảo thông tin không bị mất ngay cả khi thiết bị không có kết nối mạng. Cơ chế này đảm bảo kẻ tấn công có thể truy xuất thông tin bất cứ lúc nào.
Phân Tích Động và Phát Hiện
Phân tích động hành vi của mã độc cho thấy dropper bắt đầu bằng cách hiển thị các cửa sổ bật lên giả mạo về bản cập nhật hệ thống hoặc ứng dụng. Mục đích của chiến thuật này là lôi kéo người dùng kích hoạt tùy chọn “Cài đặt ứng dụng không rõ nguồn gốc” (Install Unknown Apps) trong cài đặt bảo mật của thiết bị. Sau khi quyền này được cấp, payload sẽ yêu cầu quyền truy cập SMS và hiển thị các trang lừa đảo được thiết kế tinh vi. Các trang lừa đảo này bao gồm việc thực thi xác thực đầu vào, ví dụ như yêu cầu số điện thoại 10 chữ số và mã MPIN 4 chữ số, để trông hợp pháp và đáng tin cậy hơn. Điều này tăng cường khả năng lừa đảo và làm cho cuộc tấn công mạng trở nên khó bị phát hiện hơn.
Firebase Cloud Messaging (FCM) đóng vai trò quan trọng trong việc thực thi các lệnh từ xa, bao gồm thực hiện các cuộc gọi trái phép và giám sát SMS theo thời gian thực. Mã độc sử dụng các khóa được nhúng cho ID người gửi, API và các bộ nhớ lưu trữ (storage buckets) của Firebase, cho phép C2 ẩn và kiểm soát từ xa. Trong quá trình điều tra, phiên bản Firebase này vẫn hoạt động nhưng bị khóa xác thực, cho thấy việc sử dụng độc hại đang tiếp diễn và khả năng kẻ tấn công vẫn đang duy trì hoạt động.
Mã độc này đã được quan sát thấy sớm nhất vào ngày 3 tháng 4 năm 2025 tại Cyfirma, thể hiện rõ xu hướng lừa đảo tài chính di động. Trong các cuộc tấn công mạng kiểu này, tội phạm mạng thường sao chép các biểu tượng, tên và giao diện người dùng của ứng dụng hợp pháp một cách chính xác. Mục đích là lừa dối người dùng cấp các quyền có rủi ro cao, dẫn đến việc đánh cắp OTP và vượt qua 2FA, gây thiệt hại nghiêm trọng.
Các Kênh Lây Nhiễm và Khai Thác Lỗ Hổng
Mã độc này sử dụng nhiều kênh lây nhiễm khác nhau để tiếp cận nạn nhân, cho thấy một chiến lược phân phối đa dạng và linh hoạt. Sự đa dạng trong phương thức phân phối giúp mã độc mở rộng phạm vi tấn công và tăng khả năng thành công của cuộc tấn công mạng:
- Smishing: Lây nhiễm thông qua các liên kết SMS giả mạo được gửi đến điện thoại người dùng, thường mời gọi tải xuống ứng dụng độc hại.
- Email Phishing: Sử dụng email lừa đảo với các tệp APK độc hại được nhúng trực tiếp hoặc liên kết đến các trang tải xuống giả mạo.
- WhatsApp Bots: Lợi dụng các bot trên WhatsApp để phân phối mã độc thông qua tin nhắn tự động hoặc nhóm chat.
- Vishing Calls: Thực hiện các cuộc gọi lừa đảo mạo danh nhân viên hỗ trợ ngân hàng hoặc dịch vụ khách hàng để thuyết phục người dùng cài đặt ứng dụng không rõ nguồn gốc.
- SEO-Poisoned Fake Websites: Tạo các trang web giả mạo và tối ưu hóa công cụ tìm kiếm (SEO) để chúng xuất hiện nổi bật trên các kết quả tìm kiếm, lừa người dùng tải xuống mã độc khi tìm kiếm các ứng dụng hợp pháp.
- Malvertising: Sử dụng quảng cáo độc hại trong các ứng dụng hợp pháp hoặc trên các trang web để phân phối payload mà người dùng không hề hay biết.
- Trojanized Utilities: Ngụy trang mã độc dưới dạng các tiện ích phổ biến và hữu ích như trình quét QR, sau đó thả payload độc hại khi được cài đặt.
- QR/NFC Attacks: Lợi dụng các mã QR hoặc công nghệ NFC tại các không gian công cộng, ví dụ như trên quảng cáo giả mạo, để lây nhiễm thiết bị khi người dùng quét mã.
- Preloaded Malware: Cài đặt sẵn mã độc trên các thiết bị giả mạo hoặc không chính hãng trước khi bán ra thị trường, khiến người dùng bị lây nhiễm ngay từ khi mua thiết bị mới.
- Khai thác Lỗ Hổng: Tận dụng các lỗ hổng CVE đã biết hoặc zero-day trong hệ điều hành Android hoặc các ứng dụng khác. Bao gồm việc lợi dụng các dịch vụ trợ năng (accessibility services) để thực hiện hành vi độc hại hoặc khai thác các lỗ hổng CVE như CVE-2025-27363. Các lỗ hổng này có thể được dùng để cài đặt ngầm và thực hiện kỹ thuật phủ lớp (overlay attacks), che giấu các cửa sổ cảnh báo quan trọng và lừa người dùng.
Các Chỉ Số Thỏa Hiệp (IOCs)
Trong trường hợp mã độc này, các chỉ số thỏa hiệp truyền thống như hash tệp hay địa chỉ IP cụ thể của máy chủ C2 không được cung cấp rõ ràng trong phân tích ban đầu. Tuy nhiên, hạ tầng C2 chính yếu dựa trên các dịch vụ của Firebase, vốn là một nền tảng hợp pháp. Điều này cần được xem xét như một phần của dấu hiệu nhận biết khi phân tích và ứng phó với mối đe dọa.
- Hạ tầng C2: Các dịch vụ của Firebase, bao gồm Firebase Realtime Database và Firebase Cloud Messaging (FCM). Việc giám sát hoạt động bất thường liên quan đến các dịch vụ Firebase trên thiết bị có thể là một dấu hiệu.
- Đường dẫn Exfiltration dữ liệu:
user/<userID>trên Firebase Realtime Database. Sự xuất hiện của các cấu trúc dữ liệu này có thể chỉ ra hoạt động của mã độc.
Việc hiểu rõ các chỉ số này là cần thiết để phòng vệ và ứng phó hiệu quả trước các cuộc tấn công mạng tương tự, ngay cả khi các IOCs truyền thống không có sẵn.
Biện Pháp Phòng Ngừa và An Ninh Mạng
Trojan ngân hàng tinh vi này nhấn mạnh sự cần thiết của các biện pháp phòng thủ đa lớp để bảo vệ người dùng và hệ thống tài chính khỏi các mối đe dọa di động ngày càng tăng. Để chống lại các mối đe dọa dai dẳng trong lĩnh vực an ninh mạng này, cần tập trung vào các lĩnh vực sau một cách toàn diện:
- Nâng cao nhận thức người dùng: Giáo dục người dùng về rủi ro khi cấp quyền cho ứng dụng di động là tối quan trọng. Người dùng cần được hướng dẫn cách kiểm tra kỹ lưỡng các quyền mà một ứng dụng yêu cầu trước khi cài đặt và hiểu rõ lý do tại sao một ứng dụng lại cần những quyền đó. Việc cảnh giác với các liên kết lạ và ứng dụng không rõ nguồn gốc là bước phòng thủ đầu tiên và hiệu quả nhất.
- Kiểm duyệt ứng dụng chặt chẽ: Người dùng chỉ nên tải xuống ứng dụng từ các nguồn đáng tin cậy và chính thức như Google Play Store. Luôn kiểm tra kỹ lưỡng đánh giá của người dùng, số lượt tải xuống, và quyền hạn mà ứng dụng yêu cầu. Bất kỳ ứng dụng nào yêu cầu quá nhiều quyền hoặc các quyền không liên quan đến chức năng chính của nó đều cần được xem xét kỹ lưỡng.
- Phát hiện bất thường trong hệ sinh thái tài chính: Các tổ chức tài chính cần triển khai và duy trì các hệ thống phát hiện bất thường mạnh mẽ. Các hệ thống này có khả năng xác định các hành vi đáng ngờ hoặc giao dịch trái phép một cách nhanh chóng. Điều này bao gồm giám sát chặt chẽ các giao dịch, hành vi đăng nhập bất thường, và các hoạt động khác có thể chỉ ra một cuộc tấn công mạng đang diễn ra hoặc một hệ thống đã bị xâm nhập.
- Cập nhật bản vá bảo mật: Đảm bảo hệ điều hành Android và tất cả các ứng dụng trên thiết bị di động luôn được cập nhật phiên bản mới nhất là điều cần thiết. Các bản vá bảo mật thường xuyên khắc phục các lỗ hổng CVE đã biết, giảm thiểu đáng kể nguy cơ bị khai thác bởi mã độc và các cuộc tấn công tinh vi.










