Drozer Tutorial
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Bug bounty tip: зареєструйтесь на Intigriti, преміум платформі для винагород за вразливості, створеній хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні та почніть заробляти винагороди до $100,000!
APKs to test
Sieve (від mrwlabs)
Частини цього посібника були витягнуті з Drozer documentation pdf.
Installation
Встановіть Drozer Client на вашому хості. Завантажте його з останніх релізів.
Завантажте та встановіть drozer APK з останніх релізів. На даний момент це цей.
Запуск сервера
Агент працює на порту 31415, нам потрібно перенаправити порт, щоб встановити зв'язок між клієнтом Drozer та агентом, ось команда для цього:
Нарешті, запустіть додаток і натисніть кнопку "УВІМКНУТО"
І підключіться до нього:
Цікаві команди
Команди
Опис
Help MODULE
Показує допомогу вибраного модуля
list
Показує список усіх модулів drozer, які можна виконати в поточній сесії. Це приховує модулі, для яких у вас немає відповідних дозволів на виконання.
shell
Запускає інтерактивну оболонку Linux на пристрої в контексті Агенту.
clean
Видаляє тимчасові файли, збережені drozer на Android-пристрої.
load
Завантажує файл, що містить команди drozer, і виконує їх послідовно.
module
Знаходить і встановлює додаткові модулі drozer з Інтернету.
unset
Видаляє названу змінну, яку drozer передає будь-яким оболонкам Linux, які він створює.
set
Зберігає значення в змінній, яка буде передана як змінна середовища будь-яким оболонкам Linux, створеним drozer.
shell
Запускає інтерактивну оболонку Linux на пристрої в контексті Агенту
run MODULE
Виконує модуль drozer
exploit
Drozer може створювати експлойти для виконання на пристрої. drozer exploit list
payload
Експлойти потребують корисного навантаження. drozer payload list
Пакет
Знайдіть ім'я пакету, фільтруючи за частиною імені:
Основна інформація про пакет:
Прочитайте Manifest:
Атакувальна поверхня пакету:
Дії: Можливо, ви можете запустити дію та обійти якусь авторизацію, яка повинна заважати вам її запускати.
Постачальники контенту: Можливо, ви можете отримати доступ до приватних даних або експлуатувати якусь вразливість (SQL Injection або Path Traversal).
Сервіси:
is debuggable: Дізнатися більше
Дії
Значення “android:exported” компонента експортованої дії встановлено на “true” у файлі AndroidManifest.xml:
Список експортованих активностей:
Запустити активність:
Можливо, ви можете запустити активність і обійти якийсь вид авторизації, яка повинна заважати вам її запустити.
Ви також можете запустити експортовану активність з adb:
PackageName - com.example.demo
Exported ActivityName - com.example.test.MainActivity
Content Providers
Цей пост був занадто великим, щоб бути тут, тому ви можете доступити його на окремій сторінці тут.
Services
Експортована служба оголошується в Manifest.xml:
Всередині коду перевірте функцію **handleMessage
**, яка буде отримувати повідомлення:
Список сервісів
Взаємодіяти з сервісом
Приклад
Подивіться на допомогу drozer для app.service.send
:
Зверніть увагу, що спочатку ви будете надсилати дані всередині "msg.what", потім "msg.arg1" і "msg.arg2", вам слід перевірити в коді яка інформація використовується і де.
Використовуючи опцію --extra
, ви можете надіслати щось, що інтерпретується "msg.replyTo", а використовуючи --bundle-as-obj
, ви створюєте об'єкт з наданими деталями.
У наступному прикладі:
what == 2354
arg1 == 9234
arg2 == 1
replyTo == object(string com.mwr.example.sieve.PIN 1337)
Broadcast Receivers
У розділі основної інформації Android ви можете побачити, що таке Broadcast Receiver.
Після виявлення цих Broadcast Receivers вам слід перевірити код цих компонентів. Зверніть особливу увагу на функцію onReceive
, оскільки вона оброблятиме отримані повідомлення.
Виявити всі broadcast receivers
Перевірте приймачі широкомовлення програми
Взаємодії Broadcast
Відправити повідомлення
У цьому прикладі, зловживаючи FourGoats apk Content Provider, ви можете відправити довільне SMS на будь-який непреміумний номер без запиту дозволу у користувача.
Якщо ви прочитаєте код, параметри "phoneNumber" та "message" повинні бути надіслані до Content Provider.
Чи є можливість налагодження
Продуктова APK ніколи не повинна бути налагоджуваною. Це означає, що ви можете підключити java налагоджувач до запущеного додатку, перевірити його в режимі реального часу, встановити точки зупинки, крок за кроком, збирати значення змінних і навіть змінювати їх. InfoSec institute має відмінну статтю про те, як глибше дослідити, коли ваш додаток є налагоджуваним і впроваджувати код під час виконання.
Коли додаток є налагоджуваним, він з'явиться в Маніфесті:
Ви можете знайти всі додатки, які можна налагоджувати, за допомогою Drozer:
Tutorials
More info
Bug bounty tip: зареєструйтесь на Intigriti, преміум платформі для винагород за вразливості, створеній хакерами для хакерів! Приєднуйтесь до нас на https://go.intigriti.com/hacktricks сьогодні та почніть заробляти винагороди до $100,000!
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Last updated