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

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 699
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость

А сейчас начнется веселье. Согласно Owasp все уязвимости были квалифицированы в
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!




M1 – неправильное использование платформы

M2 – небезопасное хранения данных

M3 –небезопасное общение

M4 – небезопасная аутентификация

M5 – недостаточная криптография

M6 – небезопасная

M7 – код клиента

M8 – фальсификация кода

M9 – обратная разработка

M10 – посторонние функции



Также для практики сбора уязвимых приложений-
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!




Мы используем банк Небезопасных Приложений Андроид (Insecure bank Android Application) для демонстрации уязвимостей -



Сбор информации
Используя drozer, мы можем собирать информацию о приложении Андроид



Код:
команда – run app.package.info –a <.apk name>
Детальное описание – UID, GID, разрешения пользователей, директория данных, Apk путь, разделяемые библиотеки, разделяемые пользователи, версия и название приложения.


Атакующие компоненты Aндроид

Как я уже определил, все компоненты деятельности Андроид, службы, провайдер контента и широковещательные приемники можно найти, перейдя по ссылке -
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!

Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, где мы можем искать их уязвимые места, и узнать, как эти компоненты могут быть уязвимы в приложении.



Атакующая деятельность
Экспортируемые виды деятельности


Экспортируемые виды деятельности (exported = True) – это те виды, деятельности, к которым можно получить доступ при помощи другого приложения на том же устройстве. В большинстве случаев после аутентификации в Android-приложении он переходит к новому действию, о котором, в основном, пользователи осведомлены (например, музыкальный плейлист после входа в музыкальный проигрыватель). Но разработчики сохраняют эти операции экспортированными и даже без пользовательских разрешений.



В файле манифеста Android действия упоминаются с экспортированным значением или с помощью команд drozer.



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

Код:
команда – run App.activity.info –a <.apk name>
файл манифеста
Код:
<activity android:label=”@7F070040″ android:name=”com.android.insecurebankv2.LoginActivity”><intent-filter><action android:name=”android.intent.action.MAIN”><activity android:label=”@7F070040″ android:name=”com.android.insecurebankv2.LoginActivity”><intent-filter><action android:name=”android.intent.action.MAIN”> </action><category android:name=”android.intent.category.LAUNCHER”> </category></intent-filter></activity><activity android:label=”@7F070057″ android:name=”com.android.insecurebankv2.FilePrefActivity” android:windowSoftInputMode=”0x00000034″> </activity><activity android:label=”@7F070054″ android:name=”com.android.insecurebankv2.DoLogin”> </activity><activity android:label=”@7F07005B” android:name=”com.android.insecurebankv2.PostLogin” android:exported=”true”> </activity><activity android:label=”@7F07005E” android:name=”com.android.insecurebankv2.WrongLogin”> </activity><activity android:label=”@7F070055″ android:name=”com.android.insecurebankv2.DoTransfer” android:exported=”true”> </activity><activity android:label=”@7F07005D” android:name=”com.android.insecurebankv2.ViewStatement” android:exported=”true”> </activity>
Drozer


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



Давайте попробуем вызывать действия после входа без учетных данных, используя drozer.



Пример – Dotransfer, Viewstatement, Changepassword

Код:
Команда в drozer – run app.activity.start –компонент <.apkname>< activityname>
run app.activity.start –component com.android.insecurebankv2 com.android.insecurebankv2. Выполните переход



До


После


Использование вредоносного приложения для вызова действий других приложений

Другой способ вызова действий других приложений – написать вредоносное приложение и передать ему название пакета и активности, чтобы запустить его. В нашем случае вредоносное приложение не требует каких-либо разрешений для запуска действий «Post login» уязвимого приложения.



Защита компонента активности


Настройка Андроид: смена экспортированного значения атрибута на ложное (false)
В файле AndroidManifest.XML нашего приложения нам следует добавить следующий атрибут к компоненту приложения для гарантии безопасности. В нашем случае после произведения входа деятельность должна быть безопасна.

Код:
<activity android: label=”@7F070055″ android: name=”com.android.insecurebankv2.DoTransfer” android: exported=”false“></activity>
Правдивое (True): Провайдер доступен для других приложений. Любое приложение может использовать URI контента провайдера, чтобы получить доступ к нему, с учетом разрешений, указанных для провайдера.



Ложное (False): Провайдер недоступен для других приложений. Выставьте в Андроид: exported=”false”, чтобы ограничить доступ к провайдеру для вашего приложения. Только у тех приложений, у которых такой же ID (UID) пользователя, как у провайдера, будут иметь доступ к нему.



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



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

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



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

О нас

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

    Dark-Time 2015 - 2024

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя