Зелёная боль
разработка под Android и прочее

Установка mitmproxy на Android и снифинг собственного трафика
21.07.2018 519

Присутствовал недавно при обсуждении на тему того, как организовать MITM на собственном устройстве для просмотра собственного трафика. В качестве одного из вариантов был озвучен mitmproxy, но т.к. до этого я его не устанавливал на мобильное устройство (chroot готовой системы не в счет), то возникло желание попробовать. Результат (спойлер: успешный) под катом.

Немного матчасти вместо введения

Для установки и эффективного использования mitmproxy на Android необходимо чтобы устройство было рутовано и на него был установлен tmux и любой другой терминал (системный с окружением android). Весь процесс сводится к уcтановке mitmproxy вместе с необходимыми зависимостями и установке его сертификата в качестве корневого (именно системного, а не пользовательского).

Установка mitmproxy

Необходимо в сессии tmux выполнить команды ниже.

После установки необходимо запустить mitmproxy с указанием ip адреса, на котором будет поднят прокси сервер. Узнать ip адрес можно через терминал командой ip addr или в настройках сетевого соединения

Запускаем в режиме обычного прокси сервера

Далее необходимо изменить настройки сетевого соединения, указав прокси (удерживаем палец на активном соединении, в контекстном меню выбираем «modify network».

В настройках proxy выбираем «manual» и прописываем ip адрес который получили по DHCP. Порт указываем по умолчанию 8080.

Пару слов по поводу того, зачем поднимать прокси на внешнем интерфейсе и почему не запустить mitmproxy в прозрачном режиме? Внешний интерфейс нужен для того (конкретно мне), чтобы подключать внешние устройства. А в прозрачном режиме mitmproxy отказался работать, и я пока не знаю почему (питон сыпется в исключениях).

Установка сертификата

Так вот, после запуска и настройки соединения в браузере на устройстве открываем страницу http://mitm.it (это локальная страница для скачивания сертификата). Скачиваем сертификат, считаем его хеш (необходимо для именования установленных в систему сертификатов)

После выполнения этой команды необходимо скопировать хеш в следующую команду

.o — расширение файла

Далее необходимо установить сертификат в систему. Пользовательские сертификаты могут не подойти, если хочется смотреть за трафиком сторонних приложений. Открываем системный терминал (либо подключаемся к устройству через adb).

Далее монтируем системный раздел в режим чтение/запись и копируем сертификат всистему

После перезагрузки устройства сертификат будет загружен и можно запускать mitmproxy и использовать по назначению.

Примечание: для использования в связке с другими устройствами не забудьте установить сертификат в систему.

Категории Research

Добавить комментарий

Ваш e-mail не будет опубликован.

Яндекс.Метрика