6.8 KiB
Витягування прав зкомпільованого додатку
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Резюме сторінки https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Витягування прав та мобільних провізійних файлів
При роботі з IPA додатком або встановленим додатком на джейлбрейкнутому пристрої, безпосередньо знайти файли .entitlements
або файл embedded.mobileprovision
може бути неможливо. Однак, списки прав все ще можна витягнути з бінарного файлу додатку, дотримуючись процедур, викладених у розділі "Основне тестування безпеки iOS", зокрема в розділі "Отримання бінарного файлу додатку".
Навіть з зашифрованими бінарними файлами, певні кроки можуть бути використані для витягнення цих файлів. Якщо ці кроки не вдаються, можуть знадобитися інструменти, такі як Clutch (якщо сумісний з версією iOS), frida-ios-dump або подібні утиліти для дешифрування та витягнення додатку.
Витягування plist прав з бінарного файлу додатку
З доступом до бінарного файлу додатку на комп'ютері, binwalk може бути використаний для витягнення всіх XML файлів. Команда нижче демонструє, як це зробити:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
Альтернативно, radare2 може бути використаний для тихого виконання команди та виходу, шукаючи всі рядки в бінарному файлі програми, які містять "PropertyList":
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
Обидва методи, binwalk та radare2, дозволяють витягувати plist
файли, при цьому перевірка першого (0x0015d2a4) виявила успішне відновлення оригінального файлу прав з Telegram.
Для бінарних файлів додатків, доступних на зламаних пристроях (наприклад, через SSH), команда grep з прапором -a, --text
може бути використана для обробки всіх файлів як ASCII тексту:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Налаштування прапора -A num, --after-context=num
дозволяє відображати більше або менше рядків. Цей метод є життєздатним навіть для зашифрованих бінарних додатків і був перевірений на кількох додатках з App Store. Згадані раніше інструменти також можуть бути використані на джейлбрейкнутіх iOS пристроях для подібних цілей.
Примітка: Пряме використання команди strings
не рекомендується для цього завдання через її обмеження у знаходженні відповідної інформації. Натомість, рекомендується використовувати grep з прапором -a
на бінарному файлі або використовувати radare2 (izz
)/rabin2 (-zz
) для більш ефективних результатів.
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.