Burp Suite 에서 업스트림 프록시 서버 구성하기

Beginner
지금 연습하기

소개

이 실습에서는 Burp Suite 에서 업스트림 프록시 서버를 구성하는 방법을 배웁니다. 업스트림 프록시는 Burp Suite 가 요청을 대상 웹 서버로 직접 보내는 대신 전달하는 또 다른 프록시 서버입니다. 이 기법은 종종 프록시 체이닝 (proxy chaining) 이라고도 불리며, 특정 네트워크 (예: Tor) 를 통해 트래픽을 라우팅하거나, IP 기반 액세스 제어를 우회하거나, 모든 트래픽이 회사 프록시를 통과해야 하는 기업 네트워크 내에서 작업하는 등 여러 시나리오에 유용합니다.

Burp Suite 를 실행하고 올바른 설정으로 이동한 다음, 지정된 업스트림 프록시를 통해 모든 트래픽을 라우팅하는 규칙을 만드는 과정을 안내해 드립니다.

프로젝트 옵션 > 연결 > 업스트림 프록시 서버로 이동

이 단계에서는 Burp Suite 를 실행하고 업스트림 프록시를 구성하는 설정을 찾습니다. LabEx 가상 머신에는 Burp Suite Community Edition 이 사전 설치되어 있습니다.

먼저 터미널을 열고 다음 명령을 실행하여 Burp Suite 를 시작합니다.

burpsuite

스플래시 화면이 나타난 후 프로젝트 선택 대화 상자가 표시됩니다. 이 실습에서는 임시 프로젝트로 충분합니다. **임시 프로젝트 (Temporary project)**를 선택하고 **다음 (Next)**을 클릭합니다.

다음으로 Burp 구성에 대한 질문을 받게 됩니다. **Burp 기본값 사용 (Use Burp defaults)**을 선택하고 **Burp 시작 (Start Burp)**을 클릭합니다.

주요 Burp Suite 창이 열리면 상단에 여러 탭이 표시됩니다. 프로젝트 옵션 (Project options) 탭을 클릭합니다. 프로젝트 옵션 (Project options) 탭 내에서 그 아래에 새로운 하위 탭 세트가 나타납니다. 연결 (Connections) 하위 탭을 클릭합니다.

마지막으로 연결 (Connections) 설정 내에서 스크롤하여 업스트림 프록시 서버 (Upstream Proxy Servers) 섹션을 찾습니다. 이곳에서 Burp 의 트래픽 라우팅 규칙을 정의할 수 있습니다.

새 업스트림 프록시 규칙 정의를 위해 '추가 (Add)' 클릭

이 단계에서는 업스트림 프록시에 대한 새 규칙을 만드는 과정을 시작합니다.

이전 단계에서 찾은 업스트림 프록시 서버 (Upstream Proxy Servers) 섹션에는 추가(Add), 편집(Edit), 제거(Remove), 위로(Up), 아래로(Down) 버튼 세트가 있습니다. 새 규칙을 만들려면 추가 (Add) 버튼을 클릭해야 합니다.

**추가 (Add)**를 클릭하면 **업스트림 프록시 규칙 편집 (Edit upstream proxy rule)**이라는 새 대화 상자 창이 열립니다. 이 창에는 일치시킬 대상과 사용할 프록시 서버를 포함하여 단일 라우팅 규칙을 정의하는 데 필요한 모든 설정이 포함되어 있습니다.

대상 호스트 설정 (예: '*')

이 단계에서는 Burp Suite 에서 발생하는 모든 나가는 트래픽에 규칙을 적용하도록 구성합니다.

업스트림 프록시 규칙 편집 (Edit upstream proxy rule) 대화 상자에서 첫 번째 필드는 **대상 호스트 (Destination host)**입니다. 이 필드는 대상 서버의 호스트 이름 또는 IP 주소를 기준으로 어떤 요청이 업스트림 프록시를 통해 라우팅될지를 결정합니다.

Burp Suite 의 모든 트래픽이 업스트림 프록시를 통하도록 하려면 와일드카드 문자를 사용할 수 있습니다. 대상 호스트 (Destination host) 필드에 별표 (*) 를 입력합니다. 별표는 모든 호스트 이름과 일치하는 와일드카드로 작동합니다.

이 실습에서는 *를 사용하지만, 실제 시나리오에서는 example.com과 같은 특정 호스트 이름이나 *.api.example.com과 같이 하위 도메인에 대한 와일드카드를 입력하여 더 세분화된 제어를 할 수 있습니다.

프록시 호스트 및 포트 번호 입력

이 단계에서는 업스트림 프록시 서버의 주소를 지정합니다.

여전히 업스트림 프록시 규칙 편집 (Edit upstream proxy rule) 대화 상자에서 프록시 호스트 (Proxy host)프록시 포트 (Proxy port) 필드를 찾습니다. 이 필드들은 대상 호스트 규칙과 일치하는 트래픽을 어디로 보낼지 Burp 에 알려줍니다.

이 실습에서는 로컬 머신에서 실행되는 가상의 프록시를 사용합니다.

  • 프록시 호스트 (Proxy host) 필드에 127.0.0.1을 입력합니다.
  • 프록시 포트 (Proxy port) 필드에 8081을 입력합니다.

이 필드 아래에는 인증 (Authentication) 섹션이 있습니다. 업스트림 프록시가 사용자 이름과 비밀번호를 요구하는 경우 이 섹션을 사용합니다. 이번 연습에서는 이 섹션을 비워 둘 것입니다.

호스트와 포트를 입력한 후 대화 상자 하단의 확인 (OK) 버튼을 클릭하여 새 규칙을 저장하고 추가합니다.

규칙 활성화 및 연결 테스트

이 단계에서는 새로 생성된 규칙을 활성화하고 그 효과를 관찰합니다.

이전 단계에서 **확인 (OK)**을 클릭한 후 연결 (Connections) 탭으로 돌아갑니다. 이제 업스트림 프록시 서버 (Upstream Proxy Servers) 테이블에 새로 생성된 규칙이 나열된 것을 볼 수 있습니다.

규칙 왼쪽에 있는 체크박스를 확인합니다. 이 체크박스는 규칙을 활성화하거나 비활성화합니다. 기본적으로 생성 시 선택 (활성화) 되어 있습니다. 체크박스가 선택되어 있는지 확인합니다.

이제 테스트해 보겠습니다. 프록시 구성을 테스트하는 가장 쉬운 방법은 Burp 의 내장 브라우저를 사용하는 것입니다.

  1. 프록시 (Proxy) 탭으로 이동합니다.
  2. 가로채기 (Intercept) 하위 탭으로 이동합니다.
  3. 브라우저 열기 (Open Browser) 버튼을 클릭합니다. Burp 를 사용하도록 미리 구성된 새 브라우저 창이 열립니다.

이 새 브라우저에서 http://example.com과 같은 웹사이트로 이동해 보세요. 연결이 실패할 것입니다. 이는 예상된 결과입니다! Burp 가 존재하지 않는 업스트림 프록시 (127.0.0.1:8081) 로 요청을 전달하려고 하기 때문에 연결이 실패합니다. Burp 의 대시보드 (Dashboard) 탭의 **이벤트 로그 (Event log)**에서 실패 알림을 볼 수 있습니다.

이 실패는 업스트림 프록시 규칙이 올바르게 작동하고 있음을 확인시켜 줍니다.

실습을 완료하려면 Burp Suite 를 종료합니다. 프로젝트를 저장할 것인지 묻는 대화 상자가 나타납니다. **예 (Yes)**를 클릭합니다. 저장 대화 상자에서 파일 이름을 upstream-proxy-config.burp로 지정하고 기본 /home/labex/project 디렉토리에 저장합니다.

요약

실습을 성공적으로 완료하신 것을 축하드립니다!

이 실습에서는 Burp Suite 에서 업스트림 프록시 서버를 구성하는 기본 사항을 성공적으로 학습했습니다. 다음을 실습했습니다.

  • 업스트림 프록시 서버 (Upstream Proxy Servers) 설정으로 이동하는 방법.
  • 새 프록시 규칙을 추가하는 방법.
  • 와일드카드 (*) 를 사용하여 광범위한 대상 호스트 일치를 정의하는 방법.
  • 업스트림 프록시의 호스트 및 포트를 지정하는 방법.
  • 트래픽이 리디렉션되는지 확인하기 위해 규칙을 활성화하고 테스트하는 방법.

이 기술은 복잡한 환경에서 네트워크 트래픽을 제어하고 조작해야 하는 침투 테스터 및 보안 전문가에게 필수적입니다.