Web/DVWA

[DVWA] Brute Force (Medium)

dodoh4t 2022. 5. 25. 21:22
728x90
반응형

Brute Force Attack (무차별 대입 공격)

특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. 대부분의 암호화 방식은 이론적으로 무차별 대입 공격에 대해 안전하지 못하며, 충분한 시간이 존재한다면 암호화된 정보를 해독할 수 있다.

 

 

페이지 화면

[DVWA - Brute Force]

- Low 난이도의 Brute Force 페이지와 화면은 동일하다!

- 어떤 부분에서 변화가 있을지 확인하기 위해 소스코드를 확인해보자!

 

 

소스코드

[(Medium) Brute Force 페이지 - 소스코드]

- 소스코드에서 변화된 부분은 다음과 같다.

- Low 난이도와 다르게 로그인 실패 시 대기시간 2초가 설정되어있다.

- sleep 함수로 공격 소요시간을 길게 하여 공격을 까다롭게 하려는 의도인듯 하다..!

- 그럼에도 Brute Force 공격을 완벽히 방어할 수 있는 것은 아니다.. 다만 시간이 좀 더 소요될 뿐…

 

 

Low 난이도와 동일하게 Burp Suite의 Intruder 기능을 이용하여 Brute Force 공격을 진행한다.

Intruder에 ADD 하기 전, 패킷을 Intercept 하고 Scope에 add 하는 세부 과정은 Low 난이도 포스팅에

내용이 작성되어 있으므로, 생략하도록 하겠다 !

 

[DVWA] Brute Force (Low)

Brute Force Attack (무차별 대입 공격) 특정한 암호를 풀기 위해 가능한 모든 값을 대입하는 것을 의미한다. 대부분의 암호화 방식은 이론적으로 무차별 대입 공격에 대해 안전하지 못하며, 충분한

dyeonee.tistory.com

 

 

Burp Suite - Intruder 설정

[Burp Suite - Intruder 환경설정]

- password 파라미터 부분에 Payload를 Add한다 !

- 또한 Payload type을 Brute forcer로 설정 후 Start attack을 클릭하여 공격을 진행한다!

 

 

Brute Force Attack Result

[Brute Force 진행 및 진행 결과]

- Brute Force 에 대한 결과 데이터 시트를 확인할 수 있다.

- 0번째 요청의 경우만 패킷의 길이가 다른 것을 확인할 수 있다 !

- 0번째 요청은 임의의 값으로 로그인을 시도 후, 이를 Intercept한 패킷이다..

- 그리고 로그인을 시도할 때 넣었던 임의의 값은 Low 난이도와 동일하게 password 였다..

- Medium 난이도에서도 비밀번호가 동일하게 password 였음을 확인할 수 있었고..

 

 

Password에 password 입력 후 로그인

[Password = password]

- 성공적으로 로그인되는 것을 다시 한 번 확인할 수 있다..

 

 

Medium 난이도에서 어느 정도 보완된 부분인 sleep 함수에 대해 어떻게 대처할 수 있을지에 대해

문제를 해결하고 나서, 좀 더 구글링하고 찾아보았다..

 

먼저 Kali Linux 에 설치된 패스워드 크랙 도구 중 Hydra 라는 도구가 있다는 걸 알게 되었다!

Dictionary Attack (사전 대입 공격)과 Brute Force Attack (무작위 대입 공격)에 사용할 수 있으며,

따로 Thread 의 개수를 설정하여, 병렬적으로 대입 공격을 진행할 수 있다는 것을 알 수 있었다.

 

최대 64개의 Thread 까지 지원이 가능하다고 하는데.. 64개의 Thread 로 공격을 진행한다고 하면,

실습과 동일하게 password 같은 취약한 패스워드 라면, sleep(2) 의 경우는 Brute Force 공격을 방어

하는데 있어서 효과적인 대응책은 아닌듯 하다는 생각을 좀 했던 것 같다..!

728x90