페어플레이(Fairplay) DRM 이란?
- 앱(어플)의 바이너리 파일을 암호화하여 분석 및 변조가 어렵도록 하는 것.
- 앱 스토어(App Store)에서 다운로드한 앱은 모두 페이플레이 DRM으로 암호화되어 있음.
- 페어플레이 DRM 적용여부는 Otool 도구를 이용하여 확인 가능.
- 페어플레이 DRM이 복호화될 경우 작동방식 및 내부 클래스 구조등을 쉽게 파악하게 되어 보안기능을 우회할 수 있음.
페어플레이 DRM 복호화 방법
1. CRACKERXI+
복호화 과정이 매우 쉬움. 복호화 방법은 본문 하단 참조.
2. Clutch
복호화 과정이 쉬움. 아래의 링크 참조.
2023.02.26 - [Mobile App 취약점 진단/iOS App 진단] - 페어플레이 DRM 복호화 방법 - Clutch
3. Frida-iOS-Dump.py
복호화 과정이 매우 복잡하고 어려움. 아래의 링크 참조.
2023.02.26 - [Mobile App 취약점 진단/iOS App 진단] - 페어플레이 DRM 복호화 방법 - Frida-iOS-Dump
CRACKERXI+를 이용한 복호화 방법
Cydia 앱 실행 > 소스 클릭 > 편집 클릭 > 추가 클릭 > cydia.iphonecake.com 입력 > 소스추가 클릭
무시하고추가 클릭 > Cydia로 복귀 클릭 > 개별 소스 목록에 AppCake가 보인다면 제대로 설치된 것.
검색 클릭 > CrackerXI+ 검색 > CrackerXI+ 클릭 > 설치 클릭 > 확인 클릭
SpringBoard 다시 시작 클릭 > 홈 화면에 추가된 CrackerXI+ 앱 실행 > Settings 클릭 > 모든 옵션 활성화
AppList 클릭 > 새로고침 클릭 > 복호화하고 싶은 앱 클릭 > YES, Full IPA 클릭 > Dismiss 클릭
/private/var/mobile/Documents/CrackerXI 경로에 복호화한 앱의 IPA파일이 존재함.
기존에 설치된 앱을 삭제한뒤, IPA파일을 더블클릭하면 복호화한 앱의 IPA를 통해 설치할 수 있음.
페어플레이 DRM 적용 여부 확인 방법
3uTools 실행 > Toolbox 클릭 > Open SSH Tunnel 클릭
※ 기본(Default) ID : root / PW : alpine
아래의 명령어를 입력해 페어플레이 DRM 적용여부 확인.
> otool -l "바이너리파일 경로" | grep "cryptid"
※ Cryptid 값이 1일 경우 페어플레이 DRM이 적용되어 있는 것이고, 0일 경우 페어플레이 DRM이 적용되어 있지 않은 것.
※ 바이너리 파일 경로
3uTools Files에서 Applications (User) 클릭 또는 탐색창에 /var/Containers/Bundle/Application 입력.
바이너리 파일 경로를 알고 싶은 앱 이름과 동일한 폴더를 선택한 뒤 더블클릭.
Size 클릭하여 크기순으로 정렬, 폴더를 제외하고 크기가 제일 큰 파일이 바이너리 파일임. 우클릭 Export 버튼을 눌러 추출가능.
'Mobile App 취약점 진단 · 모의해킹 > iOS App 취약점 진단 · 모의해킹' 카테고리의 다른 글
페어플레이 DRM 복호화 방법 - Clutch (0) | 2023.02.26 |
---|---|
페어플레이 DRM 복호화 방법 - Frida-iOS-Dump (0) | 2023.02.26 |
[iOS 취약점 진단] 10강 - ATS(App Transport Security) 보안 설정 (0) | 2023.02.23 |
[iOS 취약점 진단] 09강 - 중요정보 메모리 저장(메모리 덤프) (0) | 2023.02.22 |
아이폰 버프슈트 프록시 연결 및 인증서 설치 방법 (0) | 2023.02.13 |