[웹 모의해킹-1] 자동 bruteforce공격 해보기

두비니

·

2021. 5. 26. 18:09

 

 


자동 bruteforce공격 해보기

Using BurpSuite - Intruder


 

 

가장 단순한 웹 모의해킹 기법 중 하나는 bruteforcing입니다. 오늘은 dvwa를 통해서 단순 bruteforcing과 dictionary기법을 통한 실습을 진행해보도록 하겠습니다.

 

1. 자동 bruteforce 공격

 

 

우선 dvwa의 brute force창을 키고, Burp Suite의 inctercept는 OFF상태로 바꾼 뒤, 아무런 값이나 패스워드로 넣어서 보내봅시다. (저는 aaaa를 보냈습니다.)

 

 

그러면 너 틀렸어~ 어쩌구 하는 메세지가 나옵니다. 이제 이 상태에서 Burp Suite의 Proxy/HTTP History탭을 클릭합니다.

 

 

그러면 제가 보낸 쿼리를 볼 수 있게 됩니다.

 

 

해당 쿼리를 오른쪽 클릭한 뒤, Send to Intruder를 통해 Intruder쪽으로 보냅니다.

이제 이걸 확인해봅시다.

 

 

Intruder 안에를 보면 query string부분만 선택되어있는걸 볼 수 있습니다. 보통 이 값이 서버에 전달되게 됩니다.

우선 clear버튼을 통해 선택부분을 없애고,

 

security level 낮춰서 생긴게 갑자기 달라졌습니다ㅎㅅㅎ;; ㅈㅅ

 

패스워드 부분만 선택을 한 뒤, add를 눌러주면 query string으로 선택되게 됩니다.

그 뒤로는 payloads창에 들어가서 확인을 해봅시다.

 

 

처음 설정에 payload type만 바꿔주게 되면 그냥 기본 세팅으로 가면 됩니다.

 

그래서 attack을 실행하면 알아서 잘 공격을 하고 있는 걸 볼 수 있습니다. 언젠가 찾아내긴 하지만 느리고, real-world에는 쓰지도 않습니다. 이제 dictionary공격을 알아봅시다.

 

 

2. dictionary 공격

 

 

gedit /usr/share/john/password.lst 

를 통해서 칼리가 기본적으로 제공하는 password list를 볼 수 있습니다.

단순히 글자들의 조합이 아니라, 자주 쓰는 password list를 보는 것이니, 이게 더 효율적이겠죠?

 

자동 bruteforcing을 사용했던 intruder창에 다시한번 들어가봅시다.

 

이번에는 payload type를 simple list로 바꾼 뒤, payload option에 있는 load를 통해 사전 dictionary를 로딩하겠습니다.

 

당연히 다른 딕셔너리 파일을 사용해도 상관 없습니다.

그럼 그 뒤에 동일하게 start attack을 사용하면, 공격할 수 있겠죠?

 

진행하다보면, return length가 다른 하나를 찾을 수 있습니다.

password가 다른 값들과는 다르게 length가 다른 것을 확인할 수 있고, 실제로 로그인 시도를 하였을 때도 비밀번호인 것을 알 수 있습니다.

 

 

실제로는 시도 횟수를 제한하고, 응답 속도를 늦추고, 비밀번호를 늘리는 등의 방법을 통해 실제로 적용하기에는 힘든 공격 방법입니다.

 

끝!