레이블이 ios 취약점 점검인 게시물을 표시합니다. 모든 게시물 표시
레이블이 ios 취약점 점검인 게시물을 표시합니다. 모든 게시물 표시

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 파일을 모바일 단말기에 설치
- 변조된 앱이 이상없이 실행되면 무결성 취약점이 존재하는 것

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

Continue reading

iOS 취약점 점검 - DVIA 설치

1. 탈옥

  • 우선 iOS 폰이 탈옥이 되어있어야 한다. (루팅이라고도 함)
  • 탈옥의 방법은 굉장히 다양하고 애플 정책에 따라 계속 바뀌므로 따로 기재하지는 않는다


2. 점검 할 앱 설치 (DVIA) - http://damnvulnerableiosapp.com/(https://github.com/prateek147/DVIA-v2/releases)

  •  이는 무료로 제공하는 iOS 점검용 앱인데, swift와 object-c 버전이 각각 다운받을 수 있다. 
  • 그리고 루팅 폰에서 아래를 설치한다.
    • cydia 소스를 추가(https://cydia.akemi.ai/)
    • AppInst 설치
    • AppSync 설치
    • Apple File Conduit2 설치 (폰 리부팅)
  • Filezila 를 통해 다운받은 ipa 파일을 폰에 넣고 'appinst ipa파일명' 으로 권한을 부여한다


3. 점검 시작

  • 준비는 끝났으니 이제 점검을 수행하면 된다.
  • 테스트로 jailbreak Detection 을 우회해 본다. 
(IDA로 forjail 로 검색하면 쉽게 탈옥탐지 메소드를 찾을 수 있다.)
 (TBZ 이므로 frida를 실행하여 레지스트리 값을 변조한다)




Continue reading

Popular Posts

Recent Posts

Powered by Blogger.