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 소스를 추가해주어야 합니다.
또한, bagbak을 사용하기 위해서는 PC에 Node.js가 설치되어 있어야 합니다.
홈페이지에서 설치파일을 다운받아 설치해주시면 됩니다. 설치가 완료되면 CMD 창을 열어 bagbaK을 설치해줍니다.
C:\>npm install -g bagbak |
이제 bagbak을 이용해 복호화 하고자 하는 앱을 선택하여 복호화하면 됩니다.
C:\>bagbak -l // 설치된 앱 리스트 출력 |
C:\>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 |