SSl Pinning android là gì? Cách fix SSL Pinning Android

1. SSl pinning android là gì?

SSL Pinning là một kỹ thuật bảo mật cho ứng dụng Android, nó cho phép một ứng dụng yêu cầu rằng một kết nối mạng phải sử dụng một chứng chỉ SSL/TLS đã xác định trước. Khi SSL Pinning được bật, nếu một kết nối mạng sử dụng chứng chỉ khác, ứng dụng sẽ từ chối kết nối này.

Mục đích của SSL Pinning là để ngăn chặn các tấn công Man-in-the-Middle (MITM), trong đó một attacker có thể thay đổi hoặc giả mạo kết nối mạng để lấy thông tin từ các giao dịch mạng. Bằng cách sử dụng SSL Pinning, bạn có thể đảm bảo rằng một kết nối mạng được thực hiện với một chứng chỉ SSL/TLS đã được xác định và chỉ có thể được sử dụng bởi một nhà phát triển được tin cậy.

2. Một số điều cần lưu ý khi sử dụng SSL Pinning trên Android.

  • Tùy chọn Pinning: Bạn có thể chọn Pinning theo chứng chỉ hoặc theo mã hóa. Pinning theo chứng chỉ có nghĩa là bạn sẽ chỉ chấp nhận một chứng chỉ SSL/TLS đã xác định, trong khi Pinning theo mã hóa có nghĩa là bạn sẽ chỉ chấp nhận một cặp mã hóa được xác định.
  • Tùy chọn Pinning cho từng API: Bạn có thể chỉ Pinning một số API cụ thể, ví dụ như API để đăng nhập hoặc API để gửi thông tin nhạy cảm.
  • Không hoàn toàn an toàn: Mặc dù SSL Pinning có thể giúp tăng mức độ bảo mật, nó vẫn có thể bị tấn công bằng cách sử dụng một kỹ thuật bypass, ví dụ như cài đặt một gói phần mềm giả mạo hoặc sử dụng một phần mềm jailbreak.

Vì vậy, nếu bạn muốn sử dụng SSL Pinning, hãy chắc chắn rằng bạn hiểu rõ các điều khoản và rủi ro của nó, và hãy tìm hiểu về các kỹ thuật bảo mật khác để bảo vệ dữ liệu của bạn. Đồng thời, hãy tìm hiểu về các phương pháp bảo mật khác, như mã hoá dữ liệu, xác thực người dùng và xác thực thiết bị, để tăng cường tổng thể bảo mật của hệ thống.

Cũng cần lưu ý rằng việc sử dụng SSL Pinning không phải là một giải pháp hoàn hảo cho tất cả các trường hợp, và có thể gây ra một số vấn đề về tính linh hoạt và khả năng mở rộng của hệ thống. Do đó, trước khi sử dụng SSL Pinning, hãy chắc chắn rằng bạn đã tìm hiểu kỹ về các lợi và hạn chế của nó và có quyết định đúng đắn về việc sử dụng nó hoặc không.

3. Cách fix SSL Pinning Android

 

Bước 1:

Bạn cần tải xuống Genymotion tại đây.  Sau đó cài đặt Genymotion,  Tôi sẽ sử dụng một Google pixel XL thiết bị có cài đặt bên dưới.

 

Bước 2: Công cụ nền tảng

Có thể tải xuống công cụ nền tảng cho Windows từ liên kết sau: https://developer.android.com/studio/releases/platform-tools.

 Bước 3: Gói Frida cho Python

Đối với máy chủ Frida , chúng tôi sẽ cần cài đặt một vài gói python . Trong một thiết bị đầu cuối, gõ lệnh sau: 

$ pip install Frida 
$ pip install objection 
$ pip install frida-tools 

— or —

$ python -m pip install Frida 
$ python -m pip install objection 
$ python -m pip install frida-tools 

Bước 3: Kết nối thiết bị với adb

//adb connect <ip of device:port> 
$ adb connect 192.168.54.103:5555 

Bước 4:

$ adb devices 

Bước 5: Tải xuống máy chủ Frida

$ adb shell getprop  ro.product.cpu.abi 

Bước 6: Chứng chỉ Proxy

// adb push <path to cer.cer> /data/local/tmp/cert-der.crt 
$ adb push cer.cer /data/local/tmp/cert-der.crt 

Bước 7: Thiết lập máy chủ Frida

//adb push <path_of_frida_server_folder><space></data/local/tmp>  
$ adb push "D:\Android Testing\platform-tools\frida-server" /data/local/tmp

Tiếp theo, chúng tôi sẽ cấp quyền sau cho tệp nhị phân frida -server:

$ adb shell chmod 777 /data/local/ tmp / frida -server 

Bước 8: Chèn tập lệnh để bỏ qua việc SSL Pinning 

Để đẩy fridascript.jstập lệnh vào thiết bị, hãy sao chép tập lệnh vào thư mục adb và chạy lệnh sau:

//adb push <path_to_fridascript.js_folder> /data/local/tmp  
$ adb push "D:\Android Testing\platform-tools\fridascript.js" /data/local/tmp 

Bước 9: Chạy lệnh sau trên thiết bị:

$ adb shell /data/local/ tmp / frida -server & 

Thao tác này sẽ khởi động Frida trên thiết bị.

Bước 10: Chạy lệnh sau trên thiết bị: 

Tiếp theo, liệt kê tất cả các tiến trình đang chạy của thiết bị. Bây giờ chúng ta phải xác định id của ứng dụng mục tiêu của mình. Mở một thiết bị đầu cuối mới và gõ lệnh sau:

$ frida-ps -U 

Bước 11: Đưa tập lệnh fridascript.js vào ứng dụng đích

Cuối cùng, chúng ta sẽ sử dụng lệnh sau để đưa tập lệnh fridascript.js vào ứng dụng gốc:

//frida -U -f <your_application_package_name> -l <path_to_fridascript.js_on_your_computer> --no-paus
$ frida -U -f com.twitter.android -l D:\Android Testing\platform-tools\fridascript.js --no-paus

Ok that’s it – good luck

 

 

0/5 (0 Reviews)

Leave a Comment