반응형

탈옥 탐지 우회는 기술상, 시간상 어려운데 ipa 패키지에 대한 무결성 검증을 하지 않는 경우(낮은 확률의 Case)에 유용한 옵션이 될 수 있음.

Frida on Non-rooting Device보다 절차가 번거로움.

 

이하 macOS 10.14 VM, XCode 11.2, iOS 12.4(iPhone 6S+)에서 테스트 진행.

 

Xcode test 프로젝트 생성하고, 비탈옥단말에 설치 및 Profile 신뢰설정.

 

security find-identity -p codesigning -v    // 서명 identity값 확인

 

brew install ios-deploy       // ios-deploy 설치

brew install npm    // npm 설치

npm install -g applesign    // applesign 설치

 

// insert_dylib 설치

git clone https://github.com/Tyilo/insert_dylib

cd insert_dylib

xcodebuild

cp build/Release/insert_dylib /usr/local/bin/insert_dylib

 

pip install objection    // objection 설치

 

objection patchipa --source <decrypted ipa> --codesign-signature <서명 identity> --gadget-version <삽입할 frida-gadget 버전>    // FridaGadget.dylib 삽입하는 patching 작업을 objection에서 자동으로 수행해줌. 수행결과 현재 디렉터리에 something-frida-codesigned.ipa 파일 생성.

※ objection patchipa --help 명령어로 patchipa 관련된 options 확인 가능.

 

iOS App Signer 이용하여 패칭된 ipa파일에 대하여 사이닝 수행(제일 처음에 설치한 test 앱과 동일한 Provisioning Profile 사용하여야 함).

 

unzip <사이닝 완료된 ipa>    // unzipping 하면 Payload 폴더 생성

ios-deploy --bundle Payload/example.app/ -W -d    // 패칭 및 사이닝 완료된 ipa파일을 단말기에 설치

 

여기까지 완료되면 앱이 실행되면서 멈춰 있고, 터미널에서 다음 문구 출력.

 

frida-ps -Uai | grep Gadget    // FridaGadget 실행 여부 확인

 

frida -U Gadget 명령어로 attach하여 분석 수행.

 

※출처

https://medium.com/@dinezh.shetty/setting-up-frida-without-jailbreak-on-devices-running-latest-ios-12-4-27c7cfa6c9a2

https://github.com/sensepost/objection/wiki/Running-Patched-iOS-Applications

https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing

 

 

반응형

'Information Security > iOS' 카테고리의 다른 글

iOS 14.2 탈옥(iPhoneX)  (0) 2020.12.02
iOS 13.5.1 탈옥 - Bootrain  (0) 2020.08.17
iOS TouchID Bypass(DVIA-v2)  (0) 2020.07.23
DVIA-v2 Jailbreak Detection Test3  (0) 2020.07.14
Cycript(iOS 12.4)  (1) 2020.07.10

+ Recent posts