실무에서 IOS 진단을 할 땐 IPA 파일을 추출해서 분석하는게 필수적인데 ios 버전 8.3 이후론 Clutch가 전부 막혀서 추출하기가 어려워졌다. 그래서 다음과 같은 방법으로 추출하는 방법이 있다.
1. IPA 파일 추출 방법
[그림 1-1] 업데이트
sudo apt update 명령어로 칼리리눅스 업데이트를 시도한다.
[그림 1-2] python3-pip 설치
sudo apt-get install python3-pip 명령어를 통헤 pip3를 설치한다.
[그림 1-3] requirements.txt 업그레이드
sudo pip3 install -r requirements.txt --upgrade 명령어를 통해 패키지 업그레이드를 한다.
[그림 1-4] libusbmuxd-tools 설치
sudo apt install libusbmuxd-tools 명령어를 통해 iproxy를 설치한다. 만약 sudo apt install iproxy로 하게 되면 현재 칼리리눅스에 패키지가 없기 때문에 설치가 되지 않는다.
[그림 1-5] iproxy 실행
iproxy 2222 22 명령어를 통해 iproxy를 실행한다.
[그림 1-6] 가상 머신 연결
iproxy 연결 후 탈옥된 아이폰을 뺐다가 다시 연결하면 다음과 같은 창이 출력되는데 Connect to a virtual machine과 칼리리눅스를 선택한 후 OK 버튼을 클릭한다.
[그림 1-7] iPhone 아이콘
아이폰과 칼리리눅스가 연결되면 다음과 같은 아이콘이 표시된다.
[그림 1-8] dump.py 실행
python3 dump.py -l을 입력한 후 확인하면 탈옥된 아이폰의 프로세스 목록들을 확인할 수 있다.
[그림 1-9] IPA 파일 추출
python3 dump.py com.apple.Maps 명령어를 입력해 IPA 파일 추출을 시도한다. IPA 추출 시도 시 iproxy 로그에 연결 상태 로그가 계속 출력된다.
[그림 1-10] ipa 파일 추출 성공
IPA 파일이 에러 없이 추출되면 frida-dump-master 폴더에서 추출된 IPA 파일을 확인할 수 있다. 로컬 PC와 연결되어 있다면 로컬로 복사해 IPA 파일을 사용할 수 있다.