iOS Pentesting Checklist

Reading time: 4 minutes

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기

Preparation

Data Storage

  • Plist files can be used to store sensitive information.
  • Core Data (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
  • YapDatabases (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
  • Firebase 잘못된 구성.
  • Realm databases는 민감한 정보를 저장할 수 있습니다.
  • Couchbase Lite databases는 민감한 정보를 저장할 수 있습니다.
  • Binary cookies는 민감한 정보를 저장할 수 있습니다.
  • Cache data는 민감한 정보를 저장할 수 있습니다.
  • Automatic snapshots는 시각적 민감한 정보를 저장할 수 있습니다.
  • Keychain은 일반적으로 전화기를 재판매할 때 남길 수 있는 민감한 정보를 저장하는 데 사용됩니다.
  • 요약하자면, 파일 시스템에 저장된 애플리케이션의 민감한 정보를 확인하세요.

Keyboards

Logs

Backups

  • Backups는 파일 시스템에 저장된 민감한 정보에 접근하는 데 사용될 수 있습니다 (이 체크리스트의 초기 포인트를 확인하세요).
  • 또한, backups애플리케이션의 일부 구성을 수정하는 데 사용될 수 있으며, 그런 다음 백업을 전화기에 복원하면 수정된 구성로드되어 일부 (보안) 기능우회될 수 있습니다.

Applications Memory

Broken Cryptography

Local Authentication

Sensitive Functionality Exposure Through IPC

  • Custom URI Handlers / Deeplinks / Custom Schemes
  • 애플리케이션이 프로토콜/스킴을 등록하고 있는지 확인하세요.
  • 애플리케이션이 프로토콜/스킴을 사용하기 위해 등록하고 있는지 확인하세요.
  • 애플리케이션이 다른 애플리케이션이 동일한 스킴을 등록하여 가로챌 수 있는 민감한 정보를 수신할 것으로 예상하는지 확인하세요.
  • 애플리케이션이 사용자 입력을 확인하고 정리하지 않는지 확인하고, 일부 취약점이 악용될 수 있는지 확인하세요.
  • 애플리케이션이 어디서든 호출할 수 있는 민감한 작업을 노출하는지 확인하세요.
  • Universal Links
  • 애플리케이션이 유니버설 프로토콜/스킴을 등록하고 있는지 확인하세요.
  • apple-app-site-association 파일을 확인하세요.
  • 애플리케이션이 사용자 입력을 확인하고 정리하지 않는지 확인하고, 일부 취약점이 악용될 수 있는지 확인하세요.
  • 애플리케이션이 어디서든 호출할 수 있는 민감한 작업을 노출하는지 확인하세요.
  • UIActivity Sharing
  • 애플리케이션이 UIActivities를 수신할 수 있는지 확인하고, 특별히 제작된 활동으로 어떤 취약점을 악용할 수 있는지 확인하세요.
  • UIPasteboard
  • 애플리케이션이 일반 클립보드에 무엇인가를 복사하고 있는지 확인하세요.
  • 애플리케이션이 일반 클립보드의 데이터를 사용하는지 확인하세요.
  • 클립보드를 모니터링하여 민감한 데이터가 복사되는지 확인하세요.
  • App Extensions
  • 애플리케이션이 어떤 확장을 사용하고 있는지 확인하세요.
  • WebViews
  • 어떤 종류의 웹뷰가 사용되고 있는지 확인하세요.
  • javaScriptEnabled, JavaScriptCanOpenWindowsAutomatically, **hasOnlySecureContent**의 상태를 확인하세요.
  • 웹뷰가 file:// 프로토콜로 로컬 파일에 접근할 수 있는지 확인하세요 (allowFileAccessFromFileURLs, allowUniversalAccessFromFileURLs).
  • Javascript가 Native 메서드에 접근할 수 있는지 확인하세요 (JSContext, postMessage).

Network Communication

Misc

tip

AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기