Как хакеры создают трояны для Андроид?
Android принято называть рассадником вредоносных программ. Каждый день здесь выявляют более 8 тысяч новых образцов вирусов. И эти цифры постоянно растут.
Но задумывались ли вы, как эти вредоносные программы работают? Сегодня мы разберемся с этим, изучив приложение для Android, способное собирать информацию об устройстве, его местоположении, делать фотографии и записывать аудио. И все это с удаленным управлением.
Как написать троян на Андроид
Итак, наша цель — разобраться, как работают современные зловредные приложения. А лучший способ это сделать — посмотреть, как создается похожий софт. Как и боевой троян, наш пример при желании сможет наблюдать и передавать информацию о целевом устройстве на сервер.
Возможности трояна будут следующие:
- сбор информации о местоположении;
- получение списка установленных приложений;
- получение СМС;
- запись аудио;
- съемка задней или фронтальной камерой.
Все эти данные наше приложение будет отправлять на удаленный сервер, где мы сможем проанализировать результаты его работы.
По понятным причинам я не смогу привести полный код приложения в статье, поэтому некоторые задачи вам придется выполнить самим (для этого потребуются кое-какие знания в разработке приложений для Android).
Каркас
На этом этапе задача следующая: создать приложение с пустым (или просто безобидным) интерфейсом. Сразу после запуска приложение скроет свою иконку, запустит сервис и завершится (сервис при этом будет продолжать работать).
Начнем. Создайте приложение, указав в манифесте следующие разрешения:
В «build.gradle» укажите «compileSdkVersion 22» и «targetSdkVersion 22». Так вы избавите приложение от необходимости запрашивать разрешения во время работы (22 — это Android 5.1, обязательный запрос разрешений появился в 23 — Android 6.0, но работать приложение будет в любой версии).
Теперь создайте пустую Activity и Service. В метод «onStartCommand» сервиса добавьте строку «return Service.START_STICKY». Это заставит систему перезапускать его в случае непреднамеренного завершения.
Добавьте их описание в манифест (здесь и далее наше приложение будет называться com.example.app):
Всю злобную работу мы будем делать внутри сервиса, поэтому наша Activity будет очень проста:
Этот код запустит сервис сразу после запуска приложения и отключит активность. Побочным эффектом последнего действия станет завершение приложения и исчезновение иконки из лаунчера. Сервис продолжит работу.
Информация о местоположении
Теперь мы должны добавить в сервис код, который будет собирать интересующую нас информацию.
Начнем с определения местоположения. В Андроид есть несколько способов получить текущие координаты устройства: GPS, по сотовым вышкам, по WiFi-роутерам. И с каждым из них можно работать двумя способами: либо попросить систему определить текущее местоположение и вызвать по окончании операции наш колбэк, либо спросить ОС о том, какие координаты были получены в последний раз (в результате запросов на определение местоположения от других приложений, например).
В нашем случае второй способ намного удобнее. Он быстрый, абсолютно незаметен для пользователя (не приводит к появлению иконки в строке состояния) и не жрет аккумулятор. Кроме того, его очень просто использовать:
Данная функция спрашивает систему о последних координатах, полученных с помощью определения местоположения по сотовым вышкам и по GPS, затем берет самые свежие данные и возвращает их в форме объекта Location.
Далее можно извлечь широту и долготу и записать их в файл внутри приватного каталога нашего приложения:
Когда придет время отправлять данные на сервер, мы просто отдадим ему этот и другие файлы.
Список установленных приложений
Получить список установленных приложений еще проще:
Метод получает список всех приложений и сохраняет его в файл apps внутри приватного каталога приложения.
Дамп СМС
Уже сложнее. Чтобы получить список всех сохраненных СМС, нам необходимо подключиться к БД и пройтись по ней в поисках нужных записей. Код, позволяющий дампнуть все СМС в файл:
Использовать его следует так:
Записи в файле будут выглядеть примерно так:
Скрытая запись аудио
Записать аудио с микрофона можно с помощью «API MediaRecorder». Достаточно передать ему параметры записи и запустить ее с помощью метода «start()». Остановить запись можно с помощью метода «stop()». Следующий код демонстрирует, как это сделать. В данном случае мы используем отдельный спящий поток, который просыпается по истечении заданного тайм-аута и останавливает запись:
Использовать его можно, например, так:
Данный код сделает 15-секундную запись и поместит ее в файл audio-ДАТА-И-ВРЕМЯ.3gp.
Скрытая съемка
С камерой сложнее всего. Во-первых, по-хорошему необходимо уметь работать сразу с двумя API камеры: классическим и Camera2, который появился в Android 5.0 и стал основным в 7.0. Во-вторых, API Camera2 часто работает некорректно в Android 5.0 и даже в Android 5.1, к этому нужно быть готовым. В-третьих, Camera2 — сложный и запутанный API, основанный на колбэках, которые вызываются в момент изменения состояния камеры. В-четвертых, ни в классическом API камеры, ни в Camera2 нет средств для скрытой съемки. Они оба требуют показывать превью, и это ограничение придется обходить с помощью хаков.
Учитывая, что с Camera2 работать намного сложнее, а описать нюансы работы с ней в рамках данной статьи не представляется возможным, я просто приведу весь код класса для скрытой съемки. А вы можете либо использовать его как есть, либо попробуете разобраться с ним самостоятельно (но я предупреждаю: вы попадете в ад):
Этот код следует вызывать в отдельном потоке, передав в качестве аргументов место расположения камеры («front» — передняя, «back» — задняя) и каталог, в который будут сохранены фотографии. В качестве имен файлов будет использована текущая дата и время.
Складываем все вместе
С этого момента у нас есть каркас приложения, который запускает сервис и скрывает свое присутствие. Есть набор функций и классов, которые позволяют собирать информацию о смартфоне и его владельце, а также скрыто записывать аудио и делать фото. Теперь нужно разобраться, когда и при каких обстоятельствах их вызывать.
Если мы просто засунем вызов всех этих функций в сервис, то получим бесполезное «одноразовое приложение». Сразу после запуска оно узнает информацию о местоположении, получит список приложений, СМС, сделает запись аудио, снимок, сохранит все это в файлы в своем приватном каталоге и уснет. Оно даже не запустится после перезагрузки.
Гораздо более полезным оно станет, если определение местоположения, дамп приложений и СМС будет происходить по расписанию (допустим, раз в полчаса), снимок экрана — при каждом включении устройства, а запись аудио — по команде с сервера.
Задания по расписанию
Чтобы заставить Android выполнять код нашего приложения через определенные интервалы времени, можно использовать AlarmManager. Для начала напишем такой класс:
Метод «set()» установит «будильник», срабатывающий каждые тридцать минут и запускающий метод «onReceive()». Именно в него вы должны поместить код, скидывающий местоположение, СМС и список приложений в файлы.
В метод «onCreate()» сервиса добавьте следующую строку:
Снимок при включении экрана
Бессмысленно делать снимок каждые полчаса. Гораздо полезнее делать снимок передней камерой при разблокировке смартфона (сразу видно, кто его использует). Чтобы реализовать такое, создайте класс ScreenOnReceiver:
И добавьте в манифест следующие строки:
Запуск при загрузке
В данный момент у нашего приложения есть одна большая проблема — оно будет работать ровно до тех пор, пока юзер не перезагрузит смартфон. Чтобы перезапускать сервис при загрузке смартфона, создадим еще один ресивер:
И опять же добавим его в манифест:
Запись аудио по команде
С этим немного сложнее. Самый простой способ отдать команду нашему трояну — записать ее в обычный текстовый файл и выложить этот файл на сервере. Затем поместить в сервис код, который будет, допустим, каждую минуту чекать сервер на наличие файла и выполнять записанную в нем команду.
В коде это может выглядеть примерно так:
Конечно же, у этого кода есть проблема — если вы один раз запишете команду в файл на сервере, троян будет выполнять ее каждую минуту. Чтобы этого избежать, достаточно добавить в файл числовой префикс в формате «X:команда» и увеличивать этот префикс при каждой записи команды. Троян же должен сохранять это число и выполнять команду только в том случае, если оно увеличилось.
Гораздо хуже, что ваш троян будет заметно жрать батарею. А Андроид (начиная с шестой версии) будет его в этом ограничивать, закрывая доступ в интернет.
Чтобы избежать этих проблем, можно использовать сервис push-уведомлений. OneSignal отлично подходит на эту роль. Он бесплатен и очень прост в использовании. Зарегистрируйтесь в сервисе, добавьте новое приложение и следуйте инструкциям, в конце ван скажут, какие строки необходимо добавить в build.gradle приложения, а также попросят создать класс вроде этого:
Но это еще не все. Также ван нужен сервис — обработчик push-уведомлений, который будет принимать их и выполнять действия в зависимости от содержащихся в push-уведомлении данных:
Этот код трактует содержащуюся в уведомлении строку как команду и, если эта команда — record, выполняет нужный нам код. Само уведомление не появится на экране, поэтому пользователь ничего не заметит.
Последний штрих — добавим сервис в манифест:
Отправка данных на сервер
На протяжении всей статьи мы обсуждали, как собрать данные и сохранить их в файлы внутри приватного каталога. И теперь мы готовы залить эти данные на сервер. Сделать это не так уж сложно, вот, например, как можно отправить на сервер нашу фотку:
Вызывать этот метод нужно из метода «onReceive()» класса Alarm, чтобы каждые тридцать минут приложение отправляло новые файлы на сервер. Отправленные файлы следует удалять.
Ну и конечно же, на стороне сервера вам необходимо реализовать хендлер, который будет обрабатывать аплоады. Как это сделать, сильно зависит от того, какой фреймворк и сервер вы используете.
Выводы
Android — очень дружелюбная к разработчикам сторонних приложений ОС. Поэтому создать троян здесь можно, используя стандартный API. Более того, с помощью того же API его иконку можно скрыть из списка приложений и заставить работать в фоне, незаметно для пользователя.
Имейте ввиду! Андроид 8 хоть и позволяет собранным для более ранних версий Android приложениям работать в фоне, но выводит об этом уведомление. С другой стороны, много ли вы видели смартфонов на Android 8 в дикой природе?
На этом все. Теперь вы знаете как хакеры создают трояны для Андроид, а о том как от них защититься мы уже неоднократно писали (используйте поиск по сайту).
Источник статьи: http://spy-soft.net/kak-sozdat-troyan-na-android/
Топ-10 Лучшие программы шпионы для телефона Android в 2020 году
Топ-10 Лучшие программы шпионы для телефона Android в 2020 году
Обзор лучших программ шпионов за 2019 — 2020 год для телефона Андроид. На сегодняшний день зафиксировано несколько десятков различных шпионских программ для слежки, но прочно вошли в 10-ку лучших следующие:
10 место – Cell Tracker
9 место – MobileTool
8 место – NewSpy
7 место – Mobile-Spy
6 место – Cell Phone Spy PRO
5 место – TrackView
4 место – Android Monitor
3 место – FlexiSpy
2 место – Talklog
1 место – VkurSe
10 место — программа шпион Cell Tracker
Cell Tracker – бесплатная программа шпион на телефон Андроид, поможет следить за передвижением телефона, на который она установлена. Местоположение телефона отображается на карте красными отрезками, при нажатии на которые выходит полная информация. Также передвижения можно отслеживать в виде точек, типа перечня, где указаны координаты и время.
На Cell tracker отзывы в Интернете самые лестные и она находится на хорошем счету у своих пользователей – устанавливается быстро, четко определяет местоположение (разброс может составлять всего несколько метров), а главное, что эта программа шпион на телефоне бесплатно устанавливается и бесплатно работает. Ссылку на приложение Cell tracker скачать на Андроид можно с сайта. На Айфоне она не работает. Да и все предоставленные в этом топе софты работают исключительно с Andriod.
9 место – программа Cell Phone Spy PRO
Cell Phone Spy PRO – бесплатная программа слежения за телефоном Андроид, имеет стандартный функционал шпионских софтов, т.е. может записать звонки, перехватить смс-сообщения и определить местоположение телефона. Но, всем известно, что обычными смс-сообщениями уже редко кто пользуется и многие пользователи «пересели» в чаты социальных сетей и мессенджеров. Однако такой перехват для этого приложения недоступен. Для тех, кому достаточно прослушивать телефонные звонки – эта программа будет прекрасным помошником.
На Cell Phone Spy PRO отзывы хорошие, так как устанавливается она быстро, работает хорошо, да еще и бесплатно. Занимает 9 место в рейтинге «10-ка лучших шпионских программ 2020 года».
8 место – программа Mobile-Spy
Mobile-Spy – программа шпион для мобильного телефона, имеет стандартный функционал (звонки, смс-сообщения, запись окружения и определение местоположения), а также удаленную блокировку и установку приложений. Перехватывать текстовые сообщения с социальных сетей она не может.
На Mobile-Spy отзывы хорошие, она является достаточно надежной и недорогой утилитой. Само приложение Mobile-Spy скачать можно на их официальном сайте, потом нужно будет установить его на подконтрольный телефон, а все данные будут приходить в кабинет на сайте, который откроется после регистрации. Из-за того, что Mobile-Spy хоть и имеет небольшой функционал, но она надежная, она попадает в 10-ку лучших шпионских программ 2020 года и занимает 8 место.
7 место — программа NewSpy Mobile
NewSpy Mobile – программа шпион для Андроид, простая и достаточно эффективная, но имеющая ограниченный функционал. С помощью нее можно будет видеть местоположение, список входящих и исходящих телефонных звонков, набранный текст на клавиатуре и фотографии, хранимые на этом устройстве, а также сможете читать смс-сообщения. Если NewSpy установить через Google Play, тогда его будет видно в списке «Мои приложения» и удаляется он как обычные установленные приложения на телефоне. Если же нужна скрытая слежка, тогда NewSpy скачать нужно с их официального сайта и скрыть после установки.
На NewSpy отзывы в большинстве случаев хорошие, единственное что не радует в этой программе, что она довольно легко «вычисляется» на смартфоне и ее может удалить даже ребенок. Поэтому из-за небольшого функционала и легкого удаления с подконтрольного телефона NewSpy Mobile занимает 7 место.
6 место — программа TrackView на русском
TrackView – камера шпион с возможностью определения местоположения. Кроме стандартных функций имеет уникальную возможность – включать дистанционно камеру, которая передает данные в режиме Онлайн. Такая скрытая слежка через телефон позволит видеть все что происходит вокруг – это прекрасная программа для наблюдения за ребенком. Однако на этом ее возможности заканчиваются.
TrackView скачать можно на их сайте, приложение скрывается после установки. На приложение TrackView отзывы хорошие, работает исправно, но из-за достаточно скудного функционала она попадает на 6 место в десятке лучших шпионских программ 2020 года.
5 место — сервис MobileTool официальный
MobileTool — программа для удаленного доступа c компьютера к телефону, на котором она должна быть установлена. Большой функционал, разделяющийся на тот который доступен без рут прав и который доступен с рут правами. Огромный список социальных сетей и мессенджеров, с которых возможен перехват переписок. Mobile Tool скачать можно на сайте. Работать Mobile Tool бесплатно будет то ли 2, то ли 3 дня (там не совсем понятно с этим) – выдается демоверсия для проверки работы софта.
На Mobile Tool отзывы не совсем хорошие, многие жалуются на нестабильность приложения и несвоевременность передачи данных, а также на то, что часто нет синхронизации и что цены высокие (0,5$ в сутки). Именно поэтому данный софт находится только на 5 месте в рейтинге «Лучших программ шпионов 2020 года», несмотря на их действительно широкие возможности.
4 место — программа Android Monitor
Android Monitor – программа шпион на телефон Андроид, позволяющая слышать и видеть все что происходит вокруг телефона, поддерживает практически все функции многофункциональных приложений для слежки. Android Monitor бесплатно работает 3 дня. Демоверсия значительно отличается от оплаченной и поэтому проверить полностью весь функционал в предоставленный бесплатный период не получится.
Если прочитать на форуме об Android Monitor отзывы, то видно, что программа часто дает сбои. В конечном итоге все проблемы конечно решаются, но это представляет массу неудобств клиентам данного софта.
Установочный файл приложения Android Monitor скачать можно на их сайте. Регистрация и установка стандартная. Совсем недавно перестали поддерживать бесплатные аккаунты «Базовых пользователей», чем растеряли многих своих клиентов, которые пользовались этим приложением именно из-за этой возможности. Кроме того, оплата производится за одно устройство, т.е. оплачивается работа по каждому подключенному устройству отдельно. Благодаря своему богатому функционалу в списке десяти лучших программ шпионов 2020 года занимает 4 место.
3 место — FlexiSpy официальный сервис
FlexiSpy – это шпионская программа для слежения за телефоном Андроид, имеющая весь стандартный набор шпионской программы, но имеет одну несомненно уникальную способность – она может перехватить пароли блокировки экрана, электронных ящиков и социальных сетей, чего недоступно многим мобильным шпионам. Но, создатели не гарантируют сохранность данных в личном кабинете, которая поступает с подконтрольного Андроида. Именно поэтому она получает «бронзу».
2 место — Talklog и Talklog tools
Talklog – проверенная временем качественная программа слежения за телефоном Андроид. Однако имеет довольно небольшой функционал: запись звонков, смс-сообщений, местоположение, история web-браузера, учет и контроль установленных приложений на телефоне и удаленный аудиоконтроль. Есть у программы Talklog сайт официальный, где представлено подробное описание установки.
Установочный файл Talklog скачать можно бесплатно и установить на телефон, но потом нужно будет оплатить его работу. Если прочитать об Talklog отзывы, то видно, что пользователи довольны и с благодарностью отзываются о его работе. Занимает почетное 2 место, благодаря своему прекрасному качеству работы.
1 место — VkurSe программа шпион
VkurSe – многофункциональная программа слежения за телефоном Андроид, занимает 1 место в списке «Лучших шпионских программ для Android 2020 года». Без рут прав Вы сможете получать: запись телефонных разговоров, смс-сообщения, местоположение, содержимое внутренних папок телефона, скачивать хранящиеся там фотографии, видеть список контактов и делать удаленно фото с камеры и запись окружения. Кроме того, без рут прав вы сможете читать входящие сообщения с WhatsApp, Viber, Telegram, Imo и Gem4me, ВКонтакте, Instagram, Одноклассники, Facebook и KateMobile для ВКонтакте (которые будут приходить в шторку подконтрольного телефона) – это уникальная возможность читать входящие сообщения без рут прав.
С рут правами функционал VkurSe становится еще обширнее – это и перехват сообщений с вышеописанных приложений, это и скриншоты экрана (хоть каждые 5 секунд), это и перехват клавиатуры, это и удаленное управление телефона, это и запись звонков с WhatsApp и запись всех голосовых сообщений с WhatsApp, Viber, Telegram и Imo. Полный список функций можно посмотреть во вкладке Возможности. Оплата происходит за 1 аккаунт (персональный кабинет) к которому можно привязать до 10 устройств одновременно.
Одним из огромных плюсов сервиса можно отметить — его круглосуточную техническую поддержку, специалисты всегда готовы помочь своим клиентам в решений возникших проблем.
Подробно о том, как устанавливается приложение VkurSe на подконтрольный телефон Андроид, можно прочитать в статье «Как правильно установить приложение VkurSe». А также по всем интересующим Вас вопросам можно обратиться в онлайн консультант или заказать обратный звонок.
И помните — выбор всегда остается за Вами!
Источник статьи: http://vkur1.se/top-10-luchshie-programmy-shpiony-dlya-telefona-android-v-2019-godu/