반응형
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 툴을 두어 속도를 향상시킬 수 있습니다.

반응형

+ Recent posts