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 |