SMS-вирус под ОС Android или «Привет :) Тебе фото…»

в 8:29, , рубрики: android, sms вирус, безопасность, информационная безопасность

SMS вирус под ОС Android или «Привет :) Тебе фото…»
*Оригинальная картинка, наглым образом вытащеная из ресурсов apk
[прим. apk — расширение файла установки приложения на ОС андроид]

Вступление

Нежданно-негаданно, посреди рабочего дня на мой старенький Sony Ericsson K320i приходит смс следующего содержания:

привет [смайлик] тебе фото https:// motosan.ru/oujr/38068808686*

В качестве отправителя значился человек, с которым я уже некоторое время не общаюсь. Посмотрев тест сообщения и отмахнувшись от телефона со словами «Очередной спам», я дальше погрузился в работу.
Все бы ничего, но через пару минут пришло аналогичное сообщение на второй телефон (Samsung Galaxy Gio). Номер отправителя совпадал.
Через 2 часа позвонил друг и попросил дать ему совет. Ему пришло похожее смс от его начальника. Успокоив его фразой: «По ссылке не переходи и будет тебе счастье», я решил, что нужно разобраться в ситуации.

1. Подготовка

Поверхностно поискав в интернете информацию, было установлено, что ссылка в смс сообщении является ничем иным, как адресом на загрузку apk файла. А apk файл — вирусом «Trojan.SMSSend», заражающий мобильные устройства под управлением ОС Android. Главные задачи данного «зловреда» — перехватывать управление устройством и использовать его в своих целях: блокировка исходящих вызовов, отправка сообщений «с приветом» и другие мелкие пакости.

Перейдя по ссылке из браузера я благополучно получил ответ «403 Forbidden».

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Понятно, значит, стоит фильтр по браузеру. Что ж, буду проверять «на кошках», как говорится.

Недолго думая, решил «положить на алтарь науки» свой планшет Samsung Galaxy Tab 2. Сделав бэкап, со спокойной совестью нажал на кнопку «Общий сброс». На всякий случай убедился, что на sim-карте нет денег и приступил к установке.

2. Установка

Перейдя по ссылке из смс-сообщения, получил предупреждение браузера, следующего характера:

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Соглашаюсь и нажимаю кнопку «Продолжить». Скачалось приложение F0T0_ALB0M.apk:

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Устанавливаю. Ужасаюсь количеством permission (разрешений). Операционная система любезно предупреждает:

Это приложение может нанести вред устройству

Но я же не ищу легких путей, поэтому, «скрипя сердцем», ставлю галочку «Я понимаю, что это приложение может нанести вред».

Процесс установки

SMS вирус под ОС Android или «Привет :) Тебе фото…»
SMS вирус под ОС Android или «Привет :) Тебе фото…»
SMS вирус под ОС Android или «Привет :) Тебе фото…»
SMS вирус под ОС Android или «Привет :) Тебе фото…»

Когда приложение запрашивает права администратора, понимаю, что это последний этап. Нажимаю «Отмена», но диалог появляется снова. Эх, была не была, буду идти до конца, и нажимаю «Включить».

SMS вирус под ОС Android или «Привет :) Тебе фото…»

3. Вирус-приложение

Само приложение состоит из одной активити-картинки с обреченным котенком. Наверное таким образом разработчик пытался пошутить.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

В этом месте, я немного забегу вперед (см. п.6) и приведу, код AndroidManifest.xml для лучшего понимания статьи.

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest android:versionCode="4" android:versionName="4.0" android:installLocation="internalOnly" package="com.android.systgec"
  xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.CALL_PRIVILEGED" />
    <uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    <uses-permission android:name="android.permission.RECEIVE_SMS" />
    <uses-permission android:name="android.permission.SEND_SMS" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <application android:label="@string/app_name" android:icon="@drawable/icon" android:manageSpaceActivity=".ClearActivity" android:allowClearUserData="false" android:allowBackup="true">
        <activity android:label="@string/app_name" android:name=".AppActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".ClearActivity" />
        <receiver android:name=".SmsReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".OnBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.QUICKBOOT_POWERON" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>
        <receiver android:name=".IncomingCallReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.PHONE_STATE" />
            </intent-filter>
        </receiver>
        <receiver android:name=".OutCallReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>
        <receiver android:name=".NetworkReceiver">
            <intent-filter>
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".AdminReceiver" android:permission="android.permission.BIND_DEVICE_ADMIN">
            <meta-data android:name="android.app.device_admin" android:resource="@xml/policies" />
            <intent-filter>
                <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLED" />
                <action android:name="android.app.action.ACTION_DEVICE_ADMIN_DISABLE_REQUESTED" />
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>
        <receiver android:name=".ServiceController" />
        <service android:name=".SystemService" android:enabled="true" />
        <service android:name=".DelService" android:enabled="true" />
    </application>
</manifest>

В диспетчере приложений наш «зловред» гордо именуется «Google Play».

SMS вирус под ОС Android или «Привет :) Тебе фото…»

4. Удаление?

Благополучно заразив устройство, перехожу к фазе лечения. Сначала пробую удалить приложение. Захожу в «Диспетчер приложений» и вижу, что все кнопки заблокированы.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Понятно, значит, у приложения имеются права администратора и так просто удалить его не получится. Не беда, сейчас я их уберу. Захожу в пункт меню «Безопасность»->«Администраторы устройства» и убираю галочку напротив приложения.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Но, нет, не тут то было. Устройство благополучно переходит в настройки управления WiFi и зависает. Пришлось «прибивать» окно настроек.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Дальше хотелось решить вопрос «на корню», так сказать, и воспользоваться общим сбросом системы. Ну да, легко мне выбирать такой вариант — мои личные данные в бэкапе хранятся.

А как же обычные пользователи? У которых «внезапно» любимый телефон заразился вирусом. Они ведь даже исходящего вызова знакомому «тыжпрограммисту» не сделают. В общем, читерство это, не буду так делать.

Итог: штатными средствами нейтрализовать угрозу не удалось. Подключаем «тяжелую артиллерию».

Примечание для компаний

В дальнейших разделах используется описание действий связанных с использованием бесплатных версий продуктов некоторых компаний. Целью повествования не являются жалобы на компании или предоставляемые ими услуги.

5. Dr Web против вируса

Памятуя про хорошую лечащую утилиту «Dr.Web CureIt!», решил бороться с зловредом с помощью аналога под Android. Захожу на официальный сайт и качаю бесплатную версию антивирусника «Dr.Web для Android Light 9».
Устанавливаю, по WiFi обновляю сигнатуры.
Запускаю быструю проверку ― ничего.
Запускаю полную проверку ― тоже ничего.

Ход проверки

SMS вирус под ОС Android или «Привет :) Тебе фото…»
SMS вирус под ОС Android или «Привет :) Тебе фото…»
SMS вирус под ОС Android или «Привет :) Тебе фото…»

Я разочарован! Печально вздохнув, удаляю «антивирусник».

5. Avast против вируса

Мнение автора

Никогда особо не любил антивирусник данной фирмы. Особенно после истории об удалении файла отвечающего за протокол tcp/ip в Windows XP. Но, чем «черт не шутит», установим.

Скачиваю и устанавливаю версию «Avast-Mobile-Security-v3-0-7700».
При старте запускается экспресс-сканирование, которое никаких вирусов в системе не находит.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Ну и ладно, мозг подсказал очередную идею: вот есть какой-то пункт меню «Управление приложениями», а что если…
Да, действительно загрузился список приложений в системе.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Пункта «Удалить» нет. Поэтому, пробую остановить приложение. Остановилось.
Жду 2-3 секунды, приложение снова в работе.

Ладно, попробую с другой стороны. Запускаю принудительную проверку системы. О_о, обнаружено вредоносное ПО. Нажимаю «Устранить все» [прим. как-то это звучит в духе Дарта Вейдера или Далеков]. Avast сообщает, что удалить приложение не может, а нужно сначала отюбрать права администратора у приложения. Появляется системный диалог:

Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены

И сразу же, поверх этого диалогового окна открывается «злополучное» окно настроек wi-fi. Нажимаю «Возврат», снова открываются настройки. Хорошо, хоть окно настроек не зависает.

SMS вирус под ОС Android или «Привет :) Тебе фото…»

Опять на тропу читерства меня толкают. Будем искать другое решение…

6. Реверс-инжиниринг

Посмотрим в исходный код приложения, благо на Android это не такая большая проблема. Много всего интересного…
Например, в классе SystemService указан url сайта lamour.byethost5.com (дизайн-студия).
Но больше всего мне понравился класс AdminReceiver, который является наследником системного класса DeviceAdminReceiver.
В этом классе есть переопределенный метод onDisableRequested, который срабатывает при отключении админполномочий для данного приложения. Полностью заблокировать кнопки в системном диалоге нельзя, поэтому разработчик вируса пошел на хитрость, он изменил текст сообщения на «Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены» и обильно прикрыл сверху назойливым окном настроек.

Бинго. Значит теперь я смело смогу нажать в данном диалоговом окне «Удалить» и планшет будет «здоров».

Послесловие

Таким образом, выполнив повторно пункт 5 данной публикации (не останавливаясь на последнем шаге), вирус версии 4.0 (согласно манифест-файлу) был побежден.

Почему не удалось напрямую из настроек убрать галочку админправ для приложения, а только используя Avast? Скорее всего, стоит очередная ловушка с переопределенным методом.

Выводы

Разработчики вирусов находят все новые лазейки.
Но, так или иначе, браузер и операционная система стали лучше защищать пользователей.
Мне необходимо было нажать 2 подтверждения и поставить галочку в настройках «Неизвестные устройства».

Будьте здоровы, вы и ваши девайсы!

Автор:

Источник

* - обязательные к заполнению поля