버프슈트(Burp Suite)

1. 버프슈트(Burp Suite) - 프록시(Proxy) 서버를 사용하여 클라이언트와 서버가 주고받는 패킷을 가로채 위변조가 가능하게 해주는 프로그램 - 웹 취약점 점검 또는 웹 해킹에 주로 사용 Burp Suite - App

ggonmerr.tistory.com

3.5) Intruder

- 사용자가 정의한 자동화 공격을 수행하기 위한 도구

- 어플리케이션을 테스트할 때 발생하는 모든 종류의 작업을 자동화하는데 사용할 수 있음

- Intercept된 상태에서 우클릭 > Send to Intruder를 선택하거나, Ctrl + I를 누르면 Intruder가 활성화

3.5.1) Positions

- 페이로드 구성 및 공격 유형을 결정하는데 사용

- [캡쳐 1]에서 §,§사이에 페이로드 설정

[캡쳐 1] Positions

- Attack type에는 4가지 유형이 있음

① Sniper : 단일 페이로드 집합이 사용되며, 정의된 각 위치에 차례로 페이로드를 삽입
② Battering ram : 단일 페이로드 집합이 사용되며, 정의된 모든 위치에 동일한 페이로드를 삽입
③ Pitchfork : 단일 이상의 페이로드 집합이 사용되어, 각 정의된 위치의 개수(최대 8개)만큼 사용. 각 페이로드가 정의된 위치에 동시에 삽입.
④ Cluster bomb : 단일 이상의 페이로드 집합이 사용되어, 각 정의된 위치의 개수(최대 8개)만큼 사용. 각 페이로드 집합을 순서대로 반복하여 모든 페이로드의 조합을 테스트.

 

- Payload Positions 영역

① Add § : 페이로드 추가
② Clear § : 모든 페이로드 제거
③ Auto § : 유효한 위치를 추측하여 그에 맞게 페이로드를 배치
④ Refresh : 새로고침

3.5.2) Payloads

- 하나 이상의 페이로드 집합을 구성하는데 사용

- 집합 개수는 Positions 탭에서 설정한 Attack type에 따라 달라짐

① Payload Sets : 하나 이상의 페이로드 집합 정의
② Payload Options : 페이로드로 사용되는 문자열의 단순 목록 구성
③ Payload Processing : 각 페이로드가 사용되기 전 다양한 처리 작업을 수행하는 규칙 정의
④ Payload Encoding : HTTP 요청 내에서 안전한 전송을 위한 URL encoding 설정

[캡쳐 2] Payloads

3.5.3) Resource Pool

- 리소스 할당량을 공유하는 작업 그룹

- 동시에 수행할 수 있는 요청 또는 요청을 수행할 수 있는 빈도 등을 설정

[캡쳐 3] Resource Pool

3.5.4) Options

- 공격에 영향을 미치는 옵션을 구성

① Request Headers : 공격 중에 구성된 request header 업데이트 여부 제어
② Request Engine : 공격 수행 시 HTTP 요청 수행 엔진 제어
③ Attack results : Attack results에 캡처되는 정보 제어
④ Grep - Match : 지정된 표현식이 포함된 결과 항목 플래그 추가 가능
⑤ Grep - Extract : 유용한 정보를 공격 결과 테이블로 추출 가능
⑥ Grep - Payloads : 사용된 페이로드 값이 응답 값에 포함되었는지 여부 결과 항목 플래그 추가
⑦ Redirections : 공격 수행 시 Burp의 Redirection 처리 방법 제어

[캡쳐 4] Options

3.6) Repeater

- HTTP 요청을 재전송하거나 응답을 분석할 때 사용

- Intercept된 상태에서 우클릭 > Send to Repeater를 선택하거나, Ctrl + R을 누르면 Repeater가 활성화

[캡쳐 5] Repeater

① Send : 요청 전송 

② Cancel

③ < / > : 전/후 요청 및 응답 확인

3.7) Sequencer

- 웹 어플리케이션에서 제공하는 값의 임의성을 분석하기 위한 기능

- 분석을 원하는 패킷 우클릭 > Send to Sequencer 선택 시 활성화

3.7.1) Live capture

- 분석을 원하는 패킷 우클릭 > Send to Sequencer 선택 시 Select Live Capture Request에 추가

[캡쳐 6] Live capture

- Token Location Within Response 영역은 어플리케이션의 응답 내에서 토큰이 나타나는 위치를 선택할 수 있음

① Cookie : 응답으로 쿠키가 설정된 경우, 분석할 쿠키 선택 가능
② Form fields : 응답에 HTML 양식 필드가 있는 경우, 분석할 양식 필드 값 선택 가능
③ Custom location : 사용자의 임의로 항목 정의 가능

- Live Capture Options 영역은 라이브 캡처 수행 시 HTTP 요청 및 토큰 수집에 사용되는 엔진을 제어 설정할 수 있음

① Nuber of threads : 실시간 캡처가 동시에 서버에 보낼 수 있는 요청 수
② Throttle between requests : 모든 요청 전 지연 시간 (과부하 방지 or 은밀한 요청에 유용)
③ Ignore token whose length deviates by _ charaters : 지정한 평균 토큰 길이 벗어나는 토큰 무시 설정

- 설정을 완료한 후 Start live capture를 누르면 라이브 캡처가 시작되며, 라이브 캡처 중에는 토큰 수, requests 수 및 네트워크 오류 수를 progress bar로 보여줌

[캡쳐 7] Start live capture

① Pause/Resume : 캡처 일시 중지/재시작
② Stop : 캡처 중지
③ Copy tokens : 현재 캡처된 토큰 클립보드에 복사
④ Save tokens : 현재 캡처된 토큰 파일에 저장
⑤ Auto analyze : 토큰 자동 분석 수행, 라이브 캡처 중 결과 주기적 업데이트
⑥ Analyze now : 최소 100개의 토큰이 캡처되면 Burp가 현재 샘플을 분석 후 결과 업데이트

3.7.2) Manual load

- 이미 생성된 토큰을 불러와 통계 분석을 수행할 수 있음

[캡쳐 8] Manual load

3.7.3) Analysis options

- 토큰에 대한 처리 방법과 분석하는 동안 사용하는 테스트 유형을 설정

- Token Handling은 분석 중 토큰 처리 방법을 제어

① Pad short tokens at Start/End : 각 토큰의 시작/끝 패딩 적용 여부 선택
② Pad with : 패딩에 사용될 문자 지정(보통 "0")
③ Base64-decode before analyzing : 토큰이 Base64 인코딩 된 경우 분석 전 디코딩 설정

- Token Analysis는 문자와 비트 레벨의 테스트에서 수행되는 분석 유형을 제어

[캡쳐 9] Analsis options

3.8) Decoder

- 데이터 암/복호화 및 해시 형식으로 변환

- 데이터 우클릭 > Send to Decoder 클릭 시 활성화

- 값 입력 후 우측 Decode as 등을 통해 암/복호화가 가능하며, Smart decode는 인코딩 값을 찾아 자동적으로 디코딩하는 옵션

[캡쳐 10] Decoder

3.9) Comparer

- 두 데이터 간 비교를 수행

- 복사/붙여넣기, 파일 로드, Send to Comparer를 통해 활성화

- 비교할 데이터 선택 후 Words(단어 수준의 차이), Byte(바이트 레벨에 존재하는 차이) 중 비교 형식을 선택하여 비교

[캡쳐 11] Comparer

3.10) Logger

- 버프슈트 로그를 기록

[캡쳐 12] Logger

3.11) Extender

- 자체 또는 타사 코드를 사용하여 기능 확장 가능

3.11.1) Extensions

- 설치된 모든 확장 기능을 확인할 수 있으며, 추가, 제거, 재정렬(Up/Down) 할 수 있음

① Details탭에서 해당 확장 기능 정보를 확인할 수 있고, Extension loaded를 체크하면 확장을 활성화할지 비활성화할지 선택할 수 있음
② Output탭에서 확장 기능의 표준 출력 스트림 세부 사항을 확인할 수 있음
③ Errors탭에서 표준 오류 스트림 정보를 확인할 수 있음

[캡쳐 13] Extensions

3.11.2) BApp Store

- Burp Suite 사용자가 작성한 Burp 확장 기능이며, 사용 가능한 BApps를 확인하여, 설치하여 사용할 수 있음

[캡쳐 14] BApp Store

3.11.3) APIs

- Burp 확장 기능을 개발하는 데 사용할 수 있는 API에 대한 세부 정보를 확인 가능
- 실행 중인 Burp 버전에서 사용할 수 있는 API 정보가 표시되어 있음

- Save interface files/Save Javadoc files는 확장 기능을 개발할 때 사용할 수 있도록 코드를 로컬 사본으로 저장하는 기능

[캡쳐 15] APIs

3.11.4) Options

- 확장 설정, Java 환경, Python 환경, Ruby 환경에 대한 설정 옵션

① Settings - 시작 시 확장을 어떻게 처리할 것인지 설정
(시작 시 자동으로 재로드할 것인지, BApp 자동으로 업데이트할 것인지)
② Java environment - Java로 작성된 확장 기능 실행을 위한 환경 구성 설정
확장 프로그램에서 라이브러리를 사용하는 경우 라이브러리를 로드할 폴더를 지정할 수 있음
③ Python environment - Python으로 작성된 확장 기능 실행을 위한 환경 구성 설정
Python 확장 기능을 사용하려면 Jython*을 다운로드 받고 경로를 설정해야 함.
Jython* : Java로 구현된 Python 인터프리터
④ Ruby environment - Ruby로 작성된 확장 기능 실행을 위한 환경 구성 설정
Ruby 확장 기능을 사용하려면 JRuby*를 다운로드 받고 경로를 설정해야 함
JRuby* : Java로 구현된 Ruby 인터프리터

[캡쳐 16] Options

 

참고

 

Burp Suite tools

Burp Suite contains various tools for performing different testing tasks. The tools operate effectively together, and you can pass interesting requests ...

portswigger.net

 

버프스위트(Burpsuite) 기능 활용

ி Repeater HTTP 요청을 재전송, 응답을 분석 할 때 사용한다. Intercept된 상태에서 우클릭 > Repeater를 선택하거나 Ctrl + R을 누르면 Repeater가 활성화된다. Repeater 탭으로 이동해서 send 버튼을 눌러 요..

jdh5202.tistory.com

 

 

0. Burp Suite 설치 및 사용방법

<목차> 0. 다운로드 1. 실행 2. Burp Suite 기본 설정 3. Burp Suite 기능  # Dashboard  # Target  # Proxy  # Intruder  # Repeater  # Sequencer  # Decoder  # Comparer  # Extender 4. Reference 0...

grini25.tistory.com

'도구 > 네트워크' 카테고리의 다른 글

버프슈트(Burp Suite)  (1) 2022.09.26
쇼단(Shodan)  (1) 2022.09.25
와이어샤크(WireShark)  (0) 2022.07.26
스노트(Snort)  (0) 2022.07.19

+ Recent posts