소개
Burp Suite 는 웹 애플리케이션 보안 테스트를 위한 강력한 플랫폼입니다. 핵심 기능 중 하나는 인터셉팅 프록시 (intercepting proxy) 로, 브라우저와 웹 서버 간의 트래픽을 검사하고 수정할 수 있게 해줍니다. 하지만 때로는 특정 호스트로 가는 트래픽을 Burp 가 가로채는 것을 방지하고 싶을 수 있습니다. 이는 인증서 고정 (certificate pinning) 을 사용하는 애플리케이션의 오작동을 방지하거나, 신뢰할 수 있는 도메인의 대량 트래픽을 무시하여 성능을 향상시키거나, 단순히 대상 애플리케이션에 집중하기 위함일 수 있습니다.
이때 SSL Passthrough 기능이 유용합니다. 이 기능은 Burp Suite 에게 암호화된 (TLS/SSL) 트래픽을 복호화하거나 가로채려고 시도하지 않고 대상 서버로 직접 전달하도록 지시합니다.
이 랩에서는 Burp Suite 에서 SSL Passthrough 규칙을 구성하여 모든 Google 도메인을 인터셉트에서 제외하는 방법을 배우게 됩니다. 랩 환경에는 Burp Suite Community Edition 이 사전 설치되어 있으며, 브라우저는 Burp 프록시를 사용하도록 사전 구성되어 있습니다.
Proxy > Options > SSL Passthrough 로 이동
이 단계에서는 Burp Suite 를 실행하고 SSL Passthrough 설정을 찾습니다. 모든 작업은 VNC 데스크톱 환경 내에서 진행됩니다.
먼저 Burp Suite 를 실행합니다.
- 화면 왼쪽 상단의 "Applications" 메뉴를 클릭합니다.
Other->Burp Suite Community Edition으로 이동합니다.
대화 상자가 나타납니다. 이 랩에서는 임시 프로젝트를 사용하면 됩니다.
Temporary project를 선택한 상태로 두고Next를 클릭합니다.- 다음 화면에서
Use Burp defaults를 클릭한 다음Start Burp를 클릭합니다.
Burp Suite 가 열리면 SSL Passthrough 설정을 찾아야 합니다.
Proxy탭을 클릭합니다.Proxy탭 내에서Options하위 탭을 클릭합니다.- 옵션 페이지를 아래로 스크롤하여
SSL Passthrough라는 제목의 섹션을 찾습니다.
이제 새 규칙을 추가할 올바른 위치에 있습니다.
새 규칙을 생성하기 위해 'Add' 클릭
이 단계에서는 새 SSL Passthrough 규칙을 추가하는 프로세스를 시작합니다.
SSL Passthrough 섹션에서는 Burp 가 TLS 인터셉션을 수행하지 않을 대상 (destination) 을 지정할 수 있습니다. 이러한 대상에 대한 모든 요청은 서버로 직접 전달되며, 해당 내용은 프록시 기록 (proxy history) 에 표시되지 않습니다.
시작하려면 SSL Passthrough 섹션 내에서 Add 버튼을 찾아 클릭합니다.
Add를 클릭하면 "Add SSL Passthrough rule"이라는 제목의 새 대화 상자가 나타납니다. 이 대화 상자에서 인터셉트에서 제외하려는 호스트의 세부 정보를 지정하게 됩니다.
인터셉트하지 않을 호스트 이름 입력 (예: *.google.com)
이 단계에서는 인터셉트에서 제외할 특정 호스트 또는 도메인을 정의합니다.
이전 단계에서 연 "Add SSL Passthrough rule" 대화 상자에서 Host or IP range라는 레이블이 붙은 필드를 볼 수 있습니다. 이곳에 우회하려는 대상을 입력합니다.
와일드카드 (*) 를 사용하여 특정 도메인의 모든 하위 도메인과 일치시킬 수 있습니다. 이는 www.google.com, mail.google.com, apis.google.com과 같이 다양한 하위 도메인을 사용하는 Google 과 같은 대규모 서비스에 매우 유용합니다.
Host or IP range 필드에 다음 값을 입력합니다.
*.google.com
호스트 이름을 입력한 후 OK 버튼을 클릭하여 규칙을 저장합니다. 대화 상자가 닫히고 SSL Passthrough 목록에 새 규칙이 표시됩니다.
규칙 활성화
이 단계에서는 새로 생성된 SSL Passthrough 규칙을 활성화합니다.
기본적으로 새 규칙을 추가하면 비활성화된 상태로 생성됩니다. 규칙이 적용되려면 명시적으로 활성화해야 합니다. 목록에서 *.google.com에 대한 새 규칙을 볼 수 있지만, Enabled 열의 체크박스는 현재 선택되지 않은 상태입니다.
규칙을 활성화하려면 *.google.com 항목 옆의 Enabled 열에 있는 체크박스를 클릭하기만 하면 됩니다.
상자가 체크되면 규칙이 활성화됩니다. 이제 Burp Suite 는 google.com의 모든 하위 도메인으로 향하는 TLS 트래픽을 인터셉트하지 않고 자동으로 전달합니다.
지정된 호스트로 이동하여 프록시 기록에 트래픽이 없는지 확인
이 마지막 단계에서는 Google 도메인으로 이동하여 프록시 기록을 관찰함으로써 SSL Passthrough 규칙을 테스트합니다.
먼저 Burp Suite 에서 프록시 기록 로그로 이동합니다.
Proxy탭에 있는지 확인합니다.HTTP history하위 탭을 클릭합니다. 이 로그는 Burp 프록시를 통과하는 모든 트래픽을 보여줍니다.
다음으로 VNC 환경에서 웹 브라우저를 엽니다.
- "Applications" 메뉴를 클릭합니다.
Internet->Firefox로 이동합니다.
Firefox 주소 표시줄에 https://www.google.com을 입력하고 Enter 키를 누릅니다. Google 홈페이지가 정상적으로 로드되어야 합니다.
이제 Burp Suite 로 다시 전환하여 HTTP history 탭을 확인합니다. www.google.com에 대한 항목이 페이지 로드 세부 정보 (예: GET /, GET /some-image.png 등) 를 보여주지 않는 것을 알 수 있습니다. 초기 연결 설정인 CONNECT www.google.com:443과 같은 단일 항목이 보일 수 있지만, 암호화된 애플리케이션 데이터 자체는 기록되지 않고 "통과"되었습니다.
프록시가 다른 사이트에 대해 여전히 작동하는지 확인하려면 Firefox 로 돌아가서 http://example.com으로 이동합니다. 이제 Burp 에서 HTTP history를 다시 확인합니다. example.com에 대한 전체 요청 및 응답을 볼 수 있으며, 이는 passthrough 규칙이 Google 에만 적용됨을 증명합니다.
요약
이 실습에서는 Burp Suite 의 SSL Passthrough 기능을 성공적으로 구성하고 테스트했습니다.
다음과 같은 방법을 배웠습니다.
- Burp Suite 의 프록시 옵션 내에서 SSL Passthrough 설정으로 이동하는 방법.
- 특정 도메인을 제외하기 위해 와일드카드 (
*.google.com) 를 사용하여 모든 하위 도메인을 포함하는 새 규칙을 추가하는 방법. - 규칙을 활성화하는 방법.
- 지정된 도메인으로 가는 트래픽이 더 이상 HTTP 기록에서 가로채지거나 기록되지 않는 것을 관찰하고 다른 도메인으로 가는 트래픽은 영향을 받지 않는 것을 확인하여 규칙이 작동하는지 확인하는 방법.
이 기능을 숙달하면 웹 애플리케이션 보안 평가 중에 더 효율적이고 집중적인 워크플로우를 만드는 데 도움이 될 것입니다.
