상세 컨텐츠

본문 제목

Android ssl pinning bypass(1)

엔지니어일기/이것저것

by jaws99 2020. 7. 30. 23:30

본문

반응형

SSL Pinning?

 

- SSL을 Pin(고정)했다는 뜻이고, MITM을 예방하기 위해서 사용한다고 합니다.

 

 

클라이언트 <-> Proxy OR Attacker <-> 서버

 

서버가 클라이언트로 response한 값을 Attacker가 패킷을 보거나 수정할 수 있습니다.

따라서 클라이언트쪽에서 이런 보안 문제를 해결하기 위해 SSL Pinning을 사용합니다.

 

서버의 인증서를 Pinning(고정)하고 통신을 합니다. Attacker가 그 인증서를 가질 가능성은

거의 없으므로 문제가 없습니다.

 

 

※ 환경

Burp 2.1.04

Nox 6.5.0.0

frida 12.6.11

frida-tools 2.0.2

 

frida 12.7.5, 12.8.9에서 진행해봤지만 Process terminated가 나와서 버전을 낮췄습니다.

 

https://github.com/frida/frida/releases?after=12.6.21 에서 frida 서버를 받아줍니다.

 

버전은 nox_adb shell에서 getprop ro.product.cpu.abi명령어로 x86인지 arm인지 확인하면 됩니다.

저는 x86이라 x86으로 받았습니다.

 

압축을 풀어주고 압축 푼 폴더에서 쉬프트+우클릭으로 PowerShell을 열어줍니다.

nox_adb push ./frida(tab) /data/local/tmp/ 으로 server 파일을 옮겨줍니다.

(nox가 켜있어야합니다. C:\Program Files (x86)\Nox\bin 저는 nox_adb가 이 경로인데 본인의 경로를 환경변수에 등록해주세요.)

아니면 이런식으로 하나하나 경로를 주셔도 괜찮습니다..

 

아마 실행 권한도 없을 거라 chmod 777 fri(tab)으로 실행 권한도 줍니다.

 

다음 Nox, 버프 스위트입니다.

 

VMware나 VirtualBox network말고 Wi-fi가 연결돼있으면 Wi-fi, 이더넷이면 이더넷 아이피를 찾아서 설정해주시면 됩니다.

 

주소창에 burp검색 후 CA Certificate를 눌러 인증서 파일도 받아줍니다.

 

다운로드하면 der 파일일 텐데 cer 파일로 이름을 바꿉니다.

 

설정 - 보안 - SD 카드에서 설치에서 인증서를 설치해줍니다.

 

웹 사이트를 방문하면 http나 https패킷이 잡히는 걸 확인할 수 있습니다!

 

 

반응형

'엔지니어일기 > 이것저것' 카테고리의 다른 글

ubuntu18.04 kivy buildozer 설치  (3) 2020.11.03
Android ssl pinning bypass(2)  (0) 2020.08.15
Transport Layer  (0) 2020.03.07
Unity + Vuforia AR 앱 카메라 오토포커싱  (2) 2020.01.20
Application Layer  (0) 2020.01.18

관련글 더보기