Как я чуть не подхватил вирус, пытаясь продать сапоги

Как я чуть не подхватил вирус, пытаясь продать сапоги


Я из тех людей, кто с наступлением осени старается проводить на улице меньше времени. В Москве это не сложно: ограничиваешься маршрутом от дома до офиса и обратно. Однако промозглая погода может причинить дискомфорт и в помещении, особенно если ваше рабочее место, как и моё, находится у окна, а каждый второй коллега, жалуясь на духоту, просит проветрить кабинет. Чтобы не впасть в хандру, этой осенью я обновил гардероб.

Размышляя о судьбе ненужных вещей, я прикидывал, что с ними делать: выкинуть, порезать на тряпки, отдать донашивать младшему брату? Но для одной вещи ни один из этих способов не годился: то были кожаные сапоги 44 размера приличного вида, но порядком мне надоевшие. Их я решил продать на Avito. Загрузил фотографии, указал ненастоящее имя (информационная безопасность же), выставил сапоги, пару других вещей и пошёл спать. Откуда мне было знать, что это обернётся длительным анализом приложения на предмет скрытых угроз?
[spoiler]


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



Спустя пару дней я получил ещё одно похожее сообщение:



Удивившись, что кто-то каким-то образом смог перевести мне деньги по интернету (видимо, один я старый — пользуюсь до сих пор бумажными сберегательными книжками), я перешёл по ссылке в СМС.

После этого мне предложили скачать приложение для Android (apk-файл). Радостно скачав файл, я увидел следующее:



Вызывает доверие! Я с нетерпением захотел побыстрее всё установить и покончить с этим.
Но здесь, как обычно бывает, надоедливая операционная система Android почему-то не позволила мне запустить файл. «Да отдайте уже деньги!» — негодовал я. Пришлось перейти в настройки и включить какую-то опцию «Неизвестные источники», неужели телефон настолько глуп в 2018? Кстати, мой телефон — Xiaomi Remdi c Andoid 6.0.1 (примечание для технарей).



Далее последовала цепочка странных событий. Телефон продолжал сообщать о недостоверных источниках. Но ведь Avito — это достоверный источник! Пришлось погуглить, разобраться, как это обойти, и после отключить в настройках. Вскоре появился и некий антивирус, который я не устанавливал.



Наконец-то я увидел заветное стандартное окно установки — смотреть на разрешения в наше время нет смысла, сейчас даже блокнот не запустится, пока не дашь ему полный доступ к телефону. Радостный миг окончания установки приложения и ЗАПУСК! Я с нетерпением ждал обещанных денег. Дополнительно приложение запросило администраторские привилегии, с чем я радостно согласился. К сожалению, приложение странно себя вело и не хотело производить оплату, а вскоре и вовсе пропало из списка приложений на общем экране.





Позже я проверил на другом телефоне — Lenovo с Android 4.4.2 на борту. Список разрешений при установке оказался гораздо больше. И никакие Play Защита и Антивирус не мешают, необходимо только разрешить установку из недостоверных источников.





Альтруизм

Итак, к чему мы пришли:
  • На установку потрачено 20 минут времени.
  • Деньги я не получил.
Подумал, что проблема в ошибке кода, как это часто бывает у программистов. Решил выявить, какие ошибки возникают при работе приложения на моём телефоне, и отправить отчёт об этом разработчику.

Сейчас так мало осталось бескорыстных людей, один из них — я.

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

Техническая инструкция по настройке прокси
Можно прослушать интернет-трафик в любой точке, проходящей по пути от телефона до сервера, будь то домашний роутер, местный интернет-провайдер, магистральный интернет-провайдер или сервер приложения.

Проблемы:
  • Необходим доступ к данному оборудованию.
  • Требуется отделить трафик нужного приложения от остального.
  • В случае шифрования (а в 2018 шифруется уже всё) — необходимо знание ключа.
Я задумал пройти более классическим путём и настроить прокси на телефоне с прокси сервером на собственном ноутбуке. Чтобы нивелировать проблему шифрования, решил импортировать свой сертификат, а для отделения трафика приложения не стал запускать другие приложения. В качестве программы прокси-сервера выбрал Хабре.
Автор: Сергей Зеленский, эксперт Лаборатории практического анализа защищенности компании «Инфосистемы Джет».
mobile malware безопасность мобильных приложений информационная безопасность реверс-инжиниринг
Alt text