IOS 11 이상 앱 복호화 (bagbak)

IOS 11 이상 앱 복호화 (bagbak)

IOS 11버전 이상에서 앱을 복호화하는 방법에 대해 알아보겠습니다.

앱스토어에서 앱을 다운로드 받을 경우, 앱이 암호화되어 있어 IDA 와 같은 정적분석 도구에서 분석이 불가능합니다. 따라서, 앱을 복호화 해준 후 분석을 진행해야 합니다.
기존에는 clutch라는 툴을  사용하였으나,  IOS 11 이상 버전에서는 clutch 사용 시 에러가 발생합니다.

그래서 오늘은 IOS 11버전 이상에서 사용이 가능한 bagbak이라는 툴에 대해 알아보겠습니다.

bagbak은 frida 기반의 앱 복호화 툴입니다.

bagbak을 사용하기 위해서는 먼저, 디바이스에 frida를 설치해주어야 합니다.

frida는 cydia에서 이용해 설치할 수 있습니다. cydia에서 frida를 설치해주기 위해서는 https://build.frida.re 소스를 추가해주어야 합니다.

 

Cydia 실행 후 소스탭에서 편집 클릭

 

https://build.frida.re 입력 후 소스 추가 클릭

 

frida 검색하여 디바이스에 맞는 frida 선택하여 설치

 

또한, bagbak을 사용하기 위해서는 PC에 Node.js가 설치되어 있어야 합니다.

 

홈페이지에서 설치파일을 다운받아 설치해주시면 됩니다. 설치가 완료되면 CMD 창을 열어 bagbaK을 설치해줍니다.

C:\>npm install -g bagbak

bagbak 설치
bagbak 설치 완료 후 실행 화면

이제 bagbak을 이용해 복호화 하고자 하는 앱을 선택하여 복호화하면 됩니다.

C:\>bagbak -l  // 설치된 앱 리스트 출력

디바이스 내 설치된 앱 목록 출력

C:\>bagbak [앱 이름]

 

bagbak [앱이름] 입력하여 복호화

 

명령어 실행 디렉토리 내 복호화 파일 확인


여기까지 bagbak 을 이용해 앱을 복호화하는 방법을 알아보았습니다.
ipa 파일이 필요한 경우, -z 옵션을 이용해 복호화된 ipa 파일을 생성하거나 Payload 디렉토리를 압축한 후 확장자를 ipa로 변경할 수 있습니다.


bagbak을 이용해 복호화할 경우, 소스코드 분석까지는 가능하나 재설치 시 에러가 발생한다고 합니다.(frida-ipa-dump을 이용하면 코드 변조 후 재설치가 가능합니다.)


Reference:
[1] https://github.com/ChiChou/bagbak

'Pentest > [IOS]' 카테고리의 다른 글

IOS 13 Jailbreak with VMWare MacOS  (2) 2020.02.19
Ubuntu에서 Ios driver 설치  (0) 2020.02.11
TAGS.

Comments