1. 개요
저 같은 경우 웹/모바일 진단 시, 전송되는 패킷을 가로채 전송/변조하는 Proxy 툴로 Burp Suite를 많이 사용하고 있습니다. 하지만, 특정 모바일 어플리케이션을 진단할 때, Burp 툴로 패킷이 잘 잡히지 않고 매우 느려 진단이 불가능할 정도의 상황이 발견되었습니다. 처음에는 SSL 인증서 문제여서 Pinning을 고려해보았으나, SSL 패킷이 잡히긴 한다는 점에서 다른 방법을 물색해보았습니다. 이러한 경우 Fiddler라는 또 다른 Proxy 툴을 이용하여 패킷을 가로챈 후 Burp로 보내는 방법으로 이를 해결할 수 있습니다. (원리는 잘 모르겠네요ㅠ)
2. 방법
Step 1. Fiddler Tool Download
>> https://www.telerik.com/download/fiddler
위 링크에서 피들러 툴 다운로드 받기(개인 이메일 주소 필요)
Step 2. Fiddler Option Setting
1) PC에 Fiddler 인증서 설치
Fiddler 실행 후 [Tools - Options - HTTPS 탭 - Actions 버튼 - Trust Root Certificate - Yes] 클릭하여 인증서 설치
2) HTTPS 패킷 캡쳐 옵션 활성화
[Tools - Options - HTTPS 탭] 에서 "Capture HTTPS CONNECTs", "Decrypt HTTPS traffic" 옵션 선택하여 HTTPS 통신의 패킷을 캡쳐한다.
Step 3. Mobile Device Setting
1) 피들러의 [Tools - Options - Connections 탭] 에서 Fiddler 리슨 포트 확인한다. (디폴트가 8888로 설정)
2) PC의 IP 확인 후 모바일에서 프록시 설정 진행
3) 모바일 디바이스에서 Fiddler 인증서 설치
모바일 브라우저에서 [컴퓨터 IP:Fiddler listen port](192.168.0.115:8888)로 접근 후 [Fiddler Root certificate] 버튼 클릭하여 인증서 설치
※ 왼쪽의 Fiddler Echo Service 화면이 나오지 않는 경우, PC에서 피들러 툴을 끈다음 다시 실행 후 재접근!
Step 4. Fiddler & Burp Connect
1) 피들러의 [Tools - Options - Connections 탭]에서 "Allow remote computers to connect" 체크하여 활성화
2) Burp Suite를 실행한 후 [Proxy - Options - Proxy Listeners] 메뉴에 "All interfaces"로 피들러와 연결할 포트 설정
3) 다시 피들러의 [Tools - Options - Gateway 탭 - Manual Proxy Configuration] 설정
4) 피들러 툴 재시작
※ Fiddler에서만 패킷이 잡히고 Burp에서는 잡히지 않는 경우
Fiddler의 [Tools - Options - Gateway 탭]에서 "No Proxy" 체크 후 저장 → Fiddler 재시작 후 Step 4의 3) 재설정(피들러의 [Tools - Options - Gateway 탭 - Manual Proxy Configuration] 설정)
3. 결론
즉, 그림으로 쉽게 표현하면 아래와 같습니다(위의 세팅으로 설정한 경우)
모바일 디바이스의 패킷을 Burp Suite 툴로 바로 캡쳐하는 경우 속도가 매우 느리지만(경우에 따라 다름),
중간에 Fiddler 툴을 두어 속도를 향상시킬 수 있습니다.
'Study > Mobile' 카테고리의 다른 글
[Android] Split APKs(분할 APK) 설치 방법 (0) | 2020.06.29 |
---|---|
[Android] Apk_Manager Tool Compile 오류 해결 (0) | 2020.01.07 |
[IOS] 모바일 진단 - 탈옥 및 무결성 검증 (1) | 2019.12.11 |
[Android] Apk_Manager Tool Decompile 오류 해결 (0) | 2018.09.21 |
[IOS] Burp Suite > unknown_ca 문제 해결 (0) | 2018.09.21 |