Kết quả tìm kiếm

TikTok SSL Pinning Bypass

TikTok SSL Pinning Bypass

20 giờ trước
60
Văn Hải
Chia sẻ:

Tình cờ lướt blog của pháp sư Trung Hoa, thấy một script bypass SSL Pinning khá hay nên chia sẻ lại cho anh em

Phải công nhận là cộng đồng bên đó có rất nhiều pháp sư, đặc biệt ở mảng phân tích ứng dụng và bảo mật.

Lưu ý: Đây là bản dịch và chia sẻ lại nội dung gốc của tác giả Trung Quốc. Mình không phải tác giả của script hay bài viết gốc, mục đích chỉ là chia sẻ tài liệu để cộng đồng IT Việt Nam học hỏi thêm.


SSL-Pinning-Bypass là gì?

Đây là một script Frida dành cho Android, tập trung vào việc xử lý các cơ chế kiểm tra chứng chỉ (SSL Pinning) khi phân tích ứng dụng.

Script hoạt động trên cả hai tầng:

  • Java Layer: OkHttp, SSLContext, TrustManager, HttpsURLConnection, TrustKit, Cronet, WebView, Flutter...

  • Native Layer: BoringSSL, Cronet, OpenSSL và các callback như SSL_CTX_set_custom_verify, SSL_set_custom_verify.

Điểm mình thấy hay là tác giả mặc định để script chạy ở Stable Mode, ưu tiên tính ổn định thay vì hook mọi thứ ngay từ đầu.


Những tính năng đáng chú ý

Script hỗ trợ khá nhiều trường hợp phổ biến:

  • Bypass OkHttp CertificatePinner

  • Thay thế hostnameVerifier

  • Hook SSLContext.init()

  • Override TrustManagerImpl

  • Hook TrustManagerFactory

  • Xử lý HttpsURLConnection

  • Hỗ trợ TrustKit

  • Hỗ trợ Cronet Public Key Pinning

  • Nhận diện Flutter/Dart

  • Theo dõi dlopen để tự quét khi thư viện .so được load

  • Hook callback verify ở tầng Native của BoringSSL/Cronet


Cấu hình mặc định ưu tiên ổn định

Một số tùy chọn được tắt sẵn:

enableMultiClassLoaderScan: false,
enableAutoDiscovery: false,
printNativeBacktrace: false,
enableCronetQuicDowngrade: false,
enableWebViewSslErrorProceed: false,
enableNativeReturnOverrideHooks: false,
hookSslCtxSetVerify: false,

Theo tác giả, đây là cách giảm nguy cơ gặp:

  • Màn hình trắng

  • Màn hình đen

  • Treo ứng dụng

  • Crash ngay khi inject


Quy trình debug được khuyến nghị

Thay vì bật toàn bộ hook ngay từ đầu, tác giả gợi ý:

  1. Chạy với cấu hình mặc định.

  2. Kiểm tra log xem đã hook được các thành phần như:

    • OkHttp CertificatePinner

    • SSLContext.init

    • SSL_CTX_set_custom_verify

    • libsscronet.so

    • libttboringssl.so

  3. Nếu chưa bắt được HTTPS thì mới bật từng tính năng mở rộng.

  4. Nếu app bị treo thì tắt dần các hook Native trước.

Cách tiếp cận này khá thực tế vì nhiều app hiện nay có chống Frida hoặc dùng thư viện mạng tùy biến.


Khi nào nên bật các tính năng nâng cao?

Nếu gặp ứng dụng:

  • Obfuscate

  • Plugin hóa

  • Dùng packer

  • ClassLoader phức tạp

thì có thể bật:

enableMultiClassLoaderScan: true,
enableAutoDiscovery: true,

Nếu cần phân tích call stack Native:

printNativeBacktrace: true,

Nhưng tác giả cũng nhắc rằng tùy chọn này tạo rất nhiều log và ảnh hưởng hiệu năng.


Một vài ghi chú hay từ tác giả

Bài viết cũng nhấn mạnh rằng không phải mọi ứng dụng đều có thể xử lý bằng một script duy nhất.

Một số trường hợp vẫn cần bổ sung hook riêng, chẳng hạn:

  • Native TLS tự viết

  • Anti-Frida

  • Certificate Transparency

  • QUIC

  • Thư viện mạng tải động

Đây cũng là thực tế mà anh em làm reverse Android chắc gặp khá nhiều.


Cảm nhận cá nhân

Đọc khá nhiều tài liệu từ cộng đồng Trung Quốc mới thấy họ đầu tư rất sâu vào mảng Android Security và Reverse Engineering. Nhiều bài viết chia sẻ cực kỳ thực chiến, đặc biệt là các script Frida được viết khá bài bản và có nhiều cấu hình để tránh crash ứng dụng.

Mình sẽ tiếp tục dịch và chia sẻ những tài liệu hay như thế này khi gặp, để anh em trong cộng đồng IT Việt Nam có thêm nguồn tham khảo khi nghiên cứu và học tập.

Nguồn: Bài viết gốc của tác giả trên diễn đàn kỹ thuật Trung Quốc (được dịch và tóm lược sang tiếng Việt, giữ nguyên tinh thần nội dung gốc).

File tải về (1)

tiktokJs.zip [9KB]
4 lượt tải
Tải về

Bài viết liên quan (1)

Xem tất cả

Điều khoản sử dụng

Bạn cần đồng ý với điều khoản sử dụng của Army2.Net - Tải Game, Ứng Dụng & Tài Liệu Lập Trình Miễn Phí | Chia Sẻ Công Nghệ Mỗi Ngày trước khi tiếp tục xem nội dung.

Xem đầy đủ điều khoản