-
[Information Gathering] Brute Force & Dictionary AttackPenetration Test/Information Gathering 2022. 9. 9. 03:11반응형
두 공격의 뜻을 적자면 이러하다.
- Brute Force : 무차별 대입 공격
- Dictionary Attack : 사전 공격
이름에서 알 수 있듯, 이 둘은 대입을 통해 해당하는 정보를 알아내는 공격 방법이다.
Brute Force는 가능한 모든 것을 무차별하게 대입해 알아내는 방법이라면,
Dictionary Attack은 마치 단어 사전을 보듯이 그 파일에 있는 것들을 대입하여 알아내는 방법이다.
Brute Force는 Burp Suite의 Intruder 기능을 이용하도록 하겠다.
DVWA 환경 내 admin 계정의 비밀번호에 대해 Brute Force를 시도해본다.
Burp Suite을 이용하기 위한 기본적인 설정을 한 후 DVWA의 웹 페이지에서 로그인을 시도한다.

<admin 계정으로 로그인 시도> Intercept한 Request를 Intruder로 보내고 Clear를 한 후, 변경할 값인 password를 Add 설정한다.

<Instruder 기능을 이용하기 위한 설정> 간단하게 사용법을 알아보는 것이기 때문에 Min length는 4, Max length는 5로 지정한다.
그래도 시도할 비밀번호의 총 갯수는 6천만 개가 넘는다.(심지어 대문자와 특수문자는 없다..)

<password의 Character set, 최소 길이, 최대 길이를 지정> 공격을 시작하면 aaaa부터 지정한 Character set의 문자들을 무차별적으로 대입하는 것을 알 수 있다.

<지정한 문자를 무차별적으로 대입> DVWA의 로그인 페이지에는 시도한 로그인의 횟수만큼 Login failed가 뜨는 것을 알 수 있다.

<무차별 공격으로 나타나는 Login failed> Dictionary Attack은 John the Ripper를 사용하도록 하겠다.
John the Ripper는 Kali에 기본적으로 설치가 되어 있다.
우선 Dictionary Attack으로 비밀번호를 알아낼 연습용 계정을 4개 만든다.

<생성한 연습용 계정> 그 다음 05 - Password Attacks의 john을 실행한다.

<john 실행> 실행된 터미널에서 john pass.txt --format=crypt 명령어를 수행한다.
pass.txt는 미리 만들어 둔 사전 파일이다.(unshadow /etc/passwd /etc/shadow | grep test > ./pass.txt)
format의 경우는 --list=formats 명령어로 사용 가능한 format을 볼 수 있다.
그 결과로 만들어 둔 계정의 비밀번호가 나타나는 것을 알 수 있다.

<John the Ripper를 이용한 Dictionary Attack의 결과> 사전 파일은 만들어도 되지만, /usr/share/john/password.lst 파일을 이용하거나 git에서 받아도 된다.
이것으로 Dictionary Attack의 개념을 간략히 알아보았다.
다음으로 dirbuster를 통해 Dictionary Attack으로 Web Scanning을 해보겠다.
Web Scanning은 웹 페이지에 숨겨진 디렉터리, 파일들을 보여주는 공격이다.
dirbuster 명령어를 실행하면 창이 나타나고, Target URL을 지정한다.
List Info에서 사용할 사전 파일의 경로를 찾아 지정하면 공격을 수행할 수 있다.

<dirbuster 공격 설정> DVWA의 웹 페이지에 숨겨진 디렉터리들이 결과로 나타났다.

<dirbuster 공격 결과> 이것으로 Brute Force & Dictionary Attack을 수행해보았다.
이것들 외에 다른 Tool들도 차차 써보도록 하겠다.
반응형'Penetration Test > Information Gathering' 카테고리의 다른 글
[Information Gathering] Nessus (0) 2022.09.07 [Information Gathering] Port Scanning (0) 2022.09.07 [Information Gathering] Ping Sweep (0) 2022.09.06 [Information Gathering] Google Hacking (0) 2022.09.06 [Information Gathering] OSINT (0) 2022.08.29