[Android] Перехват HTTPS-трафика с помощью прокси-сервера

Эта заметка является продолжением той, в которой я расписал, как можно проанализировать незащищенный трафик, исходящий от мобильного приложения к серверу. Теперь настало время поговорить о защищенном трафике. Далее будем считать, что сетевой обмен происходит по протоколу HTTPS.

Как и раньше, помочь нам в этом деле могут такие известные и популярные прокси-серверы, как Charles, Fiddler, Burp Suite. Fiddler работает только под ОС Windows (ибо написан на .Net), а Charles и Burp Suite являются кроссплатформенными инструментами, работающими как под Windows, так и под Mac.

Для того, чтобы эти прокси-серверы могли взаимодействовать с защищенным трафиком, необходимо в систему (в данном случае в Android) установить их доверенный сертификат. К слову, это еще не успех, т.к. часто бывает, что приложения все равно отвергают липовый сертификат (и правильно ведь делают!).

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

И тут на помощь пришел Burp Suite. Его сертификат был "скушен" недоверчивыми приложениями и таким образом я смог получить доступ к защищенному трафику и впоследствии проанализировать его. Возможно, сертификат от Charles тоже помог бы в этом, но, честно сказать, я еще не пробовал.

SSL-сертификат в Burp Suite