Сегодня поговорим про перехват HTTP-запросов мобильного приложения, не поддерживающего прокси.
Еще по теме: Перехват трафика в локальной сети по проводу
Перехват HTTP-запросов мобильного приложения
Мобильные приложения становятся все более популярными, и многие разработчики предпочитают создавать их, используя такие фреймворки, как Xamarin. Однако иногда эти приложения не следуют настройкам прокси устройства, что затрудняет перехват HTTP-запросов в Burp Suite или других инструментах прокси.
В таких случаях важно найти решение, которое позволяет перехватывать эту информацию. Одно из эффективных решений — создание собственной OpenVPN. Этот процесс заключается в перенаправлении всего трафика, исходящего из устройства, на VPN, который затем направляет его на IP-адрес Burp Suite. Этот метод был тщательно протестирован и доказал свою эффективность.
Подробные шаги по настройке среды:
Шаг 1: Создание пользовательской OpenVPN. В этом случае мы воспользуемся Digital Ocean для хостинга нашего VPN. Мы также будем использовать виртуальные машины (droplets) с установленной Ubuntu 22.04.
Создайте две виртуальные машины — одну для хостинга нашего OpenVPN и другую для частного сертификата (Certificate Authority, CA).
Рекомендуемые виртуальные машины:
- Для хостинга OpenVPN — виртуальная машина ($10)
- Для хостинга частного CA — виртуальная машина ($5)
Шаг 2: Следуйте этой документации, чтобы настроить OpenVPN на Digital Ocean. Пожалуйста, будьте внимательны и выполняйте все шаги. В противном случае VPN не будет работать.
Шаг 3: Создайте два клиента для OpenVPN — один будет установлен на мобильном устройстве, а другой — на системе, где установлен Burp Suite.
Шаг 4: После настройки OpenVPN нам понадобится создать правила NAT для маршрутизации трафика на Burp Suite. Создайте следующие правила (номер порта должен соответствовать порту Burp Suite):
1 2 |
iptables -t nat -A PREROUTING -p tcp --dport 443 -s 10.8.0.6 -j DNAT --to-destination 10.8.0.10:8081 iptables -t nat -A POSTROUTING -p tcp --dport 8081 -d 10.8.0.10 -j SNAT --to-source 10.8.0.10 |
Здесь 10.8.0.6 — это локальный IP на мобильном устройстве, а 10.8.0.10 — локальный IP, на котором установлен Burp Suite.
Правила NAT должны выглядеть примерно так:
Шаг 5: Включите невидимый прокси (invisible proxy) в Burp Suite:
Шаг 6: Теперь подключитесь к VPN на мобильном устройстве и на системе. Это подключение должно перехватывать HTTP-запросы и ответы.
Надеюсь статья была полезна и вы смогли перехватить HTTP-запросы мобильного приложения, не поддерживающего прокси.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Перехват трафика с помощью HTTP Toolkit
- Проксирование и перехват трафика приложений macOS
- Использование STP Root Hijacking для перехвата трафика