본문 바로가기
인터넷 보안/Burpsuite

[Kali] Kali Linux / Burp Suite Intruder 사용 방법

by 모닥불꽃 2021. 4. 2.
반응형

Burp Suite Intruder 시작 하기

이번 포스팅에서는 Kali Linux의 Web Application Analysis 프로그램들 중 하나인 Burp Suite의 Intruder 기능 및 사용 방법에 대해 포스팅하려고 합니다.

 

먼저 Burp Suite을 키고, Intercept를 잠시 꺼둡니다.

 

Oracle Virtual Box에서 Metasploitable2 가상 머신을 시작하고, FireFox 브라우저로 10.0.2.4를 통해 Metasploitable2의 DVWA에 접속합니다.

 

혹시 Metasploitable2가 설치되어 있지 않으신 분들은 다음 포스팅을 참고하시면 됩니다.

programforlife.tistory.com/47

 

[Kali] Metasploitable2 설치하기

Metasploitable2 Metasploitable2는 침투당하는 쪽에서 만든 서버로, Metasploit에서 제공하는 의도적으로 취약하게 만든 VM입니다. 쉽게 생각해 모의침투 연습용 가상 머신이라고 생각하시면 됩니다. Metasplo

programforlife.tistory.com

 

Burp Suite의 Proxy 에서 Intercept를 켜고, DVWA에 로그인을 합니다.

 

DVWA는 Damn Vulnerable Web Application의 약자로 PHP, MySQL로 취약점을 구현한 웹 애플리케이션입니다.

 

DVWA의 초기 아이디는 admin, 비밀번호는 password입니다.

 

admin/password로 로그인을 시도하면, Burp Suite의 Intercept에 걸려 request에 admin과 password를 확인할 수 있습니다.

 


Intruder 기능 시작 하기

이제 intruder기능을 사용하기 위해 Intercept에 잡힌 request를 전체 선택하고 오른쪽 클릭 + [Send to Intruder]를 통해 Intruder기능으로 요청을 보내줍니다.

 

그럼 Intruder 부분이 주황색으로 색이 변경된 것을 확인할 수 있습니다.

 

Intercept request를 Intruder로 보내기


Intruder - Target

[Intruder] 기능으로 들어오면 "Target"에 현재 공격 대상인 DVWA의 Host 10.0.2.4와 Port 80을 확인할 수 있습니다.

 

Intruder - Target


Intruder - Positions

Intruder의 [position]은 Proxy의 Intercept에서 보낸 요청을 보고 어느 부분을 조작해 공격을 할지 확인하고, 임의적으로 설정할 수 있는 기능입니다.

 

처음에는 Burp Suite이 자동적으로 요청에서 조작할 수 있는 부분들을 표시해둡니다.

 

아래 사진을 보시면 청록색으로 표시되어있는 것을 확인할 수 있습니다.

 

오른쪽에 보면 [Add], [Clear], [Auto], [Refresh]가 있습니다

  • [Add] - 임의적으로 사용자가 요청에 조작할 부분을 설정할 수 있습니다.
  • [Clear] - 조작할 부분에 표시되어 있는 부분들을 초기화합니다.
  • [Auto] - 자동으로 조작할 부분을 표시합니다.
  • [Refresh] - 새로고침 합니다.

공격에 조작할 부분들 표시

 

[Add]는 다음과 같이 password부분을 드래그하고 [Add]를 누르면 아래 사진처럼 표시가 됩니다.

 

Intruder - Position Add 기능


Intruder Attack Type

Intruder의 공격 유형에는 다음과 같이 4가지가 있습니다.

Sniper, Battering ram, Pitchfork, Cluster bomb

  • Sniper - 단일 payload, 설정된 position에 payload들을 삽입
  • Battering ram - 단일 payload, 설정된 position에 동일한 payload 삽입
  • Pitchfork - 단일 이상 payload, 설정된 position에 payload를 차례대로 하나씩 삽입
  • Cluster bomb - 단일 이상 payload, 설정된 position에 payload들의 모든 combination 삽입

Intruder 공격 유형들


Intruder로 간단한 공격 해보기

이제 Intruder기능으로 간단한 공격을 해보겠습니다.

 

아래와 같이 Payload를 설정해 줍니다.

 

Payload Options에 공격을 시도해보고 싶은 비밀번호를 입력하고 Add를 누르면 공격 리스트에 저장됩니다.

 

비밀번호 리스트를 완성시키고, 오른쪽 위에 [Start attack] 버튼을 눌러 공격을 시도합니다.

Intruder - Payload Options 설정하기

공격이 끝나면 다음과 같은 결과 창이 로딩됩니다.

 

저희가 공격할 때 사용한 비밀번호 리스트와 상태, 길이 등 정보가 한눈에 보입니다.

 

공격 결과 창

 

결과 리스트에서 하나씩 눌러보면 해당 공격에 대한 request과 response모두 확인 가능합니다.

 

Response 확인 하기

 

아래 사진을 보면 proxy의 intercept로 가져온 request의 password부분이, intruder에 비밀번호 리스트에 추가한 knight로 변경되어 request를 전송한 것을 확인할 수 있습니다.

 

 

그럼 저희가 공격한 것의 결과를 한번 비교해 보겠습니다.

 

올바른 비밀번호인 "password"에 대한 공격과, 틀린 비밀번호인 "knight"에 대한 공격의 response를 Burp Suite의 comparer로 보내 쉽게 비교해 보겠습니다.

 

공격 결과를 눌러 Response 부분을 전체 선택해 [Send to Comparer]를 클릭하면 됩니다.

 

 

Comparer의 우측 하단에 [Words]를 눌러봅니다.

 

다음 결과에서 볼 수 있듯이, 올바른 비밀번호인 password를 사용한 공격은 로그인에 성공해 index.php 파일이 reponse로 왔고, 틀린 비밀번호인 knight를 사용한 공격은 로그인에 실패해 login.php에 머물러 있는 것을 확인할 수 있습니다.

 

Response 두개 비교하기


Payload Set - 파일 업로드 하기

Intruder에 payload를 설정하기 위해 직접 입력하는 것보다, 비밀번호가 될 가능성이 있는 파일을 업로드해 공격에 사용할 수 있습니다.

 

다음과 같이 바탕화면에 password.txt라는 파일을 만들어 보겠습니다.

Intruder에 Payload Options의 [Load] 버튼을 통해 해당 파일을 업로드해줍니다.

 

 

아래 사진과 같이 txt 파일의 비밀번호들이 list에 추가된 것을 볼 수 있습니다.

 


번외 - Kali Linux 내 비밀번호 파일들

Kali Linux내에 비밀번호 후보 파일들이 있습니다.

 

/usr/share/john의 password.lst 파일

 

/usr/share/wordlists/metasploit의 password.lst 파일

반응형

댓글