Hàng loạt các phần mềm độc hại Android mới đã được các nhà nghiên cứu bảo mật phát hiện và cảnh báo trong năm 2023, đáng lưu ý trong số đó là các banking trojan nhắm mục tiêu vào lĩnh vực tài chính, ngân hàng.
Một số chiến dịch độc hại được phát hiện đã nhắm mục tiêu vào người dùng Việt Nam để phát tán ứng dụng giả mạo và phần mềm độc hại nhằm thu thập thông tin và đánh cắp tiền trên các thiết bị của người dùng bị nhiễm.
Các ứng dụng, phần mềm độc hại thường được lây nhiễm cho các nạn nhân thông qua các cuộc tấn công lừa đảo, trong đó kẻ tấn công sẽ gửi đến mục tiêu các email, tin nhắn lừa đảo hoặc phát tán các quảng cáo có chứa liên kết đến trang độc hại, giả mạo các tổ chức uy tín hoặc các bên hợp pháp, để lừa người dùng tải xuống và cài đặt ứng dụng độc hại.
Sau khi được cài đặt, ứng dụng sẽ yêu cầu người dùng cấp các quyền truy cập vào nhiều loại dữ liệu và dịch vụ, bao gồm dịch vụ Trợ năng, và lạm dụng các quyền này để thực hiện các hành động trái phép, gây hại cho người dùng.
Nội dung tiếp theo sẽ cung cấp các thông tin chi tiết về một số phần mềm độc hại đáng chú ý, nhắm mục tiêu vào người dùng Việt Nam trong năm 2023.
Vào cuối tháng 8, TrendMicro đã tiết lộ về một banking trojan Android mới có tên là MMRat (AndroidOS_MMRat.HRX), đã nhắm mục tiêu vào người dùng di động ở Đông Nam Á, bao gồm Việt Nam, kể từ cuối tháng 6 năm 2023.
Phần mềm độc hại, được đặt theo tên package đặc biệt com.mm.user của nó, có khả năng thu thập dữ liệu do người dùng nhập vào và nội dung màn hình, đồng thời có thể điều khiển từ xa các thiết bị của nạn nhân thông qua nhiều kỹ thuật khác nhau, cho phép kẻ tấn công thực hiện hành vi lừa đảo ngân hàng trên thiết bị của nạn nhân.
Ngoài ra, MMRat sử dụng giao thức điều khiển tấn công (C&C) tùy chỉnh đặc biệt dựa trên protocol buffers (hay Protobuf), một định dạng dữ liệu nguồn mở được sử dụng để chuyển đổi (serializing) dữ liệu có cấu trúc. Tính năng này, thường ít gặp ở các banking trojan Android, giúp nâng cao hiệu suất của nó trong quá trình truyền khối lượng lớn dữ liệu.
Phân tích của TrendMicro cho thấy hầu hết các mẫu MMRat được tải xuống từ một loạt các trang web lừa đảo tương tự nhau được, chủ yếu khác nhau về ngôn ngữ, được thiết kế để giả mạo cửa hàng ứng dụng chính thức. Tuy nhiên, phương pháp chính xác mà các liên kết lừa đảo này sử dụng để tiếp cận các mục tiêu vẫn chưa rõ ràng.
Dưới đây là ví dụ về các trang web cửa hàng ứng dụng bằng tiếng Việt và tiếng Thái, chứa nội dung đề cập đến mẹo cài đặt ứng dụng. Ảnh chụp màn hình bên phải đang giả mạo một cơ quan chính phủ Thái Lan.
Trang giả mạo cửa hàng ứng dụng chính thức đã được phát hiện (TrendMicro)
Tại thời điểm TrendMicro chia sẻ báo cáo về MMRat, phần mềm độc hại hoàn toàn không bị phát hiện trên VirusTotal, điều này cho thấy các kỹ thuật được sử dụng đã cho phép nó vượt qua kiểm tra của các công cụ rà quét mã độc. Các phần mềm độc hại tương tự, như GigabudRat và Vultur, cũng khai thác các kỹ thuật tương tự như ghi nhật ký bàn phím (keylogging) và chụp ảnh màn hình, cũng đạt được khả năng trốn tránh đáng chú ý trong các giai đoạn tấn công của chúng.
Cách MMRat thực hiện gian lận ngân hàng
Trình tự của một cuộc tấn công MMRat bao gồm các giai đoạn:
Các bước tấn công của MMRat
Như đã đề cập trước đó, MMRat có khả năng thu thập dữ liệu nhập vào của người dùng, nội dung màn hình và điều khiển từ xa các thiết bị của nạn nhân. Nó hoạt động dựa vào vào dịch vụ Trợ năng (Accessibility service) của Android và API MediaProjection.
Để tránh bị nghi ngờ, MMRat thường giả dạng một tổ chức chính phủ chính thức hoặc ứng dụng hẹn hò, sau đó giới thiệu một trang web lừa đảo cho nạn nhân. Tiếp đó, nó thu thập các thông tin sự kiện của hệ thống, bao gồm sự kiện hệ thống bật và tắt cũng như khởi động lại, và nhiều sự kiện khác. Khi nhận được những sự kiện này, phần mềm độc hại sẽ khởi chạy một hoạt động pixel có kích thước 1x1 để tránh bị phát hiện và có thể tồn tại lâu dài trên thiết bị.
Khi khởi tạo dịch vụ Trợ năng, MMRat sẽ thiết lập kết nối với máy chủ do kẻ tấn công kiểm soát (C&C). Đáng chú ý, MMRat sử dụng các cổng (port) khác nhau trên một máy chủ cho các chức năng khác nhau:
Các port mà MMRat sử dụng
Để liên lạc với máy chủ C&C, kẻ tấn công sử dụng cấu trúc tổng thể để thể hiện tất cả các loại thông báo và từ khóa “oneof” để thể hiện các loại dữ liệu khác nhau. TrendMicro đã cố gắng xây dựng lại lược đồ Protobuf chính được sử dụng trong giao tiếp C&C.
Các lược đồ Protobuf được sử dụng cho giao tiếp C&C
“PackType” là một cấu trúc enum có thể được sử dụng để thể hiện các lệnh C&C, trong khi trường “pack” chứa dữ liệu chi tiết tương ứng với các lệnh C&C khác nhau.
Bảng dưới đây thể hiện các lệnh C&C mà phần mềm độc hại sử dụng, các lệnh này được chia thành các lệnh máy chủ (Server) và lệnh máy khách (Client). Lệnh máy chủ sẽ được gửi đến máy khách, và lệnh máy khách sẽ được gửi đến máy chủ.
Name | Type | Description |
TOUCH | Server | Execute gesture (Thực hiện cử chỉ) |
ACCESSIBLE_GLOBAL | Server | Sử dụng quyền dịch vụ trợ năng để thực hiện hành động chung |
INPUT_TEXT | Server | Set text of focused node (thiết lập dữ liệu nhập vào) |
LAYOUT_SHOW (2) | Server | Bật/tắt Trạng thái terminal của người dùng |
USER_TERMINAL_STATE | Client | Gửi dữ liệu trạng thái người dùng (UserState) đến máy chủ từ xa |
OPERATIONAL_LOG | Client | Gửi dữ liệu keylogging đến máy chủ |
UNLOCK_SCREEN | Server | Mở khóa màn hình bằng mật khẩu bị đánh cắp |
INPUT_PASSWORD | Server | Nhập mật khẩu cho WeChat và Zhifubao |
CLICK_TEXT | Server | Nhấp chuột |
OPEN_BLACK_MASK | Server | Thiết lập chế độ xem của nó ở chế độ hiển thị/ẩn |
PING | Client | Ping heartbeat (kiểm tra tính sẵn sàng hoặc kết nối đến máy chủ) |
PONG | Client | Pong heartbeat (phản hồi lại lệnh Ping) |
MEDIA_STREAM (2) | Server | Bắt đầu chụp màn hình hoặc quay video camera |
MICROPHONE | Server | Thiết lập trạng thái micrô trong khi ghi màn hình |
UNINSTALL_APP | Server | Tự gỡ cài đặt |
WAKE_UP_DEVICE | Server | Wakeup device (đánh thực thiết bị) |
APP_OPT | Server | Show/hide icon (hiện/ẩn biểu tượng) |
Các lệnh C&C mà MMRat sử dụng đã được phát hiện
Thu thập trạng thái thiết bị và thông tin cá nhân
MMRat thu thập nhiều loại trạng thái thiết bị và dữ liệu cá nhân, bao gồm dữ liệu mạng, dữ liệu màn hình, dữ liệu pin, ứng dụng đã cài đặt và danh sách liên hệ.
Để thu thập dữ liệu kịp thời, MMRat lập lịch cho tác vụ hẹn giờ thực thi mỗi giây đồng thời sử dụng bộ đếm đặt lại sau mỗi 60 giây để xác định thời điểm các tác vụ khác nhau được thực thi.
Tác vụ hẹn giờ dùng để thực hiện các tác vụ
MMRat nhắm mục tiêu thu thập cụ thể vào danh sách liên hệ và ứng dụng đã cài đặt của nạn nhân. Trendmicro cho rằng mục tiêu của kẻ đe dọa là thăm dò thông tin cá nhân để đảm bảo nạn nhân phù hợp với hồ sơ cụ thể. Thông tin này sau đó có thể được sử dụng cho các hoạt động độc hại khác.
MMRat nhắm mục tiêu cụ thể đến danh sách liên lạc và ứng dụng đã cài đặt
Sau khi được cấp quyền Trợ năng, MMRat có thể lạm dụng quyền này để tự cấp các quyền khác và sửa đổi cài đặt. Ví dụ: trong giai đoạn thu thập dữ liệu trước đó, MMRat có thể tự động cấp cho mình quyền READ_CONTACTS để thu thập dữ liệu liên hệ.
Đoạn mã sau đây cho thấy cách MMRat có thể tự động nhận được quyền. Nó đạt được điều này bằng cách khởi chạy hộp thoại hệ thống và tự động phê duyệt các yêu cầu cấp quyền. Chức năng phê duyệt tự động được triển khai bằng cách tìm từ khóa “ok” hoặc từ khóa tương tự trên màn hình và sử dụng dịch vụ Trợ năng để mô phỏng thao tác nhấp chuột. Điều này có nghĩa là MMRat có thể bỏ qua sự can thiệp của người dùng và tự cấp cho mình các quyền cần thiết để thực hiện các hoạt động độc hại của mình.
Yêu cầu quyền và thực hiện thao tác nhấp chuột để tự động cấp quyền
Tìm kiếm các từ khóa mang nghĩa ‘cho phép’ để tự động cấp quyền
Bắt dữ liệu nhập vào của người dùng
MMRat lạm dụng dịch vụ Trợ năng để bắt thông tin đầu vào và hành động của người dùng thông qua thao tác ghi bàn phím. Dữ liệu này có thể được sử dụng để lấy thông tin xác thực của nạn nhân và ghi lại hành động của nạn nhân để phát lại sau này trên thiết bị.
Không giống như các phần mềm độc hại keylogging khác tập trung vào các tình huống cụ thể, chẳng hạn như chỉ ghi lại khóa khi nạn nhân đang sử dụng ứng dụng ngân hàng, MMRat ghi lại mọi hành động do người dùng thực hiện và tải chúng lên máy chủ C&C. Có vẻ như kẻ đứng sau MMRat muốn thu thập một lượng lớn nhật ký hành động từ nạn nhân để xác định các bước tiếp theo của phần mềm độc hại.
Ghi log hành động của người dùng và gửi về máy chủ C&C
Ngoài keylogging thông thường, phần mềm độc hại còn quan tâm đặc biệt đến mẫu (pattern) màn hình khóa. Nếu phát hiện người dùng đang mở khóa thiết bị, phần mềm độc hại sẽ thu thập giá trị mẫu và tải nó lên máy chủ C&C. Điều này cho phép kẻ đe dọa có quyền truy cập vào thiết bị của nạn nhân ngay cả khi thiết bị bị khóa.
Keylogging trên màn hình khóa để thu thập giá trị pattern
MMRat có thể chụp nội dung màn hình theo thời gian thực trên thiết bị nạn nhân và gửi dữ liệu này đến máy chủ từ xa. Để chụp nội dung màn hình, phần mềm độc hại chủ yếu dựa vào API MediaProjection để ghi lại màn hình của nạn nhân. Ngoài ra, phần mềm độc hại còn sử dụng một phương pháp khác, liên quan đến “user terminal state” để lấy được nội dung màn hình và vượt qua biện pháp bảo vệ FLAG_SECURE.
Dựa trên các phát hiện, các nhà nghiên cứu Trendmicro tin rằng khả năng chụp nội dung màn hình được sử dụng cùng với các chức năng điều khiển từ xa để kẻ đe dọa có thể xem trạng thái trực tiếp của thiết bị trong khi thực hiện gian lận ngân hàng. Thay vì thu thập thông tin xác thực, các nhà nghiên cứu nhận thấy phần mềm độc hại sẽ liên tục kiểm tra các lệnh và sẽ dừng phát trực tuyến nội dung màn hình nếu không nhận được lệnh nào trong vòng 30 giây.
Sử dụng Android MediaProjection API
Để sử dụng API MediaProjection một cách thuận tiện và truyền dữ liệu video đến máy chủ từ xa, MMRat lạm dụng một framework mã nguồn mở có tên rtmp-rtsp-stream-client-java. Điều này cho phép nó ghi lại màn hình và truyền dữ liệu video theo thời gian thực đến máy chủ từ xa thông qua Giao thức truyền phát thời gian thực (RTSP). Khi nhận được lệnh MEDIA_STREAM, MMRat có thể ghi lại hai loại dữ liệu, bao gồm dữ liệu màn hình và camera.
Ví dụ: khi ghi dữ liệu màn hình, MMRat sẽ khởi chạy một hoạt động có tên DisplayActivity. Hoạt động này yêu cầu quyền ghi bằng cách gọi createScreenCaptureIntent, thao tác này sẽ kích hoạt cửa sổ bật lên hộp thoại hệ thống để cấp quyền. Như đã đề cập trước đó, yêu cầu này sẽ tự động được phê duyệt thông qua thao tác nhấp chuột tự động.
Sau khi yêu cầu ghi được phê duyệt, MMRat bắt đầu ghi màn hình và truyền dữ liệu đến máy chủ C&C bằng cách sử dụng API startStream do kho lưu trữ framework cung cấp.
Cách tiếp cận được gọi là “User terminal state” để chụp nội dung màn hình khá khác với phương pháp sử dụng API MediaProjection. Với phương pháp này, MMRat không ghi lại màn hình dưới dạng video. Thay vào đó, nó lạm dụng dịch vụ Trợ năng để kết xuất đệ quy tất cả các node con trong windows mỗi giây và tải dữ liệu này lên qua kênh C&C. Do đó, kết quả chỉ bao gồm thông tin dạng văn bản mà không có giao diện đồ họa, giống như một “terminal”.
Mặc dù cách tiếp cận này hơi thô sơ và đòi hỏi tác nhân đe dọa ở phía máy chủ phải thực hiện thêm các bước để tái tạo lại dữ liệu, nhưng nó vẫn thu thập thông tin mong muốn một cách hiệu quả để kiểm tra và kiểm soát từ xa (ví dụ: thông tin nút để nhấp và nhập). Vì phương pháp này không dựa vào API MediaProjection nên nó có thể vượt qua kiểm tra của FLAG_SECURE, một flag có thể được thêm vào các tham số window để ngăn chặn việc chụp ảnh và ghi lại màn hình.
Hơn nữa, việc sử dụng Protobuf và các giao thức tùy chỉnh dựa trên Netty sẽ nâng cao hiệu suất. Điều này đặc biệt có lợi cho việc truyền lượng lớn dữ liệu màn hình, mang lại cho tác nhân đe dọa hiệu ứng tương tự như truyền video.
MMRat lợi dụng dịch vụ Trợ năng để điều khiển từ xa thiết bị của nạn nhân, thực hiện các hành động như cử chỉ, mở khóa màn hình và nhập văn bản, cùng nhiều hành động khác. Điều này có thể được các tác nhân đe dọa sử dụng kết hợp với thông tin đăng nhập bị đánh cắp để thực hiện hành vi lừa đảo ngân hàng.
Như đã đề cập trong phần “Cách MMRat thực hiện gian lận ngân hàng”, các nhà nghiên cứu cho rằng ngay cả trước khi thực hiện quy trình truy cập từ xa, MMRat đã thực hiện một số bước để tránh bị người dùng phát hiện, bao gồm:
Cuối cùng, MMRat có thể điều khiển thiết bị từ xa trong khi nạn nhân không chủ động sử dụng điện thoại.
MMRat có khả năng tự gỡ cài đặt khi nhận được lệnh C&C UNINSTALL_APP. Hành vi này thường diễn ra sau khi thực hiện hành vi gian lận ngân hàng, khiến việc theo dõi hoạt động của nó trở nên khó khăn hơn.
MMRat là một banking trojan Android tinh vi với nhiều khả năng bao gồm ghi nhật ký thao tác bàn phím, ghi màn hình và truy cập điều khiển từ xa, cho phép nó thực hiện hành vi gian lận ngân hàng. Đây là mối đe dọa đáng kể đối với người dùng di động, đặc biệt là ở Đông Nam Á.
Khoảng đầu tháng 6 năm nay, Cyble Research & Intelligence Labs (CRIL) cũng đã phát hiện và cảnh báo về một biến thể mới của phần mềm gián điệp Android, được gọi là “HelloTeacher”, đang nhắm mục tiêu vào người dùng Việt Nam.
HelloTeacher giả dạng thành một ứng dụng nhắn tin phổ biến như Viber hoặc Kik Messenger để lừa các mục tiêu cài đặt nó. Phần mềm độc hại này có các khả năng tinh vi như trích xuất thông tin liên hệ, dữ liệu SMS, ảnh, danh sách ứng dụng đã cài đặt, thậm chí là chụp ảnh và ghi lại màn hình của thiết bị bị nhiễm.
Chưa dừng lại ở đó, kẻ đứng sau HelloTeacher đã cố gắng tích hợp phần mềm gián điệp này với banking trojan bằng cách lạm dụng dịch vụ trợ năng.
Mục tiêu chính của nó tập trung vào người dùng của ba ứng dụng ngân hàng phổ biến của Việt Nam, bao gồm TPBank Mobile, MB Bank và VietinBank iPay
Các package độc hại nhắm vào ngân hàng Việt Nam đã được phát hiện
HelloTecheacher được thiết kế để đánh cắp thông tin số dư tài khoản từ “TPBank Mobile”. Nó còn nhắm mục tiêu vào MB Bank với việc cố gắng chèn các giá trị vào các trường dữ liệu của ứng dụng di động MB Bank. Mặc dù mô-đun tấn công vẫn chưa được hoàn thành, nhưng tác nhân đe dọa đằng sau phần mềm độc hại này có thể tiếp tục tạo thêm các tính năng mới.
Phân tích một mẫu của phần mềm độc hại, các nhà nghiên cứu phát hiện nó đã sử dụng tên và biểu tượng của ứng dụng Viber hợp pháp nhằm lừa người dùng cài đặt ứng dụng này trên thiết bị của họ.
Thông tin meta data của ứng dụng Viber giả mạo
Sau khi cài đặt, HelloTeacher sẽ yêu cầu nạn nhân kích hoạt dịch vụ trợ năng. Sau đó, nó bắt đầu lạm dụng dịch vụ này để cấp quyền tự động và thực thi các chức năng banking trojan. Đồng thời, ở chế độ nền, phần mềm độc hại kết nối với máy chủ điều khiển tấn công (C&C) hxxp://api.sixmiss[.]com/abb-api/client/ để gửi thông tin bị đánh cắp, bao gồm thông tin thiết bị cơ bản, thông tin liên hệ, SMS và các dữ liệu khác.
Phần mềm độc hại yêu cầu người dùng kích hoạt Dịch vụ trợ năng
Phần mềm độc hại lạm dụng các dịch vụ Trợ năng để theo dõi các sự kiện liên quan đến ứng dụng ngân hàng được nhắm mục tiêu. Khi phát hiện tương tác của người dùng với ứng dụng TPbank Mobile, nó sẽ kiểm tra và truy xuất thông tin số dư tài khoản của ứng dụng ngân hàng (“com.tpb.mb.gprsandroid:id/accBalance”). Ngoài ra, nó còn lợi dụng dịch vụ Trợ năng để đánh cắp mẫu khóa hoặc mật khẩu.
Mã độc HelloTeacher cũng giám sát các hành động của nạn nhân liên quan đến ứng dụng di động MB Bank và kiểm tra các thông tin đăng nhập, mật khẩu và tên người dùng, của ứng dụng MB Bank Mobile.
Mã nguồn chưa hoàn chỉnh cho thấy phần mềm độc hại vẫn đang trong giai đoạn phát triển, bao gồm việc mở rộng các chức năng của banking trojan.
HelloTeacher có khả năng nhận lệnh từ máy chủ C&C và thực hiện các hoạt động độc hại trên thiết bị bị xâm nhập như thực hiện các thao tác tự động, điều khiển màn hình, đồng thời ngăn người dùng gỡ cài đặt,...
Một điểm đáng chú ý là một số chuỗi ngôn ngữ Trung Quốc đã được phát hiện trong mã nguồn HelloTeacher. Các chuỗi này được sử dụng để ghi log và trao đổi dữ liệu với máy chủ C&C. Điều này cho thấy khả năng tin tặc đứng sau phần mềm độc hại này có thể có liên quan đến Trung Quốc.
Để bảo vệ khỏi các phần mềm độc hại như vậy, người dùng chỉ nên tải xuống ứng dụng từ các nguồn chính thức và xem xét cẩn thận các bình luận, đánh giá về ứng dụng trước khi tải xuống phần mềm cũng như lưu ý kiểm tra các quyền mà ứng dụng yêu cầu trong quá trình cài đặt hoặc sử dụng. Nếu phát hiện bất kỳ điểm đáng ngờ nào, tốt nhất bạn nên hủy/gỡ cài đặt ứng dụng ngay.
Danh sách phần mềm Android độc hại
Dưới đây là danh sách một số phần mềm hoặc ứng dụng Android độc hại đã được phát hiện và cảnh báo trong năm nay.
Danh sách IoC
Tín nhiệm mạng | Google đang thử nghiệm một tính năng mới trong trình duyệt Chrome sẽ cảnh báo người dùng khi một tiện ích đã cài đặt bị xóa khỏi Cửa hàng ứng dụng của Chrome.
Tín nhiệm mạng | Một lỗ hổng bảo mật có độ nghiêm trọng mức cao đã được phát hiện trong tiện ích WinRAR có khả năng bị kẻ xấu khai thác để thực thi mã từ xa trên các hệ thống Windows.
Tín nhiệm mạng | Các tác nhân đe dọa đang sử dụng các tệp phần mềm Android (APK) với các phương pháp nén mới chưa được xác định hoặc không được hỗ trợ để tránh bị phân tích bởi các công cụ chống mã độc.
Tín nhiệm mạng | Một chiến dịch lừa đảo đang diễn ra ít nhất là từ tháng 4 năm 2023 nhằm đánh cắp thông tin xác thực cho các máy chủ email Zimbra Collaboration trên toàn thế giới.
Tín nhiệm mạng | Các nhà nghiên cứu bảo mật đã tiết lộ một kỹ thuật mới cho phép duy trì truy cập trái phép trên các thiết bị iOS 16, có thể bị lạm dụng để theo dõi và truy cập lén lút vào thiết bị Apple ngay cả khi nạn nhân tin rằng thiết bị đó đang ngoại tuyến.
Tín nhiệm mạng | Một phương pháp tấn công mới được phát hiện có tên là NoFilter đã lạm dụng Windows Filtering Platform để thực hiện việc leo thang đặc quyền trong hệ điều hành Windows.