R's Hacking Daily Log

burp suite으로 보는 간단한 Brute fore 실습 본문

Daily-Note

burp suite으로 보는 간단한 Brute fore 실습

hanhxx 2023. 4. 9. 11:01

DVWA를 이용해 brute force 공격의 예시를 살펴보자.

admin이라는 계정의 비밀번호를 알아내고자 하는 상황이라 상상하면 된다. 

 

공격자는 login을 하기 위해 admin & passwd를 입력할 텐데 잘못된 비밀번호를 입력했을 때는 

입력란 하단에 incorrect 문구가 출력된다.

 

 

burp suite로 login 버튼을 눌렀을 때의 정보를 확인해 볼 수 있다.

username = admin & password = 1010으로 시도한 걸 볼 수 있다.

 

 

brup suite에는 brute force 공격을 시도할 때 사용해볼 만한 기능들이 갖춰져 있다.

Intruder - Payloads로 들어가면 설정할 수 있는 옵션이 몇 가지 존재한다.

 

payloads set을 1, payloads type을 simple list로 설정했다.

settings 부분에서 대입해볼 값을 입력하고 add를 누르면 값이 추가된 list가 만들어진다.

 

 

"payloads를 어디에 대입할 것인가"를 지정하는 position.

값을 대입할 부분을 클릭하고 add를 누르면 앞에 " $ " 비슷한 표시가 생긴다.

 

 

다시 돌아와 payloads부분에서는 우측 상단에 위치한 start 버튼을 누르면 공격이 실행된다.

각 list 요소를 대입했을 때 response를 확인해 볼 수 있다.

 

 

payloads type을 brute forcer로 설정하면 setting 부분이 좀 달라진 걸 볼 수 있다.

character set에 있는 문자로 length에 맞게 임의의 문자열을 만들어 대입하는 것이다. 

 

 

(brute forcer를 실행한 모습)

 

 

 

simple list type에서는 일일이 payloads를 입력하는 것이 아니라 dictionary file을 불러올 수도 있다.

 

 

리눅스에 /usr/share/wordlists/ 안에 있는 파일 중 하나 가져와 실행해 봤다.

주르륵 결과가 나오다 보면 length가 다른 결과가 하나 나온다. 

 

password를 password로 지정한 경우인데, response를 확인해 보니 login에 성공한 화면이 출력된다.

 

 

이렇게 intruder를 사용해서 사용자가 만든 list를 대입해 볼 수도 있고, 

이미 만들어져 있는 파일을 불러와서 사용할 수도 있으며 지정한 문자, 길이 내에서 무작위로 대입값을 만들어

brute force 공격을 실행할 수 있다!!

 


low → medium

security level을 medium으로 올리면 한 번 로그인을 시도할 때마다 2초의 delay가 발생한다.

이는 공격자들이 brute force 공격을 실행하는 데에 시간이 오래 걸리도록 하기 위함이다.

 

 

medium → high

security level을 high로 올리면 로그인에 실패할 때마다 0~3초의 랜덤 한 delay가 발생하게 된다.

랜덤 하게 딜레이를 주면 평균적으로 1.5초쯤이니까 medium이랑 비교했을 때 뭐가 더 좋은 거지?? 하는 의문이 생길 수 있다.

 

 

intruder로 bruce force를 실행하면 password를 알아냈음에도 멈추지 않고 남아있는 payloads를 계속해서 대입하는 모습을 볼 수 있을 것이다.

로그인 실패 시 delay가 일정할 때는 delay가 발생하지 않는 경우 "비밀번호를 찾아냈군!"하고 바로 눈치챌 수 있다.

메시지가 오는 데 까지 시간을 재고 메세지가 delay 없이 바로 오면 비밀번호를 찾아냈다는 걸 빠르게 알아차리게 되는 것이다. 

 

 

하지만 0~3초로 랜덤한 delay가 발생하게 설정하면 delay가 몇 초 동안 발생했는 지 보는 것만으로 비밀번호를 찾아냈는지 눈치챌 수 없게 만든다. 

방어자 입장에서는 랜덤한 시간 차이를 만들어 공격자가 비밀번호를 알아차리지 못하게 만들기 위해 비밀번호가 맞든 틀리든

랜덤한 delay를 만드는 것이다. 

 

 

high → impossible

마지막으로 impossible level로 가면 로그인에 실패했을 때 15분 동안 " lock "되는 것을 볼 수 있다.

폰 비밀번호를 몇 번 잘못 입력했을 때 몇 초에서 몇 분까지 입력 시도조차 못하게 잠가버리는 것과 같다. 

'Daily-Note' 카테고리의 다른 글

Steganography  (0) 2023.04.10
Brute Force  (0) 2023.04.09
ICMP  (0) 2023.04.01
Binaryfuck  (0) 2023.03.23
HTML vs XML  (0) 2023.03.21
Comments