ios-pentesting-tricks은(는) 무엇을 하나요?
iOS 침투 테스트 플레이북. 허가된 모바일 보안 평가 중 키체인 추출, URL 스킴 하이재킹, 유니버설 링크 악용, 런타임 조작, 바이너리 보호 분석, 데이터 저장소 문제 및 전송 보안 우회를 위해 iOS 애플리케이션을 테스트할 때 사용합니다.
시작하기
사전 요구 사항
- 탈옥된 iOS 기기 (선택 사항이지만 권장)
- Frida, Objection, Cycript 설치
- Python 3.x 및 pip
usbmuxd를 통한 SSH 연결 또는 USB 포워딩
설치
# Frida 설치
pip install frida-tools
# Objection 설치
pip install objection
# 필요 도구 설치
brew install libimobiledevice ideviceinstaller
주요 기술
1. 키체인 덤프
# 탈옥된 기기에서 키체인 덤프
frida-keychain-dump -U -f com.example.app
# Objection 사용
objection -g com.example.app explore --startup-command "ios keychain dump"
2. URL 스킴 및 유니버설 링크 분석
- Info.plist에서
CFBundleURLTypes확인 - 유니버설 링크의
apple-app-site-association검증 - 사용자 정의 스킴을 통한 인젝션 테스트
3. 런타임 조작
Frida 스크립트 예제
// 메서드 후킹
Interceptor.attach(ObjC.classes.NSData['+ dataWithContentsOfURL:'].implementation, {
onEnter: function(args) {
console.log('URL 로드 중: ' + ObjC.Object(args[2]).toString());
}
});
4. 바이너리 보호 분석
# Mach-O 헤더 확인
otool -f /path/to/binary
# 암호화 상태 확인
otool -l /path/to/binary | grep -A 4 LC_ENCRYPTION_INFO
# 클래스 덤프
class-dump -H /path/to/binary -o ./headers
5. 데이터 저장소 검사
- SQLite 데이터베이스 확인 (NSDocumentDirectory, NSLibraryDirectory)
- NSUserDefaults 덤프
- 임시 파일 및 캐시 분석
- Plist 파일 검사
6. 전송 보안 우회
# SSL 우회 (Objection 사용)
objection -g com.example.app explore --startup-command "ios sslpinning disable"
# HTTP 트래픽 캡처
mitmproxy --mode transparent -p 8080
참고 사항
- 모든 테스트는 허가된 환경에서만 수행해야 합니다.
- 실제 프로덕션 시스템에서 무단 사용은 불법입니다.
- 이 기술은 교육 및 보안 연구 목적으로 제공됩니다.