Thriuenug
VIP Members
-
29/08/2019
-
21
-
43 bài viết
Nhập môn Pentest Mobile - Bypass Check Root 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.
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.
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
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.
Bước 3: sử dụng frida-scrip để thực hiện bypass check root như trong hình.
Như vậy là đã bypass check root thành công, bạn chỉ cần allow các quyền cho ứng dụng để sử dụng.
Để sử dụng ứng dụng ta cần khởi chạy server kết nối. Tại folder Backend trong WaTF-Bank vừa tải về ta sử dụng pip để cài đặt thư viện.
Bash:
pip3 install -r requirements.txt
./StartServer
Sau khi mở server, ta sử dụng tài khoản mật khẩu như sau để đăng nhập vào ứng dụng.
Sử dụng IP máy tính của bạn cổng 5000 để kết nối đến server
Như vậy là ta có thể sử dụng ứng dụng WaTF-Bank. Bạn có thể tìm hiểu các tính năng trong ứng dụng này.
Chi tiết các bạn có thể xem Video dưới đây.
Ở phần sau tôi sẽ demo khai thác các lỗ hổng đang tồn tại trong ứng dụng. Liệu bạn có thể tìm tòi và khai thác được??? Hãy comment bên dưới để trao đổi nhé. Cảm ơn và hẹn gặp lại!
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.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
Cài đặt giả lập thiết bị Android trên máy tính
Tải và cài đặt Android Studio IDESau 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.
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
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-x86Bash : 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.
Bước 3: sử dụng frida-scrip để thực hiện bypass check root như trong hình.
Như vậy là đã bypass check root thành công, bạn chỉ cần allow các quyền cho ứng dụng để sử dụng.
Để sử dụng ứng dụng ta cần khởi chạy server kết nối. Tại folder Backend trong WaTF-Bank vừa tải về ta sử dụng pip để cài đặt thư viện.
Bash:
pip3 install -r requirements.txt
./StartServer
Sử dụng IP máy tính của bạn cổng 5000 để kết nối đến server
Như vậy là ta có thể sử dụng ứng dụng WaTF-Bank. Bạn có thể tìm hiểu các tính năng trong ứng dụng này.
Chi tiết các bạn có thể xem Video dưới đây.
Chỉnh sửa lần cuối bởi người điều hành: