Việc bắt request để phân tích lưu lượng mạng là một phần rất quan trọng trong pentest di động và phân tích malware. Thông thường, mình hay sử dụng ProxyDroid để bắt các traffic này đi qua Burp Suite nhằm phân tích và thực hiện pentest. ProxyDroid giúp chặn và phân tích hầu hết các loại traffic, hỗ trợ người dùng xác định các lỗ hổng bảo mật và kiểm tra các ứng dụng di động một cách hiệu quả.
Tuy nhiên, ProxyDroid lại không bắt được traffic gửi tới Firebase, một dịch vụ phổ biến được nhiều ứng dụng di động sử dụng để lưu trữ và đồng bộ dữ liệu. Điều này tạo ra một khoảng trống trong quá trình phân tích và kiểm thử, khiến cho việc xác định và xử lý các lỗ hổng bảo mật liên quan đến Firebase trở nên khó khăn hơn.
Để giải quyết vấn đề này, mình đã tìm ra một giải pháp khác, đó là sử dụng Reqable. Reqable là một công cụ mạnh mẽ và linh hoạt, cho phép bắt và phân tích mọi loại traffic, bao gồm cả những traffic gửi tới Firebase. Bằng cách tích hợp Reqable vào quy trình pentest, mình có thể mở rộng phạm vi phân tích và đảm bảo rằng không có lưu lượng mạng nào bị bỏ sót.
Chuẩn bị
Cài đặt Reqable thực chất khá dễ dàng, ở đây mình sử dụng WSA (Windows Subsystem for Android™️) làm môi trường để cài đặt Reqable. Bạn đọc có thể tải Reqable tại trang chủ https://reqable.com/en-US/download
Đầu tiên, chỉ cần download và mở ứng dụng lên.
Sau đó, chấp nhận một vài các điều khoản sử dụng. Reqable cung cấp cho chúng ta hai chế độ làm việc, và ở đây mình sử dụng Standalone Mode.
Tiếp theo, cần cài đặt thêm Reqable Magic Service (RMS) để có thể bắt được traffic. Chỉ cần download và cài đặt service RMS là xong.
Sau khi cài đặt xong, nhớ bật service lên để kích hoạt.
Sau khi hoàn tất, bạn sẽ thấy giao diện như sau:
Tiếp tục cài đặt certificate để có thể giải mã traffic HTTPS. Nhấn vào nút màu vàng phía dưới cùng bên phải, ứng dụng sẽ yêu cầu bạn cài đặt certificate.
Ứng dụng có hướng dẫn cài đặt cho nhiều loại thiết bị khác nhau. Đối với WSA, mình sử dụng Magisk để cài đặt nhanh chóng. Chỉ cần download gói và cài đặt module đó vào Magisk.
(Ngoài ra, bạn cũng có thể import certificate của Burp vào nếu WSA đã có sẵn certificate của Burp).
Nếu mọi thứ đã xong, chỉ cần nhấn lại nút màu vàng ở góc dưới bên phải là có thể bắt đầu capture traffic.
Với các bước này, bạn đã hoàn thành việc cài đặt và cấu hình Reqable để bắt và phân tích lưu lượng mạng. Điều này giúp nâng cao hiệu quả trong quá trình pentest và phân tích bảo mật.
Capture Traffic
Tại đây mình thử capture traffic với một ứng dụng Android có sử dụng Firebase. Capture request Firebase ngon lành, điều mà ProxyDroid không làm được :(
Android Reqable sử dụng phương pháp bắt request thông qua VPN thay vì proxy, do đó có thể bắt được những request như Firebase mà các phương pháp proxy thông thường không thể xử lý.
Reqable có ứng dụng trên PC, có thể sử dụng mode Collaborative để kết nối. Lúc này toàn bộ traffic từ Android sẽ được chuyển về PC để có thể thao tác nhanh hơn, thuận tiện cho việc pentest hay phân tích. Điều này giúp tối ưu hóa việc phân tích lưu lượng mạng, đảm bảo rằng bạn có thể kiểm tra các yêu cầu mạng chi tiết và phát hiện các lỗ hổng bảo mật một cách hiệu quả hơn.
Chỉ cần tải ứng dụng trên Windows, Mac OS, hoặc Linux, sau đó kết nối với tính năng Remote Devices, bạn có thể bắt và chỉnh sửa request trực tiếp trên PC.