Bypass Certificate Pinning - iOS / Android
2015. 1. 27. 11:31
모바일에만 해당되는 것은 아니지만 최근 HTTPS 사이트 몇군데에서 프록시 툴을 차단하는 경우가 있다.
프록시 툴은 MITM 을 수행하여 자신을 클라이언트로 HTTPS 로 연결한 뒤 클라이언트와 중계해 주는 방식으로 HTTPS 패킷을
볼 수 있게 해준다. 이러한 프록시를 차단하기 위한 한가지 방법으로 소개된 Certificate Pinning 은 클라이언트 상에서 CA를 검증
하여 자신이 접근해야 할 사이트가 아니면 차단하는 방법으로 구현되어 있다.
여기서 가장 큰 문제점은 클라이언트 상에서 구현이 된다는 것이다. 리버싱을 통해 얼마든지 우회가 가능하다는 말이기 때문이다.
방법은 몇가지가 있다.
1) 클라이언트 리버싱 + 코드패칭
- 코드 분석 후 리버싱, 리패키징
2) 후킹을 통한 우회
- 주로 사용되는 통신 API 후킹, 오버라이드
- iOS / NSStream, CFStream, NSURLConnection
- Android / HttpsURLConnection
1번은 코드에 따라 다르니 알아서 우회하면 되고, 2번은 자동화 툴이 공개되어 있다.
- iOS / iOS SSL Kill Switch / https://github.com/iSECPartners/ios-ssl-kill-switch
- Andoid / Android SSL Bypass Tool / https://github.com/iSECPartners/android-ssl-bypass
상세 분석은 다음에~
'Android Hacking' 카테고리의 다른 글
모바일 앱에서 frida timeout error 해결 방법 (1) | 2017.07.26 |
---|---|
DBI on Android - ADBI(Android Dynamic Binary Instrumentation) (1) | 2016.02.14 |
error: only position independent executables (PIE) are supported 에러 해결 (2) | 2016.02.05 |
안드로이드 루팅 탐지 우회 (0) | 2015.08.07 |
안드로이드 프로젝트 기본 구조 (1) | 2012.11.27 |