Burp Suite 에서 SSL Passthrough 구성하기

Beginner
지금 연습하기

소개

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 를 실행합니다.

  1. 화면 왼쪽 상단의 "Applications" 메뉴를 클릭합니다.
  2. Other -> Burp Suite Community Edition으로 이동합니다.

대화 상자가 나타납니다. 이 랩에서는 임시 프로젝트를 사용하면 됩니다.

  1. Temporary project를 선택한 상태로 두고 Next를 클릭합니다.
  2. 다음 화면에서 Use Burp defaults를 클릭한 다음 Start Burp를 클릭합니다.

Burp Suite 가 열리면 SSL Passthrough 설정을 찾아야 합니다.

  1. Proxy 탭을 클릭합니다.
  2. Proxy 탭 내에서 Options 하위 탭을 클릭합니다.
  3. 옵션 페이지를 아래로 스크롤하여 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 에서 프록시 기록 로그로 이동합니다.

  1. Proxy 탭에 있는지 확인합니다.
  2. HTTP history 하위 탭을 클릭합니다. 이 로그는 Burp 프록시를 통과하는 모든 트래픽을 보여줍니다.

다음으로 VNC 환경에서 웹 브라우저를 엽니다.

  1. "Applications" 메뉴를 클릭합니다.
  2. 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 기록에서 가로채지거나 기록되지 않는 것을 관찰하고 다른 도메인으로 가는 트래픽은 영향을 받지 않는 것을 확인하여 규칙이 작동하는지 확인하는 방법.

이 기능을 숙달하면 웹 애플리케이션 보안 평가 중에 더 효율적이고 집중적인 워크플로우를 만드는 데 도움이 될 것입니다.