Always-Try(정보보안 및 일상)

버프스위트 (Burp suite) 사용 가이드 - 1. 설치 및 기본 설정 (Proxy, Scope, Filter, 폰트) 본문

Pen Test

버프스위트 (Burp suite) 사용 가이드 - 1. 설치 및 기본 설정 (Proxy, Scope, Filter, 폰트)

Always-Try 2021. 2. 27. 17:04
본 게시글 Burp Suite Community Edition v2020.12.1 기준으로 작성되었으며, 인프런 '웹 서비스 해킹을 위한 버프스위트 완벽 활용 가이드'를 참고하여 작성했습니다.
www.inflearn.com/course/boan_burpsuite/dashboard
www.inflearn.com/course/boan_burpsuite/dashboard

 

#1. 설치 파일 다운로드

1-1. Burp Suite Community Edition : 
portswigger.net/burp/releases/professional-community-2020-12-1

 

Professional / Community 2020.12.1

This release provides performance and user interface improvements, a JavaScript analysis improvement, and several bug fixes. Performance improvements We have made significant improvements in both spee

portswigger.net

참고로 Professional 버전은 유료이고, Community 버전은 무료이다. 본 블로그에서는 별도 언급이 없으면 Community 버전을 사용한다고 보면된다.


#2. 설치

2-1. Burp suite 설치 

다운로드 받은 burpsuite_community_windows-x64_v2020_12_1.exe를 설치한다. 설치 과정에서 어려운 것은 없고 Next > Next > Next .... 를 누르기만 하면 설치가 완료된다.

Burp suite 설치 시작 화면
Burp suite 설치 완료 화면
Burp suite 실행 화면


#3. Proxy 설정

3-1. Burp suite Proxy 설정

Burp suite에는 여러가지 기능이 있지만 가장 대표적인 기능은 웹 프록시 기능을 통해서 오고가는 Request-Response를 처리할 수 있는 기능이다. 이를 위해 먼저 Burp suite에서 Proxy 설정을 확인해본다.

Burp suite를 설치하면 기본적으로 127.0.0.1:8080(Localhost)에 대한 프록시 요청을 받기 위한 Proxy Listeners 설정이 추가되어 있다. 해당 설정을 변경하거나 새로운 Proxy Listeners 설정을 추가할 수 있긴하지만, 당분간의 테스트 환경에서는 별도로 수정할 일이 없을 것으로 보인다.

Proxy - Options

3-2. 브라우저 proxy 설정

이제 Burp suite에서 127.0.0.1:8080 에 대한 Proxy를 받아줄 수 있는 환경 설정이 되었으니, 이제 브라우저에서 웹 트래픽을 127.0.0.1:8080 으로 Proxy 해주는 설정을 해줘야된다. 필자는 Chrome에서 Proxy 설정을 변경할 예정이다. 브라우저 마다 조금씩 메뉴 차이는 있지만 거의 비슷비슷하다.

브라우저 프록시 설정
브라우저 프록시 설정

 

브라우저 프록시 설정


#4. Proxy 확인

4-1. Burp suite Proxy Intercept 확인

이제 Proxy Intercept에 대한 준비는 됐다. 잘되는지 확인해보기 위해 Intercept 상태를 Intercept is on 으로 변경한다.

Proxy - Intercept - Intercept is on

이후 chrome 브라우저를 통해 www.google.com 로 접근을 시도해본다. 그럼 google 메인 페이지가 뜨지 않고, Burp suite에 아래와 같이 HTTP GET 요청이 찍히는 것을 확인할 수 있다. 

Intercept 된 패킷

프록시 설정을 해둠으로써 인터넷 접근이 아래와 같이 바뀌는 것이다.

(프록시 설정 전) : 크롬 -> 구글

(프록시 설정 후) :  크롬 -> Burp suite -> 구글

바로 위에 나온 화면은 Burp suite가 크롬의 구글 접속 요청을 잡고 있는 것이고, Forward 를 클릭하면 그 요청을 다시 구글로 보낸다.

Proxy - Intercept - Forward

 

Proxy - Intercept - Forward

참고로 HTTPS 사이트에 대해 Proxy - Forward 기능이 정상 동작하지 않는다면 아래 페이지를 참고하자.

2021/01/14 - [Pen Test] - 버프스위트 (Burp suite) 사용 가이드 - 4. HTTPS (구글, 네이버 등) Proxy 불가 이슈 조치 방법 (버프스위트 인증서 등록)


#5. Burp suite Proxy 추가 설정

5-1. Server Responses 확인

지금까지의 내용을 직접 진행해봤다면 알 수 있듯이 Burp suite는 기본적으로는 HTTP Request에 대한 내용만 캡처해준다. 이는 아래와 같이 Server Responses 설정이 되어 있지 않기 때문이다.

Proxy - Options

만약 HTTP Response에 대한 내용도 확인하고 싶다면 위의 체크박스를 선택해주면 된다. 

5-2. 원하는 조건에 부합하는 내용만 캡처하기 (Scope)

Burp suite 기본 설정으로는 크롬에서 접속을 시도하는 모든 내용을 다 캡처한다. 이로 인해 사용자가 원하지 않는 불필요한 내용도 모두 캡처되는데,,, 이는 굉장히 짜증나는 일이다. 그래서 내가 필요한 내용만 설정할 수 있는 기능을 소개한다. 아래 캡쳐에서 볼 수 있듯이 Intercept 조건을 추가하거나 이미 있는 조건을 Edit 하면 상세 설정을 할 수 있는 팝업이 뜬다. 도메인, 프로토콜, HTTP 메소드, 파일 확장자, 파라미터 존재 유/무 등등 여러가지 조건을 추가할 수 있다. 이 내용들을 적절히 조합해서 사용자가 원하는 내용을 캡처할 수 있도록 사용하면 된다.

Proxy - Options - Edit request Interception rule
Proxy - Options - Edit request interception rule

 

단, Match relationship 메뉴늘 보면 Is in target scope 라는 메뉴가 있다. 

Proxy - Options - Edit request interception rule

이 메뉴에서 말하는 target scope는 Burp suite의 Target - Scope 에서 추가할 수 있다. 해당 메뉴에서 수동으로 추가해줘도 되고, Target - Site map 에서 마우스 우클릭으로 추가해줘도 된다.

Target - Scope
Target - Site map

5-3. Filter 설정

Scope와는 별도로 Burpsuite에는 툴에 보여주는 내용에 대한 Filter 설정도 할 수 있다. 아래 화면의 Filter 부분을 클릭하면 설정할 수 있는 메뉴가 나온다. (Target, Proxy 모두 Filter 메뉴가 있고 내용이 조금씩 다르니 참고.)

여기에서 원하는 부분만 체크해서 편리하게 볼 수 있는데, 예를들어 SQL 인젝션이나 XSS 입력 값 검증을 하고 싶을때 파라미터가 있는 요청한 확인하고 싶다라고 하면 Show only parameterized requests를 선택하면 되는 것이다.

Target - Site map - Filter

5-4. 한글 설정

캡쳐하는 내용에 한글이 있을 경우, 깨져서 패킷이 캡처되는 경우가 있다. 한글을 깨지지 않게 하기 위해 아래와 같이 User options - Display 에서 한글 폰트를 선택해주자.

User options - Display

 

끝.

Comments