- Как делают вирусы для Android?
- Как написать вирус?
- Кто и зачем это делает?
- Как защититься?
- SMS-вирус под ОС Android или «Привет 🙂 Тебе фото…»
- Вступление
- 1. Подготовка
- 2. Установка
- 3. Вирус-приложение
- 4. Удаление?
- 5. Dr Web против вируса
- 5. Avast против вируса
- 6. Реверс-инжиниринг
- Послесловие
- Выводы
- Как написать вирус для андроид.
- Как стать «хакером» андроида.
- Как все начиналось?
- Эй, ты слишком жырный!
- Почему ты не прячешься?
- Тук, тук, открывайте, полиция!
- Финишная линия
- [ad name=»Redmi»]
- Конец, и пару слов.
Как делают вирусы для Android?
Все чаще и чаще на страницах моего и других блогов появляются заметки об очередном вирусе для Android или ботнета. Причем всплески вирусной активности возникают внезапно и спонтанно. Не было ничего месяца два, а тут раз и троян. Как же так? Как вообще появляются вирусы для Андроида и кто их пишет?
Как написать вирус?
Вкратце объясню процесс создания трояна для Андроид и почему подобная техника не применяется при разработке компьютерных вирусов. Итак, как же написать вирус для Андроид. Пишется простейший код на Java, который используя возможности ОС посылает сообщение на платный номер, зарегистрированный, например, в другой стране. Далее вредоносный код вставляется в любое легитимное приложение и выкладывается в сеть. Пользователь скачивает резидентную программу, предоставляет ей нужные права и запускает. Программа незаметно для пользователя выполняет свою работу. Обычно в виде таких программ выступают поддельные антивирусы или системные утилиты.
Все предельно понятно, кроме того кто захочет скачивать непонятную программу со стороннего сервера? Везде есть нюансы. Самым результативным методом будет создание по настоящему рабочего и полезного приложения или игры, которая попадет в Google Play. Его скачивают, им пользуются, пишут полезные отзывы, ставят оценки. Приложение необходимо обновлять и поддерживать.
После двух-трех недель можно внедрять вредоносный код в обновление программы. Однако Google Play его не пропустит, поэтому обновления нужно реализовать через сторонние сервера. Если у пользователя поставлена галочка на устройстве «загружать приложения со сторонних источников», малварь беспрепятственно попадет куда надо. Отсюда становится ясно, что подобная техника не может быть применена при разработке вирусов для Windows, ввиду другой структуры системы. Да и антивирусы теперь установлены почти на каждой машине. Я уже молчу про онлайн проверку компьютера на вирусы.
Кто и зачем это делает?
К чему такие сложности? Ответ очевиден — это выгодно! Множество доверчивых пользователей рутуют свои девайсы для установки очередной игрушки. Подобных смартфонов бесчисленное множество. Распространяя приложение через Google Play (бывший Market) можно завоевать большую популярность. Когда троян начинает работать, на счета злоумышленников перетекают немалые деньги со счетов наивных пользователей.
Как защититься?
Запретите своему смартфону обновляться через сторонние серверы и установите нормальный антивирус. О необходимости антивируса уже было написано в этой статье. Радует, что в основном очаги заражения не возникают в нашей стране. Все чаще жертвами становятся бразильцы и китайцы. Хотя это ни о чем не говорит.
Хотелось бы напомнить читателям блога, что данный метод заработка не является законным и преследуется полицией. За написание вируса и его распространение вы можете не только выплатить огромный штраф, но и угодить за решетку. Однако, никто не запрещает исследовать данную проблему с целью нахождения решения аналогичных проблем.
Источник
SMS-вирус под ОС Android или «Привет 🙂 Тебе фото…»
*Оригинальная картинка, наглым образом вытащеная из ресурсов apk
[прим. apk — расширение файла установки приложения на ОС андроид]
Вступление
привет [смайлик] тебе фото https:// m**o*an.ru/oujr/380688086*6*
1. Подготовка
Поверхностно поискав в интернете информацию, было установлено, что ссылка в смс сообщении является ничем иным, как адресом на загрузку apk файла. А apk файл — вирусом «Trojan.SMSSend», заражающий мобильные устройства под управлением ОС Android. Главные задачи данного «зловреда» — перехватывать управление устройством и использовать его в своих целях: блокировка исходящих вызовов, отправка сообщений «с приветом» и другие мелкие пакости.
Перейдя по ссылке из браузера я благополучно получил ответ «403 Forbidden».
Понятно, значит, стоит фильтр по браузеру. Что ж, буду проверять «на кошках», как говорится.
Недолго думая, решил «положить на алтарь науки» свой планшет Samsung Galaxy Tab 2. Сделав бэкап, со спокойной совестью нажал на кнопку «Общий сброс». На всякий случай убедился, что на sim-карте нет денег и приступил к установке.
2. Установка
Захожу в настройки, в пункте меню «Неизвестные устройства», убираю галочку «Разрешить установку приложений из других источников, кроме Play Маркет».
Перейдя по ссылке из смс-сообщения, получил предупреждение браузера, следующего характера:
Соглашаюсь и нажимаю кнопку «Продолжить». Скачалось приложение F0T0_ALB0M.apk:
Устанавливаю. Ужасаюсь количеством permission (разрешений). Операционная система любезно предупреждает:
Это приложение может нанести вред устройству
Но я же не ищу легких путей, поэтому, «скрепя сердце», ставлю галочку «Я понимаю, что это приложение может нанести вред».
Когда приложение запрашивает права администратора, понимаю, что это последний этап. Нажимаю «Отмена», но диалог появляется снова. Эх, была не была, буду идти до конца, и нажимаю «Включить».
3. Вирус-приложение
Само приложение состоит из одной активити-картинки с обреченным котенком. Наверное таким образом разработчик пытался пошутить.
В этом месте, я немного забегу вперед (см. п.6) и приведу, код AndroidManifest.xml для лучшего понимания статьи.
В диспетчере приложений наш «зловред» гордо именуется «Google Play».
4. Удаление?
Благополучно заразив устройство, перехожу к фазе лечения. Сначала пробую удалить приложение. Захожу в «Диспетчер приложений» и вижу, что все кнопки заблокированы.
Понятно, значит, у приложения имеются права администратора и так просто удалить его не получится. Не беда, сейчас я их уберу. Захожу в пункт меню «Безопасность»->«Администраторы устройства» и убираю галочку напротив приложения.
Но, нет, не тут то было. Устройство благополучно переходит в настройки управления WiFi и зависает. Пришлось «прибивать» окно настроек.
Дальше хотелось решить вопрос «на корню», так сказать, и воспользоваться общим сбросом системы. Ну да, легко мне выбирать такой вариант — мои личные данные в бэкапе хранятся.
А как же обычные пользователи? У которых «внезапно» любимый телефон заразился вирусом. Они ведь даже исходящего вызова знакомому «тыжпрограммисту» не сделают. В общем, читерство это, не буду так делать.
Итог: штатными средствами нейтрализовать угрозу не удалось. Подключаем «тяжелую артиллерию».
5. Dr Web против вируса
Памятуя про хорошую лечащую утилиту «Dr.Web CureIt!», решил бороться с зловредом с помощью аналога под Android. Захожу на официальный сайт и качаю бесплатную версию антивирусника «Dr.Web для Android Light 9».
Устанавливаю, по WiFi обновляю сигнатуры.
Запускаю быструю проверку ― ничего.
Запускаю полную проверку ― тоже ничего.
Я разочарован! Печально вздохнув, удаляю антивирусник.
UPD от 6.09.14. На данный момент антивирусник успешно опознает данный зловред под детектом Android.SmsBot.origin.165. Алгоритм удаления такой же, как и при использовании Avast (см. ниже).
5. Avast против вируса
Скачиваю и устанавливаю версию «Avast-Mobile-Security-v3-0-7700».
При старте запускается экспресс-сканирование, которое никаких вирусов в системе не находит.
Ну и ладно, мозг подсказал очередную идею: вот есть какой-то пункт меню «Управление приложениями», а что если…
Да, действительно загрузился список приложений в системе.
Пункта «Удалить» нет. Поэтому, пробую остановить приложение. Остановилось.
Жду 2-3 секунды, приложение снова в работе.
Ладно, попробую с другой стороны. Запускаю принудительную проверку системы. О_о, обнаружено вредоносное ПО. Нажимаю «Устранить все» [прим. как-то это звучит в духе Дарта Вейдера или Далеков]. Avast сообщает, что удалить приложение не может, а нужно сначала отобрать права администратора у приложения. Появляется системный диалог:
Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены
И сразу же, поверх этого диалогового окна открывается «злополучное» окно настроек wi-fi. Нажимаю «Возврат», снова открываются настройки. Хорошо, хоть окно настроек не зависает.
Опять на тропу читерства меня толкают. Будем искать другое решение…
6. Реверс-инжиниринг
Посмотрим в исходный код приложения, благо на Android это не такая большая проблема. Много всего интересного…
Например, в классе SystemService указан url сайта lamour.byethost5.com (дизайн-студия).
Но больше всего мне понравился класс AdminReceiver, который является наследником системного класса DeviceAdminReceiver.
В этом классе есть переопределенный метод onDisableRequested, который срабатывает при отключении админполномочий для данного приложения. Полностью заблокировать кнопки в системном диалоге нельзя, поэтому разработчик вируса пошел на хитрость, он изменил текст сообщения на «Удалить все данные с устройства и вернуть заводские настройки? Нажмите «Да» если согласны, или «Нет» для отмены» и обильно прикрыл сверху назойливым окном настроек.
Бинго. Значит теперь я смело смогу нажать в данном диалоговом окне «Удалить» и планшет будет «здоров».
Послесловие
Таким образом, выполнив повторно пункт 5 данной публикации (не останавливаясь на последнем шаге), вирус версии 4.0 (согласно манифест-файлу) был побежден.
Почему не удалось напрямую из настроек убрать галочку админправ для приложения, а только используя Avast? Скорее всего, стоит очередная ловушка с переопределенным методом.
Выводы
Разработчики вирусов находят все новые лазейки.
Но, так или иначе, браузер и операционная система стали лучше защищать пользователей.
Мне необходимо было нажать 2 подтверждения и поставить галочку в настройках «Неизвестные устройства».
Источник
Как написать вирус для андроид.
Сегодня мы вообразим себя злыми хакерами и займемся написанием настоящего вируса для андроид системы. Мы подробно и с примерами расскажем о основных этапах написания вируса для операционной системы андроид. Не лишним будет напомнить, что эта статья предназначена только для удовлетворения вашего исследовательского интереса. И писать а тем более распространять вирусы не стоит 🙂
Как стать «хакером» андроида.
Да тут особо ничего мудрить не надо. Просто идем по шагам.
1. Устанавливаем java для разработчиков с офф сайта. (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
2. Скачиваем android studio (http://developer.android.com/sdk/index.html#Other) Качаем полную рекомендованую. Сейчас мы не будем вдаваться в эти все подробности. Оно нам надо?
3. Запасаемся бубликами и пивом. Ведь сейчас придется все это поставить и настроить.
4. Тыкаем в основном далее, не вдумываясь что там написано. Незачем забивать голову
5. После чего как мы установили все это. Запускаем студию. Ищем сверху значек SDK Manager. Он где-то справа. Нажимаем, ставим везде галки, соглашаемся с условиями и нажимаем инсталл.
6. Опять грызем бублики и пьем великолепное пиво. Тут процесс по дольше, так как будут выкачиваться виртуалки и всяческие тулзы.
7. Ну вот собственно и все.
Как все начиналось?
Мы все поставили, теперь стоит и подумать, а как тут теперь вирус написать А для этого мы идем в File -> New -> New project. И тут нам предлогают придумать название проекта и домен сайта компании. Вводим что взбредится в голову. На основе этих данных генерируется package имя. Которое использоется как уникальный идентефикатор нашего APK. Жмем далее. Тут нам предлогают выбрать платфурму под наш проект. Ну тут мы выбираем только Phone. Остальное рассмотрим позже.
[ad name=»UMI 600×313″]
Далее. И теперь нам предлогают выбрать как будет выглядеть наше окошечко (Activity) стартовое, главное. Тут есть важная особенность. Чтобы запустить какой либо код сразу после установки, нужно чтобы было какой либо из окошек при старте. Поэтому выбираем любое кроме No Activity. Лучше всего выбрать Empty. Будет легче его вычищать, от ненужного мусора. Далее. Пишем название окошку и нажимаем Finish.
Пока файлы нового проекта индексируются и настраивается сборщик проекта.
Эй, ты слишком жырный!
Пробуем собрать проект наш. Build -> Generate signed apk.. И что мы видим? APK с 1 окошком и приложением которое ни чего не делает. Занимает 1 мегабайт. Надо с этим что-то делать, а именно отказывать от библиотек (AppCompat). Это красивая графика, которая нам не нужна. Переходи в файл MainActivity.java
Заменяем
Заходим в настройки проекта и во вкладке Dependes удаляем строку с AppCompat. Далее переходим к файлу values.xml и styles.xml. Удаляем их.
Заходим в androidManifest.xml и
меняем
Собираем наше приложение, ура! размер меньше 40 кб. Уже есть с чем работать.
Почему ты не прячешься?
Далее, нам нужно спрятать нашего зверька. Чтобы иконка не была видна в списке менеджера приложений. А так же надо закрыть наше приложение.
Вставляем после setContentView(R.layout.activity_main) Следующий код:
Этот код скроет нашу иконку с глаз И после всего этого пишем:
Теперь наше приложение после установки. Запускается и сразу же скрывается с глаз долой. Ух, проделали мы работу. Но надо идти дальше, а то бот не появиться в админке.
Тук, тук, открывайте, полиция!
Теперь мы должны сделать так, чтобы наш чудесный APK начал стучать в админку. Тут я уже полагаю, что админка где-то написана. И от нас требуется только стучать. Возьмем самый простой метод, он не будет работать корректно на андроидах выше 4.х. Но с чего-то надо же учиться. Я же не за вас работу делаю. Нам нужно создать сервис. Для этого мы создаем файл с новым class. (Правой тыкаем в проекте, на папку Java). Название класса пишем к примеру Network. Нажимаем окей. Удаляем все содержимое файла кроме первой строки где прописан package и заменяем на
Это код описывает класс сервиса, в котором при запуске, запускает таймер и каждые 10 секунд отправляет GET запрос на URL и запрашивает ответ. Но это не все. Этот код не будет работать если мы объявим наш сервис в манифесте и не дадим права выходить в интернет нашему приложению. Идем в манифест.
и в описание application
Осталось запустить наш сервис. Идем в MainActivity и перед finish() вставляем запуск сервиса
Финишная линия
Теперь у нас есть апк, который сам себя скрывает после запуска и запускает процес отстука в админ панель. Где написано // Обработка result : там происходит обработка ответа и команд админки. Не сложно, правда? Но пока мы пили пиво. Мы совсем забыли, что если телефон перезагрузят. То наше приложение уже ни когда не запустится. Для этого мы идем опять в манифест.
Добавляем права на запуск после ребута:
Добавляем обязательно обработчик в описание application
Теперь после перезапуска у нас вызовется класс Boot. И сейчас мы его создаим. Все делаем как я писал выше. Создали и удалили все кроме package.
[ad name=»Redmi»]
Конец, и пару слов.
Если есть вопросы, задавайте. В окончании у нас появился прям такой игрушечный бот (APK). Что послужит вам хорошей базой и внесет немного понимания, как это все работает. Спасибо за внимание. Надеюсь будет прододжение Сильно не пинайте, опыт первый, да и еще ночью пришлось писать. А вот критику хотелось бы услышать, чтобы след урок получился лучше.
За данный материал мы благодарны пользователю allmore из форума Damagelab
Источник