11 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 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹에 참여하거나 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
준비
- iOS 기초 읽기
- iOS 테스트 환경 읽어 환경 준비하기
- iOS 초기 분석의 모든 섹션을 읽어 iOS 애플리케이션을 펜테스트하는 일반적인 작업을 배우기
데이터 저장
- Plist 파일은 민감한 정보를 저장하는 데 사용될 수 있습니다.
- Core Data (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
- YapDatabases (SQLite 데이터베이스)는 민감한 정보를 저장할 수 있습니다.
- Firebase 잘못된 구성.
- Realm 데이터베이스는 민감한 정보를 저장할 수 있습니다.
- Couchbase Lite 데이터베이스는 민감한 정보를 저장할 수 있습니다.
- 이진 쿠키는 민감한 정보를 저장할 수 있습니다.
- 캐시 데이터는 민감한 정보를 저장할 수 있습니다.
- 자동 스냅샷은 시각적 민감한 정보를 저장할 수 있습니다.
- 키체인은 일반적으로 전화기를 재판매할 때 남길 수 있는 민감한 정보를 저장하는 데 사용됩니다.
- 요약하자면, 파일 시스템에 애플리케이션이 저장한 민감한 정보를 확인하세요.
키보드
- 애플리케이션이 사용자 정의 키보드 사용을 허용하는지 확인하세요.
- 키보드 캐시 파일에 민감한 정보가 저장되어 있는지 확인하세요.
로그
- 민감한 정보가 기록되고 있는지 확인하세요.
백업
- 백업은 파일 시스템에 저장된 민감한 정보에 접근하는 데 사용될 수 있습니다 (이 체크리스트의 초기 포인트 확인).
- 또한, 백업은 애플리케이션의 일부 구성을 수정하는 데 사용될 수 있으며, 그런 다음 전화에 백업을 복원하면 수정된 구성이 로드되어 일부 (보안) 기능이 우회될 수 있습니다.
애플리케이션 메모리
- 애플리케이션의 메모리 내에서 민감한 정보를 확인하세요.
손상된 암호화
- 암호화에 사용된 비밀번호를 찾을 수 있는지 확인하세요.
- 민감한 데이터를 전송/저장하기 위해 사용된 알고리즘이 구식/약한지 확인하세요.
- 암호화 함수 후킹 및 모니터링.
로컬 인증
- 애플리케이션에서 로컬 인증을 사용하는 경우, 인증이 어떻게 작동하는지 확인해야 합니다.
- 로컬 인증 프레임워크를 사용하는 경우 쉽게 우회될 수 있습니다.
- 동적으로 우회할 수 있는 함수를 사용하는 경우, 사용자 정의 frida 스크립트를 생성할 수 있습니다.
IPC를 통한 민감한 기능 노출
- 사용자 정의 URI 핸들러 / 딥링크 / 사용자 정의 스킴
- 애플리케이션이 어떤 프로토콜/스킴을 등록하고 있는지 확인하세요.
- 애플리케이션이 어떤 프로토콜/스킴을 사용하기 위해 등록하고 있는지 확인하세요.
- 애플리케이션이 어떤 종류의 민감한 정보를 수신할 것으로 예상하는지 확인하세요. 이 정보는 동일한 스킴을 등록한 다른 애플리케이션에 의해 가로챌 수 있습니다.
- 애플리케이션이 사용자 입력을 확인하고 정리하지 않는지 확인하세요. 이로 인해 취약점이 악용될 수 있습니다.
- 애플리케이션이 어디서든 호출할 수 있는 민감한 작업을 노출하는지 확인하세요.
- 유니버설 링크
- 애플리케이션이 어떤 유니버설 프로토콜/스킴을 등록하고 있는지 확인하세요.
apple-app-site-association
파일 확인하기- 애플리케이션이 사용자 입력을 확인하고 정리하지 않는지 확인하세요. 이로 인해 취약점이 악용될 수 있습니다.
- 애플리케이션이 어디서든 호출할 수 있는 민감한 작업을 노출하는지 확인하세요.
- UIActivity 공유
- 애플리케이션이 UIActivities를 수신할 수 있는지 확인하고, 특별히 제작된 활동으로 어떤 취약점을 악용할 수 있는지 확인하세요.
- UIPasteboard
- 애플리케이션이 일반 클립보드에 무엇인가를 복사하고 있는지 확인하세요.
- 애플리케이션이 일반 클립보드의 데이터를 사용하는지 확인하세요.
- 클립보드를 모니터링하여 민감한 데이터가 복사되는지 확인하세요.
- 앱 확장
- 애플리케이션이 어떤 확장을 사용하고 있는지 확인하세요.
- WebViews
- 어떤 종류의 웹뷰가 사용되고 있는지 확인하세요.
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
, **hasOnlySecureContent
**의 상태를 확인하세요.- 웹뷰가 파일 프로토콜 file://로 로컬 파일에 접근할 수 있는지 확인하세요 (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
). - Javascript가 네이티브 메서드에 접근할 수 있는지 확인하세요 (
JSContext
,postMessage
).
네트워크 통신
- MitM 공격을 수행하여 통신을 분석하고 웹 취약점을 검색하세요.
- 인증서의 호스트 이름이 확인되는지 확인하세요.
- 인증서 고정 확인/우회하기.
기타
- 자동 패치/업데이트 메커니즘 확인하기.
- 악성 제3자 라이브러리 확인하기.
Try Hard Security Group
{% embed url="https://discord.gg/tryhardsecurity" %}
{% hint style="success" %}
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 Discord 그룹에 참여하거나 텔레그램 그룹에 참여하거나 Twitter 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
Trickest를 사용하여 세계에서 가장 진보된 커뮤니티 도구로 구동되는 워크플로우를 쉽게 구축하고 자동화하세요.
오늘 바로 접근하세요:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}