5.6 KiB
Wyodrębnianie uprawnień z skompilowanej aplikacji
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć swoją firmę reklamowaną w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź SUBSCRIPTION PLANS!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.
Podsumowanie strony https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Wyodrębnianie uprawnień i plików Mobile Provision
Podczas pracy z plikiem IPA aplikacji lub zainstalowanej aplikacji na urządzeniu z jailbreakiem, może być niemożliwe znalezienie bezpośrednio plików .entitlements
lub embedded.mobileprovision
. Jednak listy właściwości uprawnień nadal można wyodrębnić z binarnego pliku aplikacji, postępując zgodnie z procedurami opisanymi w rozdziale "iOS Basic Security Testing", a w szczególności w sekcji "Acquiring the App Binary".
Nawet w przypadku zaszyfrowanych binarnych plików, można zastosować pewne kroki, aby wyodrębnić te pliki. Jeśli te kroki zawiodą, mogą być wymagane narzędzia takie jak Clutch (jeśli jest kompatybilny z wersją iOS), frida-ios-dump lub podobne narzędzia do odszyfrowania i wyodrębnienia aplikacji.
Wyodrębnianie pliku Entitlements Plist z binarnej aplikacji
Po uzyskaniu dostępu do binarnego pliku aplikacji na komputerze, można użyć narzędzia binwalk, aby wyodrębnić wszystkie pliki XML. Poniższa komenda pokazuje, jak to zrobić:
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
Alternatywnie, można użyć radare2, aby cicho uruchomić polecenie i zakończyć, wyszukując wszystkie ciągi znaków w binarnym pliku aplikacji, które zawierają "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"?>...
Obie metody, binwalk i radare2, umożliwiają ekstrakcję plików plist
, a inspekcja pierwszego z nich (0x0015d2a4) ujawnia udane odzyskanie oryginalnego pliku entitlements z Telegramu.
Dla binarnych aplikacji dostępnych na jailbroken urządzeniach (np. za pomocą SSH), można użyć polecenia grep z flagą -a, --text
, aby traktować wszystkie pliki jako tekst ASCII:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Dostosowanie flagi -A num, --after-context=num
pozwala na wyświetlanie większej lub mniejszej liczby linii. Ta metoda jest wykonalna nawet dla zaszyfrowanych plików binarnych aplikacji i została zweryfikowana na wielu aplikacjach ze sklepu App Store. Narzędzia wspomniane wcześniej mogą również być używane na jailbroken urządzeniach iOS w celach podobnych.
Uwaga: Bezpośrednie użycie polecenia strings
nie jest zalecane do tego zadania ze względu na jego ograniczenia w znajdowaniu istotnych informacji. Zamiast tego, zaleca się użycie grep z flagą -a
na pliku binarnym lub skorzystanie z narzędzi radare2 (izz
)/rabin2 (-zz
) dla bardziej efektywnych wyników.
Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!
Inne sposoby wsparcia HackTricks:
- Jeśli chcesz zobaczyć reklamę swojej firmy w HackTricks lub pobrać HackTricks w formacie PDF, sprawdź PLAN SUBSKRYPCYJNY!
- Zdobądź oficjalne gadżety PEASS & HackTricks
- Odkryj Rodzinę PEASS, naszą kolekcję ekskluzywnych NFT
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @carlospolopm.
- Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do HackTricks i HackTricks Cloud github repos.