hacktricks/mobile-pentesting/ios-pentesting-checklist.md

10 KiB

iOS Pentesting Checklist


Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요.
지금 액세스하세요:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}

준비

데이터 저장

  • Plist 파일은 민감한 정보를 저장하는 데 사용될 수 있습니다.
  • Core Data (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
  • YapDatabases (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
  • Firebase 잘못된 구성.
  • Realm 데이터베이스는 민감한 정보를 저장할 수 있습니다.
  • Couchbase Lite 데이터베이스는 민감한 정보를 저장할 수 있습니다.
  • 이진 쿠키는 민감한 정보를 저장할 수 있습니다.
  • 캐시 데이터는 민감한 정보를 저장할 수 있습니다.
  • 자동 스냅샷은 시각적 민감한 정보를 저장할 수 있습니다.
  • 키체인은 일반적으로 전화기를 재판매할 때 남길 수 있는 민감한 정보를 저장하는 데 사용됩니다.
  • 요약하자면, 애플리케이션이 파일 시스템에 저장한 민감한 정보를 확인하세요.

키보드

로그

백업

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

애플리케이션 메모리

손상된 암호화

로컬 인증

IPC를 통한 민감한 기능 노출

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

네트워크 통신

기타

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}


Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요.
지금 액세스하세요:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}