Các nhà nghiên cứu bảo mật vừa phát hiện một mã độc Android mới có tên RatHat, sử dụng kết hợp quyền Accessibility và Android Debug Bridge (ADB) để giành quyền thực thi ở mức shell trên thiết bị. Đáng chú ý, mã độc có khả năng duy trì quyền truy cập và tự khôi phục ngay cả khi người dùng đã gỡ ứng dụng độc hại.
Lạm dụng Accessibility để tự bật Wireless Debugging
RatHat chủ yếu phát tán qua tin nhắn lừa đảo, quảng cáo độc hại và các trang web giả mạo yêu cầu người dùng tải ứng dụng Android dưới dạng APK. Sau khi được cài đặt, mã độc tìm cách thuyết phục nạn nhân cấp quyền Accessibility.
Với quyền này, RatHat có thể tự động thao tác trên giao diện Android để mở Developer Options, bật Wireless Debugging, truy cập màn hình ghép nối ADB và lấy mã ghép nối gồm 6 chữ số cùng cổng kết nối.
Sau đó, mã độc sử dụng thư viện ADB được tích hợp sẵn để tự ghép nối với dịch vụ ADB đang chạy trên chính thiết bị. Cách làm này cho phép RatHat có được môi trường thực thi lệnh ở mức shell mà không cần kết nối điện thoại với máy tính bên ngoài.
Với quyền này, RatHat có thể tự động thao tác trên giao diện Android để mở Developer Options, bật Wireless Debugging, truy cập màn hình ghép nối ADB và lấy mã ghép nối gồm 6 chữ số cùng cổng kết nối.
Sau đó, mã độc sử dụng thư viện ADB được tích hợp sẵn để tự ghép nối với dịch vụ ADB đang chạy trên chính thiết bị. Cách làm này cho phép RatHat có được môi trường thực thi lệnh ở mức shell mà không cần kết nối điện thoại với máy tính bên ngoài.
Gỡ ứng dụng chưa chắc đã chấm dứt mã độc
Sau khi có quyền shell, RatHat triển khai các thành phần native được ngụy trang dưới dạng thư viện Android. Trong đó, liblocal-service.so đóng vai trò tác nhân điều khiển cục bộ, có thể thực hiện các lệnh và thiết lập cơ chế duy trì hoạt động.
Một thành phần khác là libmedia_codec.so, hoạt động như một FRP reverse proxy để tạo đường hầm từ thiết bị bị nhiễm tới máy chủ điều khiển của kẻ tấn công.
Đáng chú ý, quyền shell cho phép thành phần này hoạt động độc lập với ứng dụng Android ban đầu. RatHat có thể kiểm tra xem ứng dụng độc hại còn tồn tại hay không và khôi phục lại ứng dụng khi phát hiện nó đã bị gỡ. Do đó, việc người dùng xóa biểu tượng hoặc gỡ ứng dụng không nhất thiết đồng nghĩa với việc quyền truy cập của kẻ tấn công đã bị loại bỏ hoàn toàn.
Một thành phần khác là libmedia_codec.so, hoạt động như một FRP reverse proxy để tạo đường hầm từ thiết bị bị nhiễm tới máy chủ điều khiển của kẻ tấn công.
Đáng chú ý, quyền shell cho phép thành phần này hoạt động độc lập với ứng dụng Android ban đầu. RatHat có thể kiểm tra xem ứng dụng độc hại còn tồn tại hay không và khôi phục lại ứng dụng khi phát hiện nó đã bị gỡ. Do đó, việc người dùng xóa biểu tượng hoặc gỡ ứng dụng không nhất thiết đồng nghĩa với việc quyền truy cập của kẻ tấn công đã bị loại bỏ hoàn toàn.
Nhắm tới tài khoản ngân hàng và mã OTP
RatHat có thể hiển thị các giao diện giả mạo phủ lên những ứng dụng ngân hàng, thanh toán hoặc tiền điện tử nhằm đánh cắp tài khoản, mật khẩu và mã PIN. Mã độc cũng có khả năng đọc SMS và thông báo để thu thập mã OTP, ghi lại thông tin nhập trên màn hình và thu thập URL được mở trên trình duyệt.
Đặc biệt, thành phần chạy với quyền shell có thể sử dụng công cụ getevent để theo dõi dữ liệu đầu vào từ thiết bị. Các nhà nghiên cứu cho biết kỹ thuật này có thể giúp RatHat thu thập vị trí và thời điểm người dùng chạm vào màn hình, từ đó hỗ trợ suy đoán PIN hoặc mẫu mở khóa.
Sử dụng AI để tự động điều khiển giao diện
RatHat còn có một cơ chế điều khiển đáng chú ý. Mã độc có thể chuyển cây Accessibility của thiết bị thành dữ liệu XML và gửi một phần thông tin tới một trợ lý AI tạo sinh.
AI được sử dụng để xác định vị trí của các thành phần trên màn hình, nhận diện nội dung hiển thị và đưa ra các thao tác điều hướng như cuộn trang. Điều này giúp RatHat thực hiện các thao tác trên giao diện linh hoạt hơn so với những kịch bản được lập trình cố định.
AI được sử dụng để xác định vị trí của các thành phần trên màn hình, nhận diện nội dung hiển thị và đưa ra các thao tác điều hướng như cuộn trang. Điều này giúp RatHat thực hiện các thao tác trên giao diện linh hoạt hơn so với những kịch bản được lập trình cố định.
Khuyến cáo
Người dùng Android không nên cài APK được gửi qua SMS, mạng xã hội hoặc các trang tải ứng dụng không rõ nguồn gốc, đặc biệt khi ứng dụng yêu cầu quyền Accessibility hoặc hướng dẫn bật Developer Options và Wireless Debugging.
Nếu điện thoại bất ngờ xuất hiện yêu cầu bật Accessibility, Developer Options hoặc Wireless Debugging mà người dùng không chủ động thực hiện, cần dừng thao tác và kiểm tra lại thiết bị.
Với thiết bị đã cài ứng dụng đáng ngờ, chỉ gỡ ứng dụng có thể chưa đủ. Cần kiểm tra lại các quyền đặc biệt, trạng thái Wireless Debugging và những ứng dụng hoặc thành phần bất thường trên thiết bị. Với trường hợp nghi ngờ đã bị kiểm soát, nên sao lưu dữ liệu cần thiết và thực hiện quy trình xử lý thiết bị bị xâm nhập thay vì tiếp tục sử dụng như bình thường.
Nếu điện thoại bất ngờ xuất hiện yêu cầu bật Accessibility, Developer Options hoặc Wireless Debugging mà người dùng không chủ động thực hiện, cần dừng thao tác và kiểm tra lại thiết bị.
Với thiết bị đã cài ứng dụng đáng ngờ, chỉ gỡ ứng dụng có thể chưa đủ. Cần kiểm tra lại các quyền đặc biệt, trạng thái Wireless Debugging và những ứng dụng hoặc thành phần bất thường trên thiết bị. Với trường hợp nghi ngờ đã bị kiểm soát, nên sao lưu dữ liệu cần thiết và thực hiện quy trình xử lý thiết bị bị xâm nhập thay vì tiếp tục sử dụng như bình thường.
Được phối hợp thực hiện bởi các chuyên gia của Bkav,
cộng đồng An ninh mạng Việt Nam WhiteHat
và cộng đồng Khoa học công nghệ VnReview
