아이폰에서 진단하기 위한 앱을 다운로드 받는 경우 보통 앱스토어에서 설치하거나 TestFlight(테스트용 앱을 배포하여 다운로드받는 앱)를 사용하여 다운받는 경우가 많다.
이러한 앱을 PC로 꺼내서 분석하기 위해서는 앱을 IPA로 추출하는 과정이 반드시 필요하다.
IPA 추출에는 아래의 2가지 방식을 주로 사용한다.
CrackerXI+ 앱 사용
탈옥을 진행하고 나면 CrackerXI+라는 앱을 설치할 수 있게 된다. 해당 앱에 접근 후 설정에서 아래의 설정 값을 적용한다.
설정 값을 적용하고 AppList로 돌아가서 IPA 추출을 원하는 앱을 터치하면 IPA가 추출되는 방식이다.
이 방식은 IPA를 추출하기 가장 편리한 방식이지만 앱이 AppList에 뜨지 않는 경우나 에러가 발생하는 경우가 많다. 그렇게 된 경우 아래의 두번째 방법을 사용해야한다.
frida-ios-dump
먼저 기기에 Frida-Server를 설치하고 Frida를 연결한 뒤 기기에 현재 실행중인 앱에 붙어 덤프하여 IPA를 추출하는 방식이다. 이 방법은 왠만해서는 IPA가 추출되어서 가장 많이 쓰는 방법이다.
앱에 Frida-Server 설치를 하려면 https://build.frida.re 패키지를 Sileo 혹은 Cydia에 추가하면 된다.
* Frida-ios-dump 설치 : https://github.com/AloneMonkey/frida-ios-dump
설치 후 추가적으로 Windows에서 구동할 경우 gow(윈도우에서 리눅스 명령어를 사용할 수 있는 유틸리티)를 설치해주어야 한다.
* gow 설치 : https://github.com/bmatzelle/gow/releases
그리고 dump.py를 열어보면 root계정 정보와 IP주소 등을 작성하는 란이 있는데
Default root 계정은 root, alpine이므로 필요한 경우 수정하고 IP 주소는 단말기 네트워크 IP주소를 연결한다.(PC 핫스팟과 연결한 후 확인 가능한 IP)
준비가 완료되면 아래의 명령어를 사용하여 IPA를 추출할 수 있다.
python dump.py -l : 패키지명 확인
python dump.py [패키지명] : ipa 추출
[ 에러 조치 ]
동작 중 Permission 관련 에러가 발생할 경우 C:\Users\ {지정한 사용자 이름} \AppData\Local\Temp 의 Payload 폴더 제거 후 다시 시도해본다.
'4. 모바일 앱 취약점 진단 > iOS' 카테고리의 다른 글
앱 소스코드 내 중요 정보가 노출되는 경우 (0) | 2024.07.17 |
---|---|
Zadig 같은 툴을 잘못 사용하여 iOS 아이폰 단말기 USB 인식이 안될때 해결법! (0) | 2024.07.15 |
iOS 15~17 이상 버전 탈옥하기 - Winra1n, Palera1n (3) | 2024.07.09 |
[iOS] 1.3. 디바이스 임의 개조 탐지 취약점 (0) | 2024.06.19 |
[iOS] 1.1. 소스코드 난독화 및 암호화 취약점 (0) | 2024.06.19 |