Статья Тестирование на проникновение приложения Андроид – часть 10

broadcast.jpg

Атакующий широковещательный приемник (Broadcast Receiver):

Широковещательный приемник – это компонент системы Андроид, который позволяет вам зарегистрироваться для событий системы или приложений. Мы настоятельно рекомендуем прочитать Тестирование на проникновение Андроид для детального ознакомления с широковещательным приемником

Давайте рассмотрим манифест андроида

Широковещательные приемники, в основном, регистрируются в следующем формате. Как мы можем видеть из файла манифеста андроида, экспортированное значение = True (exported value = True) для трансляции.

Кажется, что код небезопасен, т.к. приемник экспортированный.

1536612169107.png


Параметры, которые переходят к широковещательному приемнику, можно увидеть на ниже приведенном рисунке.

1536613414863.png


Цель состоит в том, чтобы отправить поддельные трансляции и посмотреть, принимает ли приложение их. Если да, мы будем использовать приложение для отправки SMS на некоторые случайные мобильные номера, используя фальшивые трансляции.

Атака уязвимых широковещательных приемников

Защита приложений

Атака уязвимых широковещательных приемников

Давайте попробуем отправить некоторые поддельные трансляции этому получателю.

Использование инструмента am доступно в adb



Использование adb

1. Получите оболочку adb на устройстве и введите следующую команду для отправки поддельной трансляции.
2. Вернитесь в папку «platform-tools» и введите следующую команду:
Код:
. /adb shell
3. Введите следующую команду в оболочку:

Код:
am broadcast -a theBroadcast -n com.android.insecurebankv2/com.android.insecurebankv2.MyBroadCastReceiver –es phonenumber 5554 –es newpass Dinesh@123!
4. Вернитесь на эмулятор, перейдите к «Сообщениям». Введенная выше команда автоматически совершает вызов упомянутому широковещательному приемнику и отправляется SMS-текст с паролями.



3.png


Теперь широковещательное событие отправляется в фоновом режиме, и поскольку приложение не проверяет исходный источник, на эмулятор-5554 будет отправлено SMS без вмешательства пользователя.

Давайте рассмотрим, как мы можем защитить приложение-

Защита приложений:

  • Установка Fндроида: экспортированное значение атрибута - false
В файле AndroidManifest.xml нашего приложения нам следует добавить следующий атрибут к приемнику, чтобы защитить его.

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

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

Это является причиной, почему нам нужно определить “android.permission.RECEIVE_SMS” разрешение в файле AndroidManifest.xml, если какое-либо приложение хочет прослушать событие получения SMS, используя действие «android.provider.Telephony.SMS_RECEIVED».

Источник:
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!