2019. 11. 27.

ios 무결성 취약점 점검

iOS 앱의 바이너리 파일을 변조하여 무결성 검증 로직이 존재하는지 확인하는 점검

[1단계]
- 모바일 앱의 바이너리 파일(payload/app_name)은 애플 사의 암호화 방식으로 암호화 되어 있으므로 복호화를 해야 함
- 설치된 디렉토리로 이동하면 암호화 되어 있지만, 앱 구동 시 복호화 하게 되어 있음
- 설치된 앱(구성) 디렉토리 : /private/var/containers/Bundle/Application/
- Clutch2를 이용해 바이너리 파일을 복호화를 하면 Clutch2가 설치된 디렉토리에 복호화 된 파일이 저장됨
- Clutch2 -i : 복호화를 할 앱의 목록 출력
- Clutch2 -b 숫자 : 지정된 앱(숫자)를 복호화

** ios 버전에 따라서 clutch 를 통한 복호화가 안되는 경우가 있다. 이럴 경우, 수동으로 복호화 해야함. 이와 관련한 글을 추후 작성 할 예정이다.

[2단계]
- 아이펀박스 프로그램으로 복호화 된 파일을 로컬 PC에 저장
- 헥사 에디터로 복호화 된 바이너리 파일을 열어 변조

[3단계]
- 아이펀박스 프로그램으로 app_name.ipa 파일을 모바일 단말기에 설치
- 변조된 앱이 이상없이 실행되면 무결성 취약점이 존재하는 것

- 변조한 앱으로 무엇을 할것인지는 다음 문제