본문 바로가기
프로그래밍/네트워크, 보안

취약점 분석툴 Burp Suite Free Edition 설치하기

by pentode 2018. 4. 1.

이제 웹프로그래밍에서 Secure Coding 은 필수가 되었습니다. 설계 단계에서부터 보안설계가 들어가고, 그에 따라 코딩 시작부터 보안을 고려해서 코딩을 하게 됩니다. 하지만 늘어나는 공수에 대한 산정은 이런 추세를 아직 따라가고 있지를 못하는것 같아서 안타깝습니다.

 

Burp suite 는 웹 프록시 입니다. 웹브라우저만으로는 통신간의 정보를 상세히 보기가 힘든데, 프록시를 사용하면 클라이언트의 요청정보, 서버의 응답정보를 상세히 확인할 수 있습니다. 또한 서버로 전송되는 정보를 변경하여 취약점 분석에 사용할 수 있습니다.

 

Burp suite 를 설치하기 위해서는 먼저 JRE 가 설치되어 있어야 합니다. 설치되어 있지 않다면 "윈도우에 JDK 8 설치하기" 를 참고하여 설치를 합니다. Burp suite 프로그램은 다음 사이트에서(  https://portswigger.net/burp/download.html) 무료 버전을 다운로드 해서 설치를 합니다. jar 파일로 제공되는 것도 있고, 윈도우 설치파일로 제공되는 것도 있습니다. 윈도우 설치파일로 받아서 설치하겠습니다.

 

1. 설치파일을 더블클릭하여 설치를 시작합니다. Next 버튼을 누릅니다.

 

Burp Suite 설치 시작 화면


 

2. 설치위치를 지정합니다. C:\util\BurpSuiteFree 폴더에 설치하겠습니다. Next 버튼을 누릅니다.

 

설치 위치 지정


 

3. 시작메뉴 등록등 기본값을 사용합니다. Next 버튼을 누릅니다.

 

프로그램 메뉴 지정


 

4. 설치 진행중입니다.

 

설치 진행 막대


 

5. 설치가 완료 되었습니다. Finish 버튼을 누릅니다.

 

설치 완료 화면


 


6. Burp Suite 를 실행합니다. 먼저 라이센스에 동의합니다.  Temporary project 선택되어 있습니다. Next 버튼을 누릅니다.

 

Burp Suite 템플릿 프로젝트


 

7. 프로젝트 설정을 지정하는데, Use Burp defaults 가 선택되어 있습니다. Start Burp 버튼을 누릅니다.

 

기본 설정 선택


 

8. 프로그램이 실행되었습니다. 이상태에서 기본값으로 8080 포트로 proxy 가 실행되고 있습니다. 브라우저의 연결설정을 프록시를 사용하도록 설정하면 Burp Suite 가 중간에서 연결을 중계하게 됩니다.

 


 

9. 간단하게 테스트를해보겠습니다. 프록시 탭을 눌러서 하위의 Intercept 탭에서 Intercept is on 버튼을 누릅니다. 그러면 버튼 텍스트가 Intercept is Off 로 바뀝니다. 기본설정이 인터셉트를 하도록 되어 있는데, 기본 규칙에 따라 인터셉트가 되면 요청 또는 응답이 사용자가 어떤 작업을 해줄 때까지 중지되게 됩니다. 보통 데이터를 확인하거나, 조작한 후 Forward 하게 됩니다. 여기서는 간단한 테스트를 위해서 중단없이 데이터를 가로채는것을 확인해보도록 하겠습니다.

 


 

10. 다음은 브라우저의 설정입니다. 인터넷 익스플로러를 사용합니다. 도구 -> 인터넷옵션 창을 띄웁니다. 연결탭을 선택하고, 창의 아래쪽의 LAN 설정에서 LAN 설정 버튼을 누릅니다.

 

브라우저 인터넷 옵션 연결 탭


 

11. 프록시 서버 항목에서 사용자 LAN에 프록시 서버 사용을 체크 합니다. 주소는 12.0.0.1, 포트는 8080 을 입력하고 확인 버튼을 누릅니다. 모두 확인버튼을 누르고 브라우서 주소창에 http://offbyone.tistory.com 을 입력합니다. (이 테스트는 단순히 프록시를 경유해서 데이터가 흘러가는것을 확인해보는것 뿐입니다.)

 

LAN 설정


 

12. 모든게 제대로 설정이 되었다면, Burp Suite 의 Proxy 탭의 Http history 에 요청 정보가 보입니다.

 

버프 슈트 프록시 히스토리



추가로 몇가지 설정에 대해 알아보겠습니다.

 

- 위의 테스트에서 Intercept is Off 상태로 테스트 해 봤습니다. 버퍼슈트에서 인터셉트 설정은 요청에 대한 설정과 서버에서의 응답에 대한 설정을 할 수 있습니다.

 

- Proxy 탭을 선택하고, 하위의 Options 탭을 선택합니다. 처음 나오는 Porxy Listener 설정은 앞에서 보았고, 그 아래에 Intercept Client Requests 설정이 나옵니다. 여기에 요청시 자동으로 인터셉트할 규칙을 지정하게 되어 있습니다. Intercept request bases on the following rules 가 기본적으로 체크되어 있으므로 이 룰이 기본적용 됩니다. 그래서 처음 실행시  Intercept is Off 하여 인터셉트를 끄고 테스트 한것 이었습니다.

 

그 아래에는 Intercept Server Responses 설정이 있습니다. 서버에서의 응답을 기반으로 자동으로 인터셉트 할 수 있습니다. 이것은 기본값이 Intercept responses bases on the following urles: 가 체크가 되어 있지 않으므로 인터셉트 하지 않는 것입니다.


- Target 탭의 하위 탭인 Scope 탭에서 버퍼 슈트 전체에 적용되는 target scope을 지정할 수 있습니다. 특정 프로토콜(HTTP or HTTPS) 만을 사용하든가 특정 도메인 내에서만 탐색을 하던가 하는 규칙을 포함 규칙(Include in scope) 과 제외 규칙 (Exclude from scope)으로
지정할 수 있습니다.


- Target 탭의 하위 탭인 Site map 탭에서 상단의 Filter 부분을 클릭하면 MIME type, 상태코드 파일 확장자 등으로 필터링하여 볼 수 있습니다.

우측 하단의 검색어 입력란에 검색하고자 하는 단어를 입력하고, 상단의 URL을 선택하고 중간의 response 를 선택하면 서버측 응답에서 검색하고자하는 단어가 하이라이트되어 표시됩니다.

 

- Target 탭의 하위 탭인 Site map 탭에서 좌측 사이트 리스트에서 사이트에 마우스  오른쪽 키를 누르고 Spider this host 를 선택하면 자동으로 사이트를 탐색하여 URL 을 수집합니다.

 

 

이것으로 웹 프록시인 Burp Suite 를 설치하고 동작을 테스트 해보았습니다. 다음에는 앞에서 설치한 스프링 프레임웍 예제를 간단하게 수정해서 매개변수를 조작해서 보내는 방법을 실습해보겠습니다. 보안관련 테스트를 허가받지 않은 사이트에 대해 수행해서는 절대 안되겠습니다.


반응형