Как прослушивать трафик приложения? Подробная инструкция

А ты слушаешь траф прилки? Если нет, то уже давно пора! В этой статье расскажу, как это делаю я.
В материале много текста и скринов.

Речь пойдет об одном из способов прослушивания трафика android-приложения AdsManadger Facebook, а именно о поиске пары app_id|secret_key приложения.

Материал написан исключительно с образовательной целью.

Кому лень читать, может посмотреть процесс перехвата трафика приложения Reddit на видео, там все понятно без перевода.

План действий:
1. Скачиваем apk-файл приложения.
2. Декомпилируем его с помощью ApkTool.
3. «Отключаем» проверку SSL.
4. Собираем apk-файл.
5. Подписываем apk-файл и устанавливаем приложение.
6. Слушаем трафик.

Итак, теперь по порядку.
1. Скачиваем apk-файл приложения AdsManadger Facebook с сайта APKMirror.
Для удобства создайте новую папку, переместите в нее скачанный файл и переименуйте его в adsmanager.apk.

2. Декомпилируем apk-файл с помощью ApkTool
2.1 Скачиваем и устанавливаем ApkTool.

2.2 Переходим в папку с файлом приложения, в строке пути проводника пишем cmd. Откроется командная строка, вводим команду
apktool
Если пакет ApkTool установлен верно, то будет выведен список доступных команд.



2.3 Теперь в командной строке пишем
apktool d adsmanager.apk
Рядом с apk-файлом будет создана папка adsmanager, в нее распакуются ресурсы приложения.


3. «Отключаем» проверку SSL
В папке с распакованным приложением открываем файл adsmanager\res\xml\fb_network_security_config.xml и заменяем все его содержимое на следующее:
<network-security-config>  
      <base-config>  
            <trust-anchors>  
                <!-- Trust preinstalled CAs -->  
                <certificates src="system" />  
                <!-- Additionally trust user added CAs -->  
                <certificates src="user" />  
           </trust-anchors>  
      </base-config>  
 </network-security-config>

4. Собираем apk-файл
В командной строке вводим
apktool b adsmanager -o adsmanager_new.apk
Наберись терпения, процесс сборки может продолжать несколько минут и сопровождаться ошибками.
Сборка прерывается ошибками:
W: C:\adsmanager\adsmanager\res\values\anims.xml:3: error: Found tag anim where item is expected
W: C:\adsmanager\adsmanager\res\values\ids.xml:104: error: Found tag id where item is expected

Пытаемся исправить. Открываем первый файл adsmanager\res\values\anims.xml, видим строки вида
<anim name="*****" />
исправляем их на
<item type="anim" name="*****" />
Такую же замену производим в файле adsmanager\res\values\ids.xml
<item type="id" name="*****" />
После исправлений, пробуем повторить сборку командой
apktool b adsmanager -o adsmanager_new.apk


В результате компиляции в папке должен появиться файл adsmanager_new.apk.


5. Подписываем apk-файл и устанавливаем приложение
5.1 Итак, apk-файл приложения готов, перед установкой его необходимо подписать. Нам потребуется эмулятор android'a, я использую Memu Play. Качаем, устанавливаем.

5.2 После запуска эмулятора, нам понадобится приложение ZipSigner для того, чтобы подписать модифицированное приложение AdsManager'a. Скачиваем, устанавливаем, перетащив файл приложения ZipSigner в окно эмулятора.

5.3 Теперь необходимо скопировать модифицированный apk-файл AdsManager'a в общую папку. В винде она находится по пути C:\Users\<USER_NAME>\Downloads\MEmu Download.

5.4 В эмуляторе открываем приложение ZipSigner. В поля «Input File» и «Signed Output File» прописываем пути, как на скрине (или кнопкой CHOOSE IN/OUT выбираем не подписанный файл /storage/emulated/0/Download/adsmanager_new.apk, оба пути пропишутся автоматически). Жмем кнопку SIGN THE FILE и ждем завершения создания подписанного файла. Закрываем ZipSigner, идем в файловый менеджер в папку Downloads и устанавливаем подписанное модифицированное приложение AdsManager (adsmanager_new.signed.apk или adsmanager_new-signed.apk).


6. Слушаем трафик
С самой сложной частью процесса справились, будем слушать траф!
6.1 Для прослушивания трафика я использую Fiddler (у меня Fiddler 4, интерфейс в новых версиях может отличаться). Качаем, устанавливаем.

6.2 После запуска Fiddler'a, нужно его настроить. Идем в Tools->Options->Connections, в Fiddler listens on port пишем 8888 и ставим галку напротив Allow remote computers to connect.


6.3 Теперь в эмуляторе переходим в настройки WiFi. Удерживаем клик на текущем соединении и выбираем Modify network, ставим галочку Advanced options. Кликаем раскрывающийся список напротив Proxy, выбираем Manual.

Нужно ввести Proxy hostname и Proxy port. С Proxy port все понятно, его недавно мы писали в Fiddler'e: 8888. А Proxy hostname — это локальный IP компьютера. Его можно посмотреть, введя в командной строке команду ipconfig. Сохраняем настройки.



6.4 В эмуляторе открываем web-браузер Chrome и переходим по адресу
http://ipv4.fiddler:8888
На открывшейся странице жмем ссылку FiddlerRoot certificate, скачиваем и устанавливаем сертификат. Во время установки эмулятор попросит указать PIN-код (1111 вполне подойдет) и имя для сертификата безопасности — пишем любое (Fiddler). Закрываем в эмуляторе все приложения и окна. Начинаем прослушку!

6.5 В левой части окна Fiddler'a (консоль) скорее всего уже будет отображено много разных запросов, очищаем консоль (Ctrl+X). Периодически в консоль будут сыпаться запросы из браузера, обычно я его закрываю или ставлю фильтр перед прослушкой прилки.

6.6 В эмуляторе запускаем модифицированный Facebook Ads, дожидаемся загрузки окна авторизации. Возвращаемся в консоль Fiddler'a и видим, что приложение уже успело отправить на сервер несколько запросов — смотри скрин.



Приложение отправило GET-запрос на graph.facebook.com/pwd_key_fetch?access_token=438142079694454|fc0a7caa49b192f64f6f5a6d9643bb28&version=2 и в ответ получило json-массив с информацией.

Но нас интересует параметр access_token=438142079694454|fc0a7caa49b192f64f6f5a6d9643bb28. Это и есть искомая пара app_id|secret_key приложения!
Если ее вставить в отладчик маркеров Facebook, то увидим название прилки, которой эта пара принадлежит.


Начало в прослушке трафика положено! Теперь вы можете авторизоваться в приложении, понажимать в нем кнопки, ссылки, и в консоли Fiddler'a увидите, какие запросы шлет прилка на свой сервер и что получает в ответ.

Хочу предупредить: не во всех приложениях так легко отключается проверка сертификата. Например, в Instagram такой метод не сработает.
28.02.2021 г. 811

Комментарии ()

    Комментарии

    UpRoof.pro 2020