1. iOS ssh 접속
- 루팅 된 iOS폰을 이용 (버전에 따라 다름, 진행은 iPhone5_9.2.1)
1. Home Depot 실행
2. enable jailbrake 활성화
3. specific 실행
4. 메모에 저장된 메모리값 전체 복붙
5. 진행되면서 자동 재부팅
6. Cydia 통해 Open SSH 재설치
7. ip확인 후 동일 네트워크에서 접속
8. 필요한 앱 : Open SSH, nano, Filza file manager 등
- ssh 접속 ( 기본적으로 아이폰은 root / alpine 계정 사용)
mac_pc#ssh root@192.168.0.16
root@192.168.0.16's password: ***
chaem-iPhone:~ root#
- cydia impactor로 ipa 주입 https://android1219.tistory.com/34 -> 자꾸 실패해서 아래아래 방법으로 진행
- cydia에서 ipa installer console을 이용하는 방법도 있음 -> 자꾸 실패해서 아래 방법으로 진행
- xftp로 ipa파일 주입하고 filza 앱으로 ipa 파일 설치 후, 설정 > 일반 > 프로파일 및 기기 관리 > Cross Communication Inc. > 앱 신뢰 > 바탕화면에 설치된 앱 실행
2. 사용자 설치 Application 위치
- 사용자 Application 설치 위치
- 설치 위치는 iOS 설정에 따라 다르다 find / -name Application 2>/dev/null이용해 위치를 파악한다.
- /private/var/mobile/Containers/Bundle/Application 내 존재
- 아래 이미지와같이 알아보기 어렵지만 설치된 일자를 확인하여 대략적 유추한다.
3. Clutch2 를 이용한 Decrypt
- Clutch ( https://github.com/KJCracks/Clutch/releases 링크에서 다운로드 가능)
- Clutch는 iOS 11 이상에서는 동작하지 않는 것으로 보인다
- FileZilla와 같은 툴을 이용하여 아이폰으로 전송
- ./Clutch -i로 현재 설치 된 Application을 볼 수 있다
- 위의 내용에서 보이는 숫자를 이용해 ./Clutch -b 숫자 를 입력하게 되면 알아서 Decrypte 진행한다.
- ipa파일이 이미 있을 경우 진행할 필요 없어 보임
- clutch로 복호화해주지 않아도 IDA에서 복호화해주는 경우도 있는 것으로 보임
- /private/var/mobile/Containers/Bundle/Application/109D29CA-CFE1-43CB-ADDA-4002CE44B7D2/Multi.app
- dyld: Library not loaded: /usr/lib/libpcre.0.dylib 에러 발생 시, cydia에서 pcre를 설치
- 참고 : (https://rootable.tistory.com/tag/class-dump-z)
4. clutch 사용 후 class-dump 사용
( 버전에 따라 class-dump-z는 동작하지 않는 것으로 보임)
chaemui-iPhone:/private/var/containers/Bundle/Application/70510B9B-E08D-4ADC-983A-EB5A2475258A/AppName.app root# class-dump AppName
2019-11-13 09:19:09.934 class-dump[8119:673753] We don't support 64-bit Mach-O files.
chaemui-iPhone:/private/var/containers/Bundle/Application/70510B9B-E08D-4ADC-983A-EB5A2475258A/breadwallet.app root# otool -arch all -Vh AppName
AppName:
Mach header
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
MH_MAGIC_64 ARM64 ALL 0x00 EXECUTE 57 6344 NOUNDEFS DYLDLINK TWOLEVEL PIE
- class-dump에서 "class-dump[3795:113367] We don't support 64-bit Mach-O files." 에러가 발생하여 otool을 이용하여 아키텍쳐를 확인해 보았다. class-dump는 32bits 환경에서만 작동하는 것으로 예상된다.
- lipo를 이용하여 아키텍쳐를 변경해 줄 수 있을 것으로 기대했으나, 다음과 같은 에러가 발생하고, 동작하지 않음 ㅠ
chaemui-iPhone:/private/var/containers/Bundle/Application/70510B9B-E08D-4ADC-983A-EB5A2475258A/AppName.app root# lipo -thin armv7 AppName -ouput NewName
fatal error: lipo: unknown flag: -ouput
반응형
'보안 및 개발 > MOBILE' 카테고리의 다른 글
[iOS] cycript 사용법 (0) | 2019.10.17 |
---|---|
[iOS] otool 사용법 (0) | 2019.10.17 |
[iOS] objection 툴 사용 (0) | 2019.10.07 |
[iOS] 파일시스템 구조 (0) | 2019.10.07 |
[iOS] Frida 사용자함수 hooking (0) | 2019.10.07 |