- vừa được xem lúc

Cài đặt môi trường Pentest Android trên Windows (Phần 2)

0 0 55

Người đăng: Tran Minh Nhat

Theo Viblo Asia

Sau phần 1 của series thì chúng ta đã có được môi trường java, python và máy ảo Android rồi. Trong phần 2 này chúng ta sẽ tiến hành cài đặt môi trường trong máy ảo để hỗ trợ pentest, cụ thể là cài root CA.

Burp Suite và Burp CA

Phần mềm Burp Suite có lẽ không còn xa lạ gì với những người đã chơi CTF mảng Web hay đã biết về Kiểm thử xâm nhập ứng dụng Web. Để Burp có thể chặn bắt được các gói tin từ trình duyệt thì chúng ta phải cài chứng chỉ của Burp vào trình duyệt trước. Với máy ảo Android cũng vậy.

Trong thiết bị Android cũng được cài đặt sẵn 1 số chứng chỉ, và chúng ta cũng có thể tự thêm chứng chỉ nếu muốn. Trong thiết bị Android có 2 kho chứng chỉ là root certificate (system)user certificate. Để có thể chặn bắt các gói tin bằng Burp Suite thì chúng ta phải thêm chứng chỉ vào kho root certificate.

Tuy nhiên với AVD thì chúng ta chỉ có quyền root khi sử dụng ADB mà thôi, do đó chứng chỉ tự thêm sẽ không vào được root certificate.

Với Genymotion thì chúng ta có thể sử dụng phần mềm root certificate manager để đưa chứng chỉ tự thêm thành chứng chỉ root một cách rất đơn giản.

Dưới đây mình sẽ hướng dẫn cài chứng chỉ root cho máy ảo AVD.

Cài root certificate trên Android 11

Kể từ phiên bản Android 10 trở lên thì các chứng chỉ có thời hạn quá lâu (lớn hơn 39 tháng) sẽ không được chấp nhận nữa, và các ứng dụng sẽ chỉ chấp nhận chứng chỉ của hệ thống (root) mà thôi. Do đó chứng chỉ của Burp sẽ không thể sử dụng được nữa, chúng ta bắt buộc phải tự tạo ra chứng chỉ riêng.

Tạo chứng chỉ

Bước 1: cài openssl. Ở đây mình cài vào máy ảo Kali (Hyper V).

sudo apt-get install openssl cp /usr/lib/ssl/openssl.cnf ./

Bước 2: tạo chứng chỉ, chúng ta có thể điền tùy ý

openssl req -x509 -days 730 -nodes -newkey rsa:2048 -outform der -keyout server.key -out ca.der -extensions v3_ca -config openssl.cnf

Bước 3: chuyển định dạng tệp tin server.key để sử dụng trong Burp Suite

openssl rsa -in server.key -inform pem -out server.key.der -outform der openssl pkcs8 -topk8 -in server.key.der -inform der -out server.key.pkcs8.der -outform der -nocrypt

Cài chứng chỉ

Bước 1: đổi đuôi tệp tin ca.der thành ca.cer

Bước 2: khởi động máy ảo và chỉ cần kéo - thả vào AVD là tệp tin ca.cer sẽ được copy vào thư mục sdcard/Download

Bước 3: tiến hành cài đặt chứng chỉ này bằng chức năng trong phần cài đặt của máy ảo AVD (Security > Encryption & credentials > Install a certificate > CA certificate). Sau khi cài đặt thành công, chứng chỉ sẽ có trong phần User certificate.

Các thông tin hoàn toàn khớp với thông tin khi chúng ta tạo chứng chỉ:

Đưa chứng chỉ vào kho System certificate

Trước khi đưa chứng chỉ thành Root CA thì chúng ta phải cài vào kho User CA vì các chứng chỉ trong thiết bị Android sẽ được lưu dưới dạng {hash-của-tệp-tin}.0

Việc cài đặt User CA trước sẽ khiến thiết bị Android tự động tạo đúng định dạng cho chúng ta, lúc này chỉ cần sử dụng adb pull để lấy tệp tin .0 về và chuyển nó vào kho System CA.

Bước 1: copy chứng chỉ đã cài đặt tại "/data/misc/user/0/cacerts-added"

# Khởi động ADB với quyền root
adb root # kiểm tra tên tệp tin chứng chỉ đã cài
adb shell "ls /data/misc/user/0/cacerts-added" # kéo chứng chỉ về máy Windows
adb pull "/data/misc/user/0/cacerts-added/46f37c33.0" ./

Bước 2: chạy lần lượt các lệnh sau để có quyền ghi vào thư mục system

adb root adb shell avbctl disable-verification adb disable-verity adb reboot

Sau khi AVD khởi động lại thì chạy lần lượt các lệnh sau:

adb root adb remount adb push .\46f37c33.0 /system/etc/security/cacerts/

Khi thành công thì chúng ta đã có chứng chỉ nằm trong System CA.

Chặn bắt gói tin với Burp Suite

Bước 1: thêm IP sử dụng làm proxy

Bước 2: thêm chứng chỉ tự tạo vào Burp Suite. Chúng ta cần đổi chứng chỉ sang định dạng ca.der để thêm được vào Burp.

Bước 3: cài đặt proxy trong máy ảo Android

Bước 4: thử dùng Burp Proxy để chặn bắt gói tin từ trình duyệt Chrome

Như vậy là chúng ta đã thành công cài đặt AVD để có thể chặn bắt các gói tin. Với các ứng dụng không sử dụng SSL/TLS pining thì chúng ta có thể dễ dàng bắt được các gói tin theo cách trên. Còn với các ứng dụng có sử dụng SSL/TLS pining thì chúng ta phải thực hiện bypass mới có thể bắt được. Yên tâm, sau này mình nhất định sẽ có bài viết hướng dẫn bypass SSL pining ?

Cài root certificate trên Android 7

Với các thiết bị Android sử dụng phiên bản hệ điều hành thấp hơn Android 10 (Android Nougat) thì cách làm tương tự. Với các phiên bản thấp hơn Android 10 thì không cần bước tự tạo chứng chỉ, chúng ta có thể sử dụng luôn chứng chỉ của Burp Suite.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Hành trình pass OSCP trong lần thi đầu tiên (2020)

Vào một chiều đông 17/12/2020, tôi nhận được cái email thông báo đã pass OSCP ngay lần thử đầu tiên. Sau đó, tôi bắt đầu tìm hiểu về Security và quyết định học cái gì đó cho riêng mình.

0 0 179

- vừa được xem lúc

Segmentation penetration testing for PCI compliance

Giới thiệu – tổng quan về Network Segmentation. Các phân đoạn mạng(Network segment) hiện là một phần của cơ sở hạ tầng của bất kỳ tổ chức hoặc doanh nghiệp nào.

0 0 28

- vừa được xem lúc

Cài đặt môi trường Pentest Android trên Windows (Phần 1)

Một trong số các vấn đề khó nhất với những ai muốn tìm hiểu về Kiểm thử xâm nhập ứng dụng Android (Pentesting Android applications) là cách cài đặt môi trường kiểm thử. Kiểm thử xâm nhập ứng dụng di đ

0 0 129

- vừa được xem lúc

Một vài mẹo mà mình sử dụng với Burp Suite

Tự sự. Chuyện là có mấy thằng em hỏi mình về cách sử dụng Burp Suite như thế nào, rồi có tips and tricks nào hay hay không cho chúng nó học, tiện đây mình cũng chia sẻ kinh nghiệm của một người sử dụn

0 0 107

- vừa được xem lúc

Một vài mẹo mà mình sử dụng với Burp Suite (phần 2)

Bài này là bài nối tiếp về một bài mà mình đã viết tại Một vài mẹo mà mình sử dụng với Burp Suite. Bài đầu tiên mình đã viết về một vài tips và trick mình hay sử dụng với Burp Suite mặc định rồi, bài

0 0 74

- vừa được xem lúc

Cài đặt môi trường Pentest Android trên Windows (Phần 3)

Trong phần 1 và phần 2 của series mình đã hướng dẫn về cách cài đặt môi trường cơ bản và cài root certificate. Với các cài đặt này chúng ta đã có đủ hầu hết điều kiện để tiến hành kiểm thử xâm nhập ứn

0 0 80