Объявление

Свернуть
Пока нет объявлений.

[Статья] Немного об Android и ботах

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • [Статья] Немного об Android и ботах

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


    Основные принципы работы

    Боты для Android не используют уязвимости системы, а работают по принципу введения юзера в заблуждение. При установке они запрашивают необходимые им права - но при этом могут показывать сообщение, что если права не будут предоставлены, система будет работать нестабильно. Аналогично и с удалением - бот может пугать юзера тем, что его удаление нарушит работу системы. К тому же, права запрашиваются до тех пор, пока юзер не подтвердит запрос, так что отказаться фактически невозможно. Если же юзер впоследствии попытается лишить бота каких-то прав, то бот станет запрашивать их повторно.
    Очень редко бот использует уязвимости системы, чтобы установить полный контроль над ней.


    Возможности ботов

    Рассмотрим возможности, которыми чаще всего обладают Android-боты.
    Без предоставления специальных прав (взаимодействие с пользователем не требуется):

    1. Сбор информации об устройстве.
    Сюда входит - номер телефона, GPS-координаты, версия Android, IP-адрес, язык, мобильный
    оператор, страна (по IP/оператору), IMEI, дисплей (вкл/выкл), список установленных
    приложений.
    А так же информация о предоставленных правах: является ли бот SMS-мессенджером по
    умолчанию, администратором устройства.
    2. Показ веб-инжектов.
    Это фейки популярных приложений, которые предлагают юзеру ввести нужные данные (логин, пароль и т.п.) Подробнее веб-инжекты мы рассмотрим ниже.
    3. Граббер/Cтилер СС
    Формы для сбора информации о кредитных картах. Как и вебинжекты, это фейки, предлагающие ввести в них данные. Но они используют стандартный
    интерфейс Android, что позволяет им маскироваться например под Google Play. Если граббер
    сделан качественно, юзер не имеет никакой возможности отличить поддельное окно граббера от
    настоящего окна Google Play.
    4. Выполнение USSD-запросов.
    USSD-запрос, это короткий код, предоставляющий доступ к сервисам мобильных операторов и устройства. Например, код *#06# набранный вместо телефонного номера покажет вам IMEI устройства. С помощью подобного кода можно установить перенаправление всех звонков на нужный вам номер.

    5. Push-уведомления - это сообщения, появляющиеся в верхней панели Android, так
    называемой "шторке".
    Особенность таких сообщений заключается в том, что нажатие на них может запускать
    необходимое приложение. Так же, сообщение может иметь любую иконку и, соответственно,
    маскироваться под уведомление от установленных приложений юзера.
    6. Сбор контактов адресной книги (имена, телефоны и т.п.).
    7. Отправка СМС на любой номер, включая платные.
    8. Рассылка СМС по заданному списку номеров или по всем контактам адресной книги.
    9. Запуск установленных на устройстве приложений, чтобы спровоцировать появление на
    экране веб-инжекта.

    10. Навигация по устройству, поиск, скачивание, шифрование и даже удаление любых
    файлов из домашней директории юзера. В том числе баз данных популярных мессенджеров
    (Viber, Whatsapp и т.п.), которые содержат списки контактов, сообщения и прочую личную
    информацию.
    11. Запуск на устройстве socks5-сервиса, что позволяет использовать телефон как проксисервер.
    12. Выгрузка всех СМС сохранённых на устройстве.
    13. Запись звука/видео. Как и публичные приложения для захвата экрана.


    Предоставление прав расширяет список возможностей:


    1. Перехват СМС. От простого дублирования входящих сообщений в панель управления, до полного перехвата, когда бот заменяет собой СМС-мессенджер. Это позволяет боту скрывать входящие сообщения, но в то же время юзер не имеет никакой возможности принять или даже отправить СМС.
    2. Показ юзеру любой веб-страницы в полноэкранном режиме без возможности закрыть её или свернуть.

    Невозможно без предоставления прав юзером:

    1. Блокировка устройства. Перманентное выключение экрана (если юзер включает его, он моментально отключается), отключение звука (для блокировки звуковых уведомления о входящих СМС и т.п.), смена пароля на разблокировку (при наличии прав администратора
    устройства).
    2. VNC-сервис - весьма экзотическая вещь, которая позволяет управлять телефоном на расстоянии, как через удалённый рабочий стол (RDP).
    3. Accessibility service - так же достаточно редкая, ввиду сложности реализации, функция. Сервис изначально предназначенный для облегчения жизни людям с ограниченными возможностями может превратить ваш телефон в настоящего зомби, покорнно исполняющего
    приказы своего хозяина. Достаточно дать боту права на использование этого сервиса и телефон начнёт жить своей жизнью. Другими словами, бот сможет делать абсолютно все, что может делать обычный юзер.
    Как видите, бот может сделать с вашим телефоном / личными данными / жизнью очень многое. Но это многое чаще всего требует ручного предоставления прав и, если юзер достаточно внимателен, вредоносная деятельность бота может быть предотвращена.


    Что не могут сделать боты

    Ввиду того, что Android базируется на Linux, безопасность в нём организована намного
    лучше чем в Windows. Каждое приложение имеет доступ только к своим личным данным и файлам, находящимся в публичной домашней директории. Для чтения файлов с SD-карты приложению требуется запрос дополнительных прав.
    Никогда, за исключением наличия root-прав, у приложения нет доступа к внутренним
    процессам системы. Таким образом невозможно получить содержимое буфера обмена юзера, нельзя как-либо модифицировать другие приложения, следить за событиями в них (без Accessibility Service) или перехватывать вводимые в них данные (только если ваш бот не является полноценной заменой стандартной клавиатуре).

    Многие из действий требуют ручного предоставления прав юзером. Правда юзеры
    предоставляют эти права не особо задумываясь, особенно если бот запрашивает их бесконечно долго. И чем новее Android, тем больше ограничивается функциональность, доступная боту сразу после установки.
    Есть некоторое послабление в контроле для приложений, установленных из Google Play.
    Ввиду того, что приложения, размещённые там, проходят проверку. Но минимальная версия SDK, необходимая для загрузки приложения в Google Play — 26, что в свою очередь лишает бота возможности пользоваться автоматическим предоставлением прав для приложений с targetSDK <=19.



    О root-правах

    В общих черта, root-права - это наличие на устройстве консольной утилиты su. Любое из
    Android-приложений может обратиться к нему и выполнить команду от имени пользователя root.
    А так как root в Linux обладает возможностями бога, то и приложение получает доступ ко всем этим возможностям.

    Поэтому получить root непросто даже на своём собственном телефоне, имея непосредственный физический доступ и навыки. Для загрузки утилиты su на устройство
    необходимо разблокировать и заменить загрузчик системы, а если загрузчик окажется
    неподходящим это окирпичит ваш девайс.

    Другой способ установить желанную утилиту - использовать уязвимости системы. Найти
    эксплоиты для устройств новее Android 5 представляется довольно сложной задачей. И дело даже не в высокой стоимости, а в отсутствии предложений на рынке.

    Кроме того, наличие утилиты su на устройстве может привести к негативным
    последствиям. Банковские приложения видят её и ограничивают свой функционал. Например, запрещают отправлять переводы неизвестным получателям.

  • #2

    Что такое web-инжекты?

    Технически, веб-инжект - это html-страничка, с графикой и стилями. Абсолютно то же самое, что и фейки сайтов. Но внешне инжект изображает существующее приложение (или мобильную версию сайта). Он содержит минимум информации - чаще всего логотип приложения, заголовок, форму для ввода данных (логины, пароли, номера карт, личная информация) - которые якобы требуются оригинальному приложению.

    Несмотря на название, инжект никуда не инжектится. Он не внедряется в другое приложение, ввиду невозможности сделать это средствами Android. В тот момент, когда юзер запускает приложение, бот показывает инжект поверх этого приложения.
    Так что юзер принимает появившуюся форму за окно реальной программы. После введения данных, бот отправляет их в админ. панель и убирает инжект с экрана.
    Юзер снова видит оригинальное приложение. Если данные были указаны верно, то инжект скорее всего больше не появится.
    Существуют инжекты для банковских приложений, мобильных версий сайтов, платёжных систем, мессенджеров и соц. сетей. Инжект может быть создан для чего угодно, так как его вид ограничивается лишь фантазией создателя.
    Ключевым моментом в функционировании инжектов является возможность бота вовремя определить какое приложение было запущено. Для этого существует несколько способов.

    Способы определения запущенного приложения

    В Android вплоть до 6-ой версии определение запущенного приложения осуществлялось с помощью getRunningTasks / getRunningAppProcesses. Затем эту возможность ограничили и разработчики стали прибегать к разным ухищрениям.

    Среди которых:
    • Анализ содержимого /proc/ (с помощью библиотеки AndroidProcesses. Доступ к /proc/ закрыли на версиях Android 7 и выше, возможен только с root-доступом)
    Usage Stats Manager (требуется предоставление прав пользователем)
    Accessibility Service (требуется предоставление прав пользователем)

    Наибольшей популярностью на данный момент пользуется Usage Stats Manager ввиду простоты
    реализации, однако пользователь должен дать боту права на использование этой функции.

    Всё об СМС-перехвате

    Несколько фактов:
    • Каждый бот получает все входящие СМС и может отправлять их в админ. панель.
    • До Android 5 можно было также предотвратить получение СМС юзером.
    • На Android 5 и выше скрыть СМС от юзера может только СМС-мессенджер установленный по умолчанию.

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

    Плюсы: бот получает полный контроль над СМС, юзер не видит уведомлений об их
    поступлении и никогда не сможет их прочитать.

    Минусы: юзер теряет любой доступ к чтению и даже отправке СМС. Его привычный СМСмессенджер при запуске показывает уведомление, о том что права отданы <имя бота>. Нажатие на уведомление даёт возможность забрать права у бота и вернуть их обратно СМС-приложению.
    Последний раз редактировалось Qazwsxedc; 01-07-2019, 10:33.

    Комментарий


    • #3

      Особенности последних версий Android

      Вкратце, о том как изменениях в свежих версиях Android (7-8-9) отражаются на поведении и устройстве ботов.

      Так как в новых версиях появилось разделение прав (в Android 4 юзер мог только согласиться на предоставление всего списка прав, запрашиваемых приложением), ботам требуется больше подтверждений от юзеров. Однако, юзеры чаще всего не понимают, чем опасны эти подтверждения, особенно если бот перед этим показывает вводящее в заблуждение сообщение (например, о том что предоставление прав требуется для корректной работы приложения или даже системы).

      Равно как и боты, совершенно безобидные приложения запрашивают те же самые разрешения (например доступ к Usage Stats Manager требуется приложению, позволяющему ставить пароль на запуск других программ). В результате, юзер не имеет никакой возможности отличить опасное поведение бота от совершенно легальной активности.

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

      Другим основным отличием Android-устройств начиная с версии 7, стало отсутствие возможности определения запущенного приложения. Теперь эту информацию можно получить только от Usage Stats Manager, разрешение на использование которого должен выдать пользователь.

      Google Protect & Мобильные антивирусы

      Google Protect - это АВ встроенный в сам Android. Он может проверять на угрозы устанавливаемые apk-файлы, регулярно сканировать устройство, отправлять в Google подозрительные или просто интересные файлы с вашего устройства.

      В свежих версиях Android он играет все большую роль, так что зачастую установка бота с включённым Google Protect становится практически невозможной. Но при этом возможно отключить сам Google Protect, например с помощью Accessibility Service. Это делают продвинутые лоадеры, о чём так же будет рассказано позже.

      Как я писал в главе "Что не могут сделать боты", приложения Android очень сильно ограничены в доступе к системе и не имеют доступа к данным друг друга. Всё это распространяется и на мобильные антивирусы.

      Мобильные антивирусы могут анализировать лишь статичные данные (apk-файл до установки), сканировать список процессов на появление известных им имён пакетов, отправлять найденные файлы на сервера АВ для прохождения ручной проверки. АВ не могут анализировать действия ботов, не могут вмешиваться в процесс их работы и как-либо сообщать юзерам о вредоносной активности. Они ничего не знают об СМС-перехвате, о фейковых pushуведомлениях, о веб-инжектах. Даже блокировка экрана устройства не может быть никак предотвращена установленным антивирусом.

      Всё потому что с точки зрения Android — мобильный АВ это обычное приложение, не имеющее абсолютно никаких преимуществ перед другими установленными приложениями и имеющее равные с ними возможности.

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

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

      Комментарий


      • #4
        Раскачка акка - к успеху идёшь.
        Познавательный копипаст, жаль только большая часть публики darkmoney, не поймёт о чём речь.

        Комментарий


        • #5

          Как удалить бота?

          Примечание: на разных устройствах и разных версиях Android пути к настройкам могут сильно
          различаться.

          Я укажу лишь основные названия разделов. Если не можете найти нужный раздел - используйте гугл или ставьте дополнительные приложения из Google Play (например, AutoStarts Manager)

          Прежде всего, проверим список приложений (Settings - Apps), на наличие ботов. Ботом может оказаться что угодно - т.к. название и иконка бота могут соответствовать реальным приложениям. Если приложение появилось недавно и его название и предназначение вам незнакомо, его можно попробовать удалить. В отличии от Windows это не нарушит стабильную работу системы никоим образом.

          Итак, предполагаемый бот обнаружен и надо его удалить.
          • Жмём кнопку Uninstall (Удалить) на странице с информацией о приложении
          • Если кнопка неактивна, надо сперва снять с бота права администратора. Идём в раздел Device Administrators (Администраторы устройства) и лишаем прав.
          • Если бот настойчиво требует их обратно - вернём права. Теперь ищем список автозагрузки приложений. В нём отключаем запуск бота и перезагружаем устройство.
          • Теперь снова лишаем бота прав администратора. Он не должен требовать их повторно. Идём в список приложений и удаляем бота как обычное приложение.
          • В наиболее запущенных случаях, бот может не давать отключить даже автозагрузку. Скорее всего благодаря доступу к AccessibilityService. Находим соответствующий раздел Accessibility и отключаем сервис бота. Если получится.

          Если же бот усердно мешает сделать и это, переходим к плану Б.
          А именно - удаление бота с помощью компьютера, USB-кабеля и приложения adb.

          • Устанавливаем adb на ПК https://www.xda-developers.com/insta...s-macos-linux/
          • Подключаем телефон к USB
          • Снимаем с бота права админа. Он начинает требовать их снова, игнорируем
          • Получаем список установленных приложений: adb shell 'pm list packages -f'

          Теперь нам предстоит так или иначе узнать имя пакета бота. Зачастую оно выглядит так: sof8wo3f.s8y3roha.sf8oyse
          В некоторых случаях имя пакета бота может помочь узнать стороннее приложение Android (Монитор процессов и т. п.)

          • Удаляем бота: adb uninstall имя_пакета

          Если вам не удаётся удалить бота и вы не знаете на что он способен, по меньшей мере вытащите симку и несите телефон в сервис. Либо скиньте все ценные данные и сделайте Factory reset (сброс к заводским настройкам).
          Боты связываются с админ. панелью каждую минуту (чаще невозможно по причине ограничений Android), так что ваша личная информация может безвозвратно уйти на сервер в любой момент (см. главу «Возможности ботов»).
          Если нет возможности отключить телефон прямо сейчас, то выключите WI-FI (и удалите сохранённый пароль от точки), а также отключите мобильный трафик.
          Установка брандмауэра/файрвол из Google Play может обрезать боту доступ к интернету.

          Комментарий


          • #6
            Ему газеты надо печатать)))

            Комментарий

            Обработка...
            X