모바일 하고 웹 패킷은 Burpsuite로 잡는 법 알겠는데😤,
🖥️ 윈도우/맥 프로그램 패킷은 어떻게 잡는지 궁금하신 분들 많을 겁니다🤔.
그래서 준비했습니다. 바로 Charles Proxy입니다.(30분 이용 가능 후 종료, 이후 재이용 가능).
+Fiddler Everything으로도 가능하지만, 10일 테스트 기간동안만 이용할 수 있습니다.
아래와 같이 총 5가지 내용으로, 도구 소개부터 다운로드, SSL 패킷에 대한 설정 및 로그 기록까지 전 과정을 안내해 드리겠습니다.
- Charles Proxy란?
- Charles Proxy 다운로드 및 설치
- Charles Proxy 설정하기
- Windows 프록시 활성화
- 루트 인증서 설치
- SSL 프록시 설정
- Charles Proxy에서 패킷 기록, 변조 및 저장
- Charles Proxy 설정 제거
바로 시작해볼까요? 😉👉🏻
1. Charles Proxy란?
📌 Charles Proxy는 네트워크 트래픽을 캡처하여 오류 및 문제를 확인하는 데 도움을 주는 애플리케이션입니다. 여러 환경(웹, 모바일 앱, 데스크탑 앱)을 대상으로 작동 가능하며, 심층적인 디버깅을 위한 도구입니다. 개발자나 모의해킹 테스터 들에게 간편하게 서버와 데스크탑 앱간 송수신 데이터를 확인하고 변조할 수 있게 해줍니다.
+ 왜 버프수트로는 데스크탑 프로그램 패킷 데이터는 안잡히는가? 애플리케이션이 네트워크 요청을 처리하는 방식이 운영 체제(OS)에서 제공하는 방식과 다르기 때문입니다. 애플리케이션이 소켓을 직접 열어 네트워크 통신을 수행하는 경우, 커스텀 라이브러리를 이용하는 경우, OS 프록시를 따르지 않습니다. 즉, Raw Socket API를 직접 사용하면 OS 프록시를 거치지 않고 바로 서버와 연결 가능합니다. 이런 Raw Socket API 의 예로는 아래와 같은 것들이 있습니다.
- send() / recv()
2. Charles Proxy 다운로드 및 설치
🖥️ 먼저 Charles Proxy를 다운로드해 보겠습니다. https://charlesproxy.com/download로 이동하여 자신의 운영 체제(Windows 또는 macOS)에 맞는 버전을 선택하세요. 해당 글은 윈도우만 다룰 예정이며, 다음 글에서는 macOS를 다룹니다.
다운로드된 앱을 더블클릭한 후, Run 버튼과 Next 버튼을 눌러주시면 설치가 완료됩니다. 간단하쥬?
3. Charles Proxy 설정하기
해당 프로그램을 켜주시고, 이제 Charles를 3 STEP으로 HTTPS 패킷을 잡을 수 있도록 설정해보겠습니다.
1️⃣ Windows 프록시 활성화
메뉴 바에서 Proxy > Windows Proxy를 선택
그리고 Proxy > Proxy Settings 를 선택한 후, Enable Windows proxy 및 해당 그림에 있는 체크박스를 눌러 Charles가 컴퓨터 트래픽을 캡처할 수 있도록 합니다.
2️⃣ 루트 인증서 설치
Help → SSL Proxying → Install Charles Root Certificate로 이동합니다.
인증서가 표시되지만 아직 신뢰할 수 없는 상태입니다.
Install Certificate를 클릭하고 Current User를 선택한 후, Trusted Root Certification Authorities에 인증서를 배치합니다.
Next → Finish → Yes를 클릭하여 설치를 완료합니다.
3️⃣ SSL 프록시 설정
Proxy → SSL Proxying Settings로 이동합니다.
Enable SSL Proxying 체크박스 클릭 후, Add를 클릭하고 트래픽을 복호화할 도메인을 입력합니다.
💡모든 트래픽을 캡처하고 싶으시다면, *을 Host 필드와 포트에 입력한 후, OK를 누릅니다.
4. Charles Proxy에서 패킷 데이터 기록, 변조 및 저장
File → New Session 또는 빨간색 레코드 버튼🛑이 켜져 있는지 확인하세요.
트래픽 확인을 위해 Charles에서 Sequence 탭을 클릭 후, 애플리케이션이 생성한 트래픽이 정상적으로 보이는지 체크✅
패킷 데이터 변경 후 전송을 위해 Sequence 탭 클릭 > 수정할 패킷 선택 > 상단의 ✏️ 볼펜 아이콘(Edit) 버튼을 클릭
아래 창에서 Header 탭 또는 Text 탭을 선택하고, 변경이 필요한 값을 수정 후, Execute 버튼 클릭
💾 패킷 저장
1️⃣ File → *Save Session As…*을 클릭합니다.
2️⃣ 이름을 입력하고 .charles 파일로 저장합니다.
5. Charles Proxy 설정 제거
🛑 테스트가 끝난 후, Charles Proxy 인증서를 제거하는 것을 잊지 마세요!
Proxy > Windows Proxy 를 클릭하여 윈도우 프록시를 제거
Charles 프록시를 더이상 이용하지 않을 예정이라면 아래와 같이 등록한 인증서를 제거해주시면 됩니다.
1️⃣ Windows 검색창에서 certmgr을 입력하고 실행합니다.
2️⃣ Trusted Root Certification Authorities로 이동합니다.
3️⃣ Charles Proxy Certificate를 찾아 오른쪽 클릭 → 삭제를 선택합니다.
4️⃣ 삭제를 확인한 후, 인증서 관리자 창을 닫습니다.
글이 도움이 되었기를 바라며, 궁금하신 점은 댓글 달아주세요.
'HACKING > Network' 카테고리의 다른 글
Script#1 Bash script to sweep ping (0) | 2022.09.06 |
---|