Bypass check root cho ứng dụng trên thiết bị Android
Hacker mũ trắng kiếm hàng triệu USD tiền thưởng vì tìm ra lỗ hổng phần mềm và báo cáo lỗ hổng với nhà phát triển sản phẩm. Bạn có tò mò quá trình tìm kiếm lỗ hổng của họ như thế nào? Đây sẽ là bước đệm cơ bản để có thể thành hacker mũ trắng (pentest mobile). Khi thực hiện Pentest hoặc khai thác ứng dụng, ta cần cài đặt ứng dụng trên thiết bị Android đã root. Vì vậy trong bài này tôi sẽ hướng dẫn các bạn cách Bypass Bheck Boot của ứng dụng trên thiết bị Android. Sẽ là những kiến thực nhập môn đơn giản.
1. Bypass root là gì?
Khi phát triển một ứng dụng, nhà phát triển thực hiện cơ chế check root để ngăn chặn người dùng sử dụng ứng dụng trong thiết bị Android đã root. Khi người dùng cố gắng cài đặt thêm ứng dụng, sẽ có thông báo không cho phép ứng dụng cài đặt trên thiết bị đã root.
2. Các công cụ:
– Giả lập thiết bị Android trên máy tính (tôi sử dụng Android Studio IDE)
– Ứng dụng WaTF-Bank
– Platform-tools của Android
– Frida
2.1 Cài đặt giả lập thiết bị Android trên máy tính
Tải và cài đặt Android Studio IDE
Sau khi cài đặt, click vào ADV Manager trên thanh công cụ
Để tạo máy ảo mới, Click vào Create Virtual Device
Cài đặt thiết bị và thông số máy mà bạn muốn
Sau khi cài xong, khởi động thiết bị sẽ có giao diện như sau:
Như vậy là bạn đã có 1 thiết bị Android.
2.2 Cài đặt ứng dụng WaTF-Bank lên thiết bị để thực hành
WaTF-Bank là một ứng dụng mô phỏng một dịch vụ ngân hàng tồn tại hơn 30 lỗ hổng bảo mật, là môi trường để thực hành đánh giá bảo mật ứng dụng.
Link tải: https://github.com/WaTF-Team/WaTF-Bank
Để cài đặt ứng dụng watf-bank.apk trên thiết bị, ta cần cài đặt Platform-tools của Android
Link tải: https://developer.android.com/studio/releases/platform-tools
Để cài đặt ứng dụng, ta sử dụng tool adb
Bash: adb.exe help để tham khảo khả năng hỗ trợ của tool
Bash: adb.exe device – xem các thiết bị đang mở
Bash: adb.exe install <ứng dụng muốn cài đặt> để cài đặt ứng dụng vào thiết bị
Ở đây tôi đã cài đặt thành công ứng dụng WaTF-Bank vào máy
Giao diện ứng dụng
Cuối cùng cài đặt Frida. Frida là bộ công cụ dùng để đánh giá và kiểm tra các ứng dụng Android.
Bash: pip install frida
Cần thiết lập Frida trên thiết bị Android, cần phải tải xuống frida server cho nền tảng Android tương ứng từ trang web:
https://github.com/frida/frida/releases/
Tôi đã test và cảm thấy phiên bản 14.0.2 là ổn định nhất
3. Các bước thực hiện bypass check root
Bước 1: Sao chép frida server vào thư mục tmp của điện thoại, sau khi sao chép thay đổi quyền của tệp frida-server-14.0.2-android-x86
Bash : adb.exe root
adb.exe push “<file frida server” /data/local/tmp
adb.exe shell
cd /data/local/tmp
chmod 777 frida-server-14.0.2-android-x86
./frida-server-14.0.2-android-x86
Bước 2: Cài đặt ứng dụng trong điện thoại, có thể kết nối với frida server bằng cmd và sử dụng lệnh “frida-ps –U” để liệt kê tất cả tiến trình đang chạy.