Burp Intruder 공격 결과 분석

Beginner
지금 연습하기

소개

Burp Intruder 에서 공격을 실행한 후, 다음으로 중요한 단계는 잠재적인 취약점을 식별하기 위해 결과를 분석하는 것입니다. 결과 테이블은 풍부한 정보를 제공하지만, 보안 결함을 찾기 위해서는 이를 효율적으로 정렬, 필터링 및 검사하는 방법을 아는 것이 중요합니다.

이 랩에서는 완료된 Intruder 공격을 분석하는 기본적인 기술을 배우게 됩니다. 분석 워크플로우에만 집중하기 위해, 이미 공격 결과가 포함된 사전 로드된 Burp Suite 프로젝트 파일을 사용할 것입니다. Burp Suite 를 실행하고, 프로젝트를 열고, 내장된 도구를 사용하여 결과를 검사하는 방법을 배우게 됩니다.

완료된 Intruder 공격의 결과 테이블 보기

이 단계에서는 Burp Suite 를 실행하고 기존 프로젝트를 열어 미리 실행된 공격 결과를 볼 것입니다. 이것이 모든 분석의 시작점입니다.

먼저 데스크톱 애플리케이션 메뉴에서 터미널을 엽니다.

이제 터미널에서 다음 명령을 실행하여 Burp Suite Community Edition 을 실행합니다. 로드하는 데 시간이 걸릴 수 있습니다.

burpsuite

시작 대화 상자가 나타납니다. 미리 구성된 프로젝트를 사용하므로 Open an existing project를 선택하고 Next를 클릭합니다.

파일 선택 창에서 /home/labex/project 디렉토리로 이동합니다. burp-intruder-results.bpr이라는 파일이 보일 것입니다. 이 파일을 선택하고 Open을 클릭합니다.

마지막 대화 상자 화면에서 Start Burp를 클릭합니다.

Burp Suite 가 로드되면 Intruder 탭으로 이동합니다. 공격이 이미 실행되었고 Results 하위 탭에 데이터가 채워져 있는 것을 볼 수 있습니다. Request, Payload, Status, Length와 같은 사용 가능한 열을 잠시 살펴보십시오.

'Status' 코드로 결과 정렬하기

이 단계에서는 HTTP 상태 코드로 공격 결과를 정렬하는 방법을 배웁니다. 정렬은 유사한 응답을 그룹화하고 특이점을 발견하는 빠른 방법입니다. 다른 상태 코드는 다른 애플리케이션 동작을 나타낼 수 있으며, 이는 분석에 유용합니다.

Intruder > Results 탭에서 Status라는 열 헤더를 찾습니다.

Status 열 헤더를 클릭합니다. 테이블은 HTTP 상태 코드를 기준으로 모든 결과를 오름차순으로 정렬합니다. 헤더를 다시 클릭하면 내림차순으로 정렬됩니다.

200 OK 외에 다른 상태 코드가 있는지 확인할 수 있도록 테이블을 정렬합니다. 예를 들어, 302 Found는 성공적인 로그인 리디렉션을 나타낼 수 있으며, 403 Forbidden 또는 500 Internal Server Error도 흥미로울 수 있으며 추가 조사가 필요할 수 있습니다. 이러한 코드를 함께 그룹화하면 쉽게 찾을 수 있습니다.

'Length'로 결과 정렬하여 이상값 찾기

이 단계에서는 응답 길이를 기준으로 결과를 정렬하여 이상값을 식별하는 방법을 배웁니다. 비밀번호 추측 또는 콘텐츠 검색과 같은 많은 유형의 공격에서 성공적인 시도는 종종 실패한 시도와 다른 길이의 응답을 초래합니다.

Intruder > Results 탭에서 Length라는 열 헤더를 찾습니다.

Length 열 헤더를 클릭하여 결과를 정렬합니다. 값을 관찰합니다. 동일한 길이를 가진 많은 수의 응답이 표시될 가능성이 높습니다. 이는 일반적으로 서버의 기준선 "실패" 또는 "기본" 응답을 나타냅니다.

결과를 반대 방향으로 정렬하려면 Length 헤더를 다시 클릭합니다. 훨씬 길거나 훨씬 짧은 등 상당히 다른 길이를 가진 응답은 더 면밀한 조사가 필요한 이상값입니다. 이는 대규모 데이터 세트에서 흥미로운 결과를 찾는 가장 효과적인 방법 중 하나입니다.

결과를 클릭하여 전체 요청 및 응답 보기

이 단계에서는 테이블에서 흥미로운 결과를 선택하여 전체 HTTP 요청 및 응답을 보는 방법을 배웁니다. 정렬을 통해 잠재적인 이상값을 식별한 후, 무슨 일이 일어났는지 이해하기 위해 원시 트래픽을 검사해야 합니다.

먼저 결과 테이블에서 흥미로운 행을 식별합니다. 이는 고유한 상태 코드나 나머지 부분과 눈에 띄게 다른 응답 길이를 가진 행일 수 있습니다.

해당 단일 행을 클릭하여 선택합니다.

행이 선택되면 결과 테이블 아래의 창을 살펴봅니다. RequestResponse에 대한 탭 세트를 볼 수 있습니다.

  • Request 탭을 클릭하면 Burp 가 서버로 보낸 정확한 HTTP 요청을 볼 수 있습니다. 해당 특정 요청에 대해 주입된 페이로드를 볼 수 있습니다.
  • Response 탭을 클릭하면 서버의 전체 응답을 볼 수 있습니다.

요청과 응답을 전환함으로써 특정 페이로드가 왜 이상한 응답을 초래했는지 분석할 수 있습니다. 예를 들어, 다른 응답 길이는 오류 메시지 또는 응답 본문에 나타나는 성공적인 로그인 메시지 때문일 수 있습니다.

'Filter' 바를 사용하여 흥미롭지 않은 결과 숨기기

이 단계에서는 필터 바를 사용하여 흥미롭지 않은 결과를 숨기는 방법을 배웁니다. 공격이 수천 개의 결과를 생성할 때 수동으로 정렬하고 스크롤하는 것은 비효율적입니다. 필터는 중요한 내용만으로 보기를 좁히는 강력한 도구입니다.

결과 테이블 바로 위에 Filter 바가 있습니다. 이 기능을 사용하면 다양한 기준에 따라 결과를 표시하거나 숨길 수 있습니다.

실제 예를 들어 보겠습니다. 길이별로 정렬한 후 실패한 시도에 대한 매우 일반적인 응답 길이를 발견했을 것입니다. 이 길이가 4850이라고 가정해 보겠습니다.

  1. 필터 입력란에 4850을 입력합니다.
  2. Hide 라디오 버튼을 선택합니다.
  3. 이제 결과 테이블에서 길이가 4850인 모든 응답이 숨겨져 남아 있는 몇 안 되는 이상값 결과를 훨씬 쉽게 볼 수 있습니다.

상태 코드 또는 응답의 검색어와 같은 다른 속성으로 필터링할 수도 있습니다. 필터를 지우려면 입력 상자에서 텍스트를 삭제하기만 하면 됩니다. 필터를 실험하여 분석에 집중하는 데 어떻게 도움이 되는지 확인하십시오.

요약

이 실습에서는 Burp Intruder 에서 공격 결과를 분석하는 기본적인 기술을 배웠습니다. 이러한 기술은 자동화된 공격에서 취약점을 효율적으로 찾는 데 필수적입니다.

기존 Burp 프로젝트를 열고 Intruder 결과 테이블로 이동하는 것부터 시작했습니다. 그런 다음 HTTP 상태 코드와 응답 길이 모두로 결과를 정렬하여 이상값을 신속하게 식별하는 연습을 했습니다. 다음으로, 서버의 동작을 이해하기 위해 주어진 결과의 전체 요청 및 응답을 검사하는 방법을 배웠습니다. 마지막으로 강력한 필터 기능을 사용하여 노이즈를 숨기고 가장 흥미로운 결과에 집중했습니다.

이 분석 워크플로우를 숙달하면 자동화된 도구의 출력을 처리하고 보안 결함을 정확히 찾아내는 능력이 크게 향상될 것입니다.