-
Notifications
You must be signed in to change notification settings - Fork 29
Создание дампа подключения
У меня не всегда есть возможность быстро отреагировать на какие-то изменения в работе сети или, например, добраться до Санкт-Петербурга, чтобы проверить, что там сломалось. Но вы можете помочь мне в разработке, собрав дамп процесса авторизации и отправив его мне. Дамп содержит всю необходимую для реализации алгоритма информацию, включая: параметры исходящих запросов, ответы сервера, Cookies и т.п.
Данная инструкция подходит для любых устройств под управлением Android. Права root не требуются!
Вам понадобится установить следующие приложения:
-
Chrome (скорее всего он уже есть)
- Firefox игнорирует системные и пользовательские сертификаты, поэтому он не подходит;
- Chrome Beta, похоже, тоже игнорирует системные сертификаты;
- Termux (версия в Google Play часто сильно отстаёт и ломается)
- TunProxy (APK)
Я подготовил скрипт, который должен установить и настроить всё, что вам понадобится. Запустить его можно следующей командой:
curl -s https://gist.githubusercontent.com/TheDrHax/b68e14902ba644a23956289ad9375eea/raw/install.sh | sh -
Исходный код всех скриптов можно посмотреть здесь.
TunProxy позволяет включать прокси для любого набора приложений, а не только глобально. Это очень полезно при сборе дампов, так как таким образом в дамп не попадёт ничего лишнего от системы или других приложений.
- Откройте TunProxy;
- В верхней панели нажмите на "..." и затем "Настройки";
- В первом пункте выберите "Все, кроме указанных в чёрном списке";
- В 3-м пункте найдите и выберите Termux;
- На главном экране введите в текстовое поле:
127.0.0.1:8080
- Нажмите "Запустить";
- Если появился диалог с подтверждением, нажмите "OK";
- Нажмите "Остановить";
Так как mitmproxy осуществляет MITM-атаку на трафик, Chrome и другие браузеры будут постоянно выдавать предупреждение о подмене сертификата удалённого сервера. Чтобы этого избежать, mitmproxy генерирует свой корневой сертификат, который нужно добавить в список доверенных.
Порядок действий:
- Запустите захват пакетов (см. пункт 2.1);
- Активируйте прокси для Chrome (см. пункт 2.2);
- Откройте Chrome и перейдите на сайт http://mitm.it;
- На открывшейся странице найдите пункт "Android" и нажмите "Get mitmproxy-ca-cert.cer";
- Android 10 и старше:
- В открывшемся диалоге введите любое название (например, "mitmproxy") и нажмите "OK";
- Android 11 и новее:
- Скачайте сертификат;
- Откройте: Настройки системы - Безопасность - Шифрование и учётные данные - Установка сертификатов;
- Выберите пункт "Сертификат центра сертификации" и в открывшемся диалоге найдите скачанный ранее сертификат;
Откройте Termux и введите следующую команду:
./dump.sh
После этого Termux можно свернуть - он продолжит работать в фоне, пока не будет закрыт командой exit или через уведомление.
Чтобы остановить скрипт, нажмите Enter или Ctrl+C.
Дампы будут сохранены во внешнее хранилище устройства в папку "mitmproxy". Название каждого дампа отражает дату и время его запуска.
Порядок действий:
- Открыть TunProxy;
- Включить прокси с помощью кнопки "Запустить";
-
Подготовка:
- Отключите автоматическое подключение в приложении "Wi-Fi в метро": Главное меню → Автоматическая авторизация (снять галочку);
- Подключитесь к сети Wi-Fi;
- Запустите скрипт и активируйте прокси (см. пункты 2.1 и 2.2);
-
Авторизация:
- Откройте Chrome;
- Откройте вкладку в режиме инкогнито (желательно);
- Откройте любую из следующих ссылок:
- Если открылась пустая страница, то доступ в интернет, скорее всего, уже есть. Если же его точно нет, попробуйте любую из этих ссылок:
- Если открылась страница входа, выполните авторизацию, как обычно;
-
Сохранение:
- Отключите прокси и завершите mitmproxy (Enter или Ctrl+C в Termux);
- Готовый дамп должен появиться на SD-карте по пути "mitmproxy/ДАТА-ВРЕМЯ.mpcap";
-
Отправка:
- Отправьте файл дампа мне на почту
mosmetro@thedrhax.pw
или в Telegram;
- Отправьте файл дампа мне на почту