Nhập môn Pentest Mobile - Bypass Check Root trên thiết bị Android

Thảo luận trong 'Audit/Pentest Security' bắt đầu bởi Thriuenug, 22/02/21, 09:02 PM.

  1. Thriuenug

    Thriuenug Moderator Thành viên BQT

    Tham gia: 29/08/19, 03:08 AM
    Bài viết: 38
    Đã được thích: 20
    Điểm thành tích:
    8
    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ụ
    1.png

    Để tạo máy ảo mới, Click vào Create Virtual Device

    2.png

    Cài đặt thiết bị và thông số máy mà bạn muốn

    3.png

    Sau khi cài xong, khởi động thiết bị sẽ có giao diện như sau:

    4.png

    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

    5.png

    Bash: adb.exe device – xem các thiết bị đang mở

    6.png

    Bash: adb.exe install <ứng dụng muốn cài đặt> để cài đặt ứng dụng vào thiết bị

    7.png

    Ở đây tôi đã cài đặt thành công ứng dụng WaTF-Bank vào máy

    8.png

    Giao diện ứng dụng

    9.png

    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

    10.png

    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

    11.png

    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.

    12.png

    Bước 3: sử dụng frida-scrip để thực hiện bypass check root như trong hình.

    13.png

    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.

    14.png

    Để 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

    15.png
    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.

    16.png

    Sử dụng IP máy tính của bạn cổng 5000 để kết nối đến server

    17.png

    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!
     
    Chỉnh sửa cuối: 23/02/21, 08:02 AM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    DDos thích bài này.
  2. xd55

    xd55 Member

    Tham gia: 28/11/20, 10:11 PM
    Bài viết: 6
    Đã được thích: 1
    Điểm thành tích:
    3
    hay quá bạn ơi, cũng đang tìm hiểu thêm về frida, thằng này có vẻ mạnh
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    Thriuenug thích bài này.
  3. Thriuenug

    Thriuenug Moderator Thành viên BQT

    Tham gia: 29/08/19, 03:08 AM
    Bài viết: 38
    Đã được thích: 20
    Điểm thành tích:
    8
    Mình cũng đang trong quá trình tìm hiểu :D có nhiều ý tưởng mà chưa thực hiện được
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan