TeamH4C

[빡공팟 5기] W4 : Mac OS 에서 Burp Suite 설치 및 기본 기능 이해

이유갬 2022. 10. 12. 20:18

[설치 환경] Mac M1

용어 및 개념 정리

 

Burp Suite
: 프록시를 이용하여 패킷을 중간에 가로채서(intercept) 분석 및 수정을 할 수 있다.
: 해당 툴에서 사용하는 웹 프록시 서버 주소와 포트 설정을 해주면 브라우저에서 보낸 웹 요청이 프록시 서버를 경유하므로 중간에 패킷을 가로채는 게 가능한 것이다.
: 그 외에도 다양한 기능이 있는데 이를 이용하여 웹 어플리케이션 테스트, 취약점 점검, 공격을 수행할 수 있는 점검 툴이다.

 

프록시(Proxy)
: 서버와 클라이언트 사이에서 중개인으로 역할을 수행하며 클라이언트의 모든 HTTP 요청을 받아서 서버에 전달을 한다.
: 웹 프록시 서버는 클라이언트의 입장에서 트랜잭션을 수행하는 응용프로그램이다.
(프록시, 프록시 서버는 둘 다 같은 말인가보다. 다들 혼용해서 쓰는 듯하다.)

 

프록시가 필요한 이유는?
: 보안을 위해 사용된다. -> 요청과 응답을 필터링하기 위해서!
: 익명의 사용자가 직접적으로 서버에 접근 하는 것을 막기 위해서!
: IP 우회도 가능하다!

 

1. 설치 및 기본 설정

 

- Burp Suite 공식 웹 사이트에서 설치 환경에 맞는 버전을 선택해서 다운로드를 진행한다.

https://portswigger.net

 

Web Application Security, Testing, & Scanning - PortSwigger

PortSwigger offers tools for web application security, testing, & scanning. Choose from a range of security tools, & identify the very latest vulnerabilities.

portswigger.net

- 버전에는 3가지 종류가 있는데 필자는 무료인 Community Edition 을 설치했다.

- 다운로드 후 인증서를 발급 받아야한다.

 

인증서 발급 방법 :

Burp Suite를 실행한 상태에서 http://localhost:8080/cert에 접속하고 인증서를 다운로드 해야 함.

 

다운받은 인증서 더블클릭 - 키체인 추가는 임의대로(필자는 로그인에) - 항상 신뢰로 변경함.

 

- 기본 설정

 

웹 프록시 설정을 한다.

시스템 환경설정 -> 네트워크 -> 고급 -> 프록시 -> HTTP, HTTPS 프록시를 127.0.0.1:8080 로 설정함.

 

웹 프록시 설정은 항상 사용할 때만 값을 넣어서 사용해야하며, 사용하지 않을 때는 꺼야함.

 

버프 스위트의 설정은 위의 사진과 같이 되어 있어야 한다. -> 포트는 변경 가능함. 대신, 웹 프록시 설정도 변경한 포트 번호로 변경해야함.

필자는 8080 포트를 아팟치 서버로 사용하고 있기 때문에 포트를 변경하였다.

다시 Proxy - Options 에 들어가서 사진 속 부분을 체크 표시한다.

이 부분은 클라이언트의 요청과 서버의 응답을 규칙을 적용하여 Intercept 한다는 내용이다.

 

2. 기본적인 사용법

(Burp Suite 메뉴 구체적으로 살펴보기)

1. Target

- 접속한 메뉴와 URL 들의 리스트들을 트리 형태로 보여준다.

- 방문했던 화면들이 표시되고, 해당 URL 선택 시에 직접 보냈던 메시지들의 정보가 나타난다.

- URL 중에 선명하게 보이는 주소가 있고 흐릿하게 보이는 주소가 있다. -> 선명한 주소는 클라이언트가 직접 방문한 페이지, 회색 주소는 프록시 서버가 방문한 주소

( HTTP 프로토콜을 사용하여 데이터가 평문으로 전송되어 중요한 로그인 정보가 노출되어 있었다. )

2. Spider

- 웹 어플리케이션의 지도를 만들어주기 위해 사용되는 기능이다.

- 지정한 페이지의 복사본을 생성하고 상세 확인을 위해 Target 과 Scanner 로 전송한다.

 

3. Scanner

- 웹 사이트를 분석해 보안 취약점을 찾아준다.

- 유료 버전이기 때문에 무료 버전에서는 사용할 수 없다.

 

4. intruder

- 요청 메시지의 일부분을 지정한 뒤에 여러 개의 데이터를 반복해서 전송해주는 기능이다.

- 브루트 포스 공격을 이 기능을 이용해서 수행한다.

 

5. Repeater

- 패킷을 수정해보고 수동으로 바로 응답을 확인할 수 있다.

- 수정한 패킷을 서버에 전송할 수 있다.

 

(패킷 가로채기 하는 방법)

 

- Burf Suite 는 웹 프록시 서버를 설정하여서 하는 방법과 툴 자체의 open browser 를 이용하여 웹 프록시 서버 설정이 필요 없이 사용하는 방법이 있다. 필자는 전자의 방법을 사용할 것이다. -> 톰캣 서버는 후자의 방법을 사용할 수 없기 때문이다.

 

  1. 툴을 실행하고, 웹 프록시 서버를 설정해놓는다.
  2. Intercept is off 버튼을 눌러 on 상태로 만들고 필자의 블로그를 들어가보았다.

3. 이렇게 패킷을 획득했다.

4. 여기서 ctrl + R 을 누르면 repeater 로 넘어간다.

5. repeater 탭으로 이동하면 해당 패킷이 넘어와 있는 걸 확인할 수 있고 이 값을 변경하여 서버에 send 할 수 있고 보낸 패킷의 응답 패킷까지 확인할 수 있다.

6. 이런 방식으로 가능하다. 이건 간단하게 그냥 패킷을 잡아보고 전송하는 기능 실습이라 괜찮지만 이 툴을 사용하여 브루트 포스 공격 등을 포함한 여러 기능 수행이 가능한데 이걸 실제 사이트에서 하면 절대 안된다!

 

(내가 구현한 사이트에서 repeater 실습하기)

- 사이트에 들어가 로그인을 시도했다.

- 올바른 아이디와 비밀번호를 입력했다. 이렇게 로그인을 한다면 로그인이 성공해야한다.

 

 

 

- 패킷을 리피터로 보내서 비밀번호 부분을 수정했다.

- 그리고 send 버튼을 눌러 서버에 전송했고 응답 패킷을 받았다.

- 비밀번호가 틀렸다는 메시지가 뜬 응답 패킷을 받았는데 실제 사이트로 가보니 비밀번호가 틀렸다고 떴다.

 

[참고 사이트]

https://velog.io/@syoung125/%EA%B0%9C%EB%85%90%EA%B3%B5%EB%B6%80-%ED%94%84%EB%A1%9D%EC%8B%9Cproxy-%EC%84%9C%EB%B2%84%EB%9E%80

 

[HTTP] 프록시(proxy) 서버란?

프록시라는 단어는 네트워크 환경설정을 할 때 등 많이 들어본 익숙한 단어이다.하지만 개념은 제대로 알고 있지 못해서 이번 기회에 프록시가 무엇인지와 사용목적에 대해 알아보았다!프록시

velog.io

https://velog.io/@dolanap/Burp-Suite-%EB%B2%84%ED%94%84%EC%8A%88%ED%8A%B8

 

Burp Suite 버프슈트 간단한 사용법

> Burp Suite ![](https://images.velog.io/images/dolanap/post/f92ca0e8-5b76-4c4f-8b2c-a54b1ebdacc5/imag

velog.io