mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
10 KiB
10 KiB
Lista kontrolna testowania penetracyjnego iOS
Użyj Trickest, aby łatwo tworzyć i automatyzować zadania przy użyciu najbardziej zaawansowanych narzędzi społeczności.
Otrzymaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Zacznij od zera i zostań ekspertem od hakowania AWS 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ź PLANY SUBSKRYPCYJNE!
- Kup 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 na GitHubie.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
Przygotowanie
- Przeczytaj Podstawy iOS
- Przygotuj swoje środowisko, czytając Środowisko testowe iOS
- Przeczytaj wszystkie sekcje Początkowa analiza iOS, aby dowiedzieć się, jak przeprowadzić test penetracyjny aplikacji iOS
Przechowywanie danych
- Pliki Plist mogą być używane do przechowywania poufnych informacji.
- Core Data (baza danych SQLite) może przechowywać poufne informacje.
- Bazy danych Yap (baza danych SQLite) mogą przechowywać poufne informacje.
- Firebase - błędna konfiguracja.
- Bazy danych Realm mogą przechowywać poufne informacje.
- Bazy danych Couchbase Lite mogą przechowywać poufne informacje.
- Pliki cookies binarne mogą przechowywać poufne informacje.
- Dane pamięci podręcznej mogą przechowywać poufne informacje.
- Automatyczne migawki mogą zachować wrażliwe informacje wizualne.
- Keychain jest zazwyczaj używany do przechowywania poufnych informacji, które mogą pozostać po sprzedaży telefonu.
- Podsumowując, po prostu sprawdź, czy aplikacja zapisuje wrażliwe informacje w systemie plików
Klawiatury
- Czy aplikacja pozwala na korzystanie z niestandardowych klawiatur?
- Sprawdź, czy w plikach pamięci podręcznej klawiatury zapisane są wrażliwe informacje
Logi
- Sprawdź, czy zapisywane są wrażliwe informacje (ios-pentesting/#logs)
Kopie zapasowe
- Kopie zapasowe mogą być używane do uzyskania dostępu do wrażliwych informacji zapisanych w systemie plików (sprawdź początek tej listy kontrolnej)
- Ponadto, kopie zapasowe mogą być używane do modyfikacji niektórych konfiguracji aplikacji, a następnie przywrócenia kopii zapasowej na telefonie, a gdy zmodyfikowana konfiguracja jest wczytywana, pewne (bezpieczeństwo) funkcje mogą zostać zignorowane
Pamięć aplikacji
- Sprawdź, czy w pamięci aplikacji nie ma wrażliwych informacji (ios-pentesting/#testing-memory-for-sensitive-data)
Słabe szyfrowanie
- Sprawdź, czy można znaleźć hasła używane do szyfrowania (ios-pentesting/#broken-cryptography)
- Sprawdź, czy używane są przestarzałe/słabe algorytmy do wysyłania/przechowywania wrażliwych danych
- Podłącz i monitoruj funkcje kryptograficzne
Lokalna autoryzacja
- Jeśli aplikacja używa lokalnej autoryzacji, należy sprawdzić, jak działa autoryzacja.
- Jeśli używa Frameworku lokalnej autoryzacji, może być łatwo zignorowana
- Jeśli używa funkcji, która może być dynamicznie zignorowana, można utworzyć niestandardowy skrypt frida
Ujawnienie funkcjonalności wrażliwej poprzez IPC
- Niestandardowe obsługiwane URI / Deep Linki / Niestandardowe schematy
- Sprawdź, czy aplikacja rejestruje jakikolwiek protokół/schemat
- Sprawdź, czy aplikacja rejestruje użycie jakiegokolwiek protokołu/schematu
- Sprawdź, czy aplikacja oczekuje na otrzymanie jakiegokolwiek rodzaju wrażliwych informacji z niestandardowego schematu, które mogą być przechwycone przez inną aplikację rejestrującą ten sam schemat
- Sprawdź, czy aplikacja nie sprawdza i nie oczyszcza danych użytkownika za pomocą niestandardowego schematu, co może być wykorzystane
- Sprawdź, czy aplikacja ujawnia jakiekolwiek wrażliwe działanie, które może być wywołane z dowolnego miejsca za pomocą niestandardowego schematu
- Uniwersalne linki
- Sprawdź, czy aplikacja rejestruje uniwersalny protokół/schemat
- Sprawdź plik
apple-app-site-association
- Sprawdź, czy aplikacja nie sprawdza i nie oczyszcza danych użytkownika za pomocą niestandardowego schematu, co może być wykorzystane
- Sprawdź, czy aplikacja ujawnia jakiekolwiek wrażliwe działanie, które może być wywołane z dowolnego miejsca za pomocą niestandardowego schematu
- UIActivity Sharing
- Sprawdź, czy aplikacja może odbierać UIActivities i czy można wykorzystać jakąkolwiek lukę związane z specjalnie przygotowaną aktywnością
- UIPasteboard
- Sprawdź, czy aplikacja kopiuję cokolwiek do ogólnego schowka
- Sprawdź, czy aplikacja używa danych z ogólnego schowka do czegokolwiek
- Monitoruj schowek, aby sprawdzić, czy zostały skopiowane jakieś wrażliwe dane
- Rozszerzenia aplikacji
- Czy aplikacja korzysta z jakiegokolwiek rozszerzenia?
- WebViews
- Sprawdź, jakiego rodzaju webviewy są używane
- Sprawdź status
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
- Sprawdź, czy webview może uzyskać dostęp do lokalnych plików za pomocą protokołu file:// (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
) - Sprawdź, czy JavaScript może uzyskać dostęp do metod natywnych (
JSContext
,postMessage
)
Komunikacja sieciowa
- Przeprowadź MitM w komunikacji i szukaj podatności internetowych.
- Sprawdź, czy nazwa hosta certyfikatu jest sprawdzana.
- Sprawdź/Omij Pinning certyfikatu
Różne
- Sprawdź mechanizmy automatycznego łatania/aktualizacji
- Sprawdź złośliwe biblioteki osób trzecich
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
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ź PLANY SUBSKRYPCYJNE!
- 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.
Użyj Trickest do łatwego tworzenia i automatyzacji workflowów zasilanych przez najbardziej zaawansowane narzędzia społeczności na świecie.
Otrzymaj dostęp już dziś:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}