Fiddler 환경구성
취약점 분석 시 가장 많이 사용하는 피들러(Fiddler)와 버프 스위트(BurpSuite) 프록시 환경 구성을 한다. 피들러를 실행하여 상단의 Tools > Options 메뉴를 클릭하여 다음과 같이 설정 후 피들러를 다시 실행한다.
Connections 탭의 4개 항목 체크
○ Capture FTP requests
○ Allow remote computers to connect
○ Reuse client connections
○ Reuse server connections
HTTPS 탭의 인증서 설치 (3개 항목 체크)
○ Decrypt HTTPS traffic
○ Ignore server certificate errors (unsafe)
○ Check for certificate revocation
피들러에서 원격 연결과 인증서 설정을 완료했으면 패킷을 캡처할 단말기에서 프록시를 설정해야 한다. 단말기는 실제로 사용하는 스마트폰과 가상 단말기로 분류되는데, 보통 하단의 위치와 동일한 메뉴로 구성되어 있다.
실제 단말기부터 프록시를 설정하는 방법부터 살펴보면 호스트 이름에 와이파이로 연결된 로컬 PC의 아이피 주소를 입력하고, 포트에 피들러의 포트 번호를 입력하면 된다.
○ 환경설정 > Wi-Fi 활성화 > Wi-Fi SSID 롱클릭 > 네트워크 설정 변경
○ 프록시 설정 : 수동
- 프록시 호스트 이름 : 와이파이에 연결된 PC 아이피 주소
- 프록시 포트 : 피들러의 포트번호
가상 단말기는 모바일 설정 메뉴에서 프록시를 설정하면 된다.
○ Settings > WIRELESS & NETWORKS : More...
○ Mobile networks > Access Point Names > T-Mobile US
○ Proxy : 와이파이에 연결된 PC 아이피 주소
○ Port : 피들러의 포트번호
가상 단말기에서 웹 브라우저를 실행하면 기본적으로 구글 사이트에 접속하게 된다. 구글 사이트는 HTTPS 프로토콜을 사용하므로 올바른 인증서가 필요하다.
가상 단말기에서 설정한 프록시에서 올바른 인증서를 가지고 있지 않으므로 인증서 오류 화면이 나타나는데, 피들러의 인증서를 단말기에 설치해보자.
주소창에 프록시 아이피:포트(192.168.43.27:8888)를 입력하면 Fiddler Echo Service 문구가 나타난다. 하단의 FiddlerRoot certificate 링크를 클릭하면 인증서를 가상 단말기에 설치된다.
링크를 클릭하면 다음과 같은 창이 나타나는데, Certificate name에 아무거나 입력하고 OK 버튼을 누른다. 바로 이어서 인증서를 설치할 때 패스워드를 설정하라고 창이 나타나는데, 임의의 PIN(1234)으로 설정한다.
인증서가 설치되고 구글 사이트에 접속해보면 피들러에서 요청 및 응답 등 모든 패킷을 확인할 수 있다.
와이어샤크도 동일하게 패킷 캡처가 가능하다.
BurpSuite 환경구성
버프 스위트의 프록시 옵션으로 들어가 자신의 아이피:포트를 추가한다.
기본 포트는 8080이므로 실제 단말기의 프록시의 포트 번호를 8080으로 설정하면 버프 스위트에서 패킷 캡처가 가능하다.
프록시 도구에서 패킷을 못 잡을 때
모바일 단말기에서 프록시 주소를 입력하고, 프록시 도구의 인증서를 설치를 했는데 패킷 캡처가 정상적으로 되지 않은 경우가 있다. 이럴 때 모바일 단말기에서 비행기 모드를 켰다가 다시 끄면 된다.
버프 스위트의 경우 최신 버전에서 동작하는 경우도 있다.