간만에 새로운 프록시 툴 설치법을 가지고 왔다.
기능은 BurpSuite
와 동일한데, mitmproxy
는 커맨드라인 기반으로 동작한다.
최근에 이직을 했는데, 이직을 한 회사에서는 Macbook Pro
를 지급 해 줬다.
물론 Macbook Pro에서도 BurpSuite는 동작하지만, mitmproxy
도 많이 사용한다 해서 설치 해 보았다.
사이트는 여기이다.
윈도우는 위 사이트에 들어가 설치 파일을 다운받아야 하지만, 맥북에서는 terminal
을 열어서 아래 명령어를 입력하면 설치할 수 있다.
|
|
설치 후 버전을 확인 해 보면 아래와 같다.
SSL
통신도 잡아보기 위해서는 인증서를 설치해야 한다.
인증서는 mitmproxy
를 실행시킨 후 http://mtim.it로 이동하여 다운받을 수 있다.
해당 페이지에서 각 환경에 맞는 인증서를 설치하면 되는데, 나는 맥북이므로 macOS
인증서를 다운받았다.
아이폰의 패킷을 잡아보기 위해서는 아래의 iOS
인증서를 다운받고, 나머지는 이 전에 올려둔 글과 같이 인증서와 프록시를 세팅하면 된다.
[iOS] 아이폰 BurpSuite 및 Frida 사용 세팅하기
이 후, command + space
를 눌러 키체인
을 검색하면 아래와 같은 창에서 방금 다운받은 mitmproxy
인증서를 확인할 수 있다.
해당 인증서를 더블클릭 후 상단의 신뢰
를 눌러보면 아마 아래와 같이 설정되어 있을 것이다.
해당 값을 아래와 같이 항상 신뢰
로 변경 해 준 후 창을 닫는다.
다시 키체인
으로 돌아 가 보면 아까와는 다르게 인증서에 파란색 표시가 되어있는 것을 알 수 있다.
아마 대부분은 여기까지 해서 인증서를 설치한 후 터미널에서 확인 할 경우 mitmproxy
, 웹에서 GUI 형태로 확인 할 경우 mitmweb
을 입력하면 패킷들을 잡아볼 수 있을 것이다.
그런데, 내 경우에는 왜 때문인지 502 Bad Gateway
와 함께 아래와 같은 인증서 오류가 발생했다.
ERR_CERT_AUTHORITY_INVALID
Certificate verification error for UR:: self signed certificate in certificate chain
이 경우, 명령어 실행 시 --ssl-insecure
옵션을 주면 정상적으로 실행할 수 있다.
(잡힌 패킷 내 URL은 혹시 몰라서 모두 지워진 상태이다!)
# mitmproxy --ssl-insecure
mitmproxy
실행 시 아래와 같이 패킷을 잡을 수 있으며 >>
표시가 있는 곳에서 Enter
를 누를 경우 해당 패킷의 세부 사항을 확인할 수 있다.
패킷 선택 시 Request
, Response
, Detail
을 확인할 수 있으며, 각 탭은 화살표를 통해 이동할 수 있다.
아래는 mitmweb
을 통해 웹에서 확인 한 모습이다.
마우스를 이용하여 세부 내용을 확인할 수 있다.
처음에는 좀 적응이 안되겠지만, 쓰다보니 좋은 툴인 것 같아서 앞으로 애용하게 될 것 같다! ㅎㅎ