본문 바로가기
Web Hacking

8. bruteforce attack / password cracking

by 귀멸 2022. 6. 24.

0. bruteforce attack

 - 무차별 대입 공격을 뜻한다. 물론 알고리즘과 프로그램을 이용해서 대입한다.

 - web page의 로그인 실패와 성공 시 응답되는 메세지의 내용이 다르기 때문에 그 점을 이용하여 

   ID/PW을 cracking 한다.

 - 현재 대부분의 사이트는 로그인 실패 시의 주는 정보를 제한하거나,

   지정된 숫자 실패 시 계정 잠금, 로그인 처리 시간 지연 등의 방법으로 대응하고 있다.

 - 아래 tool에 대한 실습은 서버에 부하를 주기 때문에 실제 웹사이트에서는 절대 시도하지 말 것

 

1. burp suite을 이용한 bruteforce attack

 

Step 1. 로그인 성공 및 실패 관련 infomation gathering

client에서 아래 페이지 접속 (교육을 위해 보안이 허술하게 구성된 페이지)
http://demo.testfire.net 로그인 시도 실패 아래 문구 출력

Login Failed: We're sorry, but this username or password was not found in our system. Please try again. 

id :admin
pw : admin 으로 로그인 성공

로그인 성공 페이지에서 나오는 문구 복사
Hello Admin User 
Welcome to Altoro Mutual Online. 

 

Step 2. 로그인 시도 시 request packet 수집하여 burp suite 설정

 

  1) burp suite proxy tab - intercept is on 설정
  2) 로그인 시도

  3) request packet를 우클릭 send to intruder

  4) intruder tab 이동하면 보내진 packet이 보임

      - positions tab   attack type : Cluster bomb

      - parameter로 되어 있는 애들이 자동으로 대입 대상으로 잡혀 있다. 

      - 모두 해제하고 아이디와 패스워드만 대입 대상으로 지정


payloads 탭으로 이동 payload set이 두 개(id /pw)가 있음을 확인
하나씩 add로 집어 넣어도 좋고,

메모장에 한줄한줄씩 대입해보고 싶은 문자를 넣어서 워드 리스트 파일도 load도 가능

1, 2 payload set  모두에 집어 넣어 준다.

options 탭으로 이동하여
Grap-Match에 아까 로그인 성공 시 출력되는 문자열을 추가해준다. 이것이 flag가 된다.
Redirections 로그인 성공 시 페이지 이동 always로 설정
process cookies in redirections 체크

상위 intruder 탭 start attack
flag keyword를 띄우는 아이디와 패스워드 짝을 찾아냄

 

2. backtrack hydra를 사용한 bureforce attack

기존에 저장되어 있는 패스워드 대입 리스트를 /로 복사해옴

root@bt:~# cp /pentest/web/w3af/core/controllers/bruteforce/passwords.txt  ./
root@bt:~# vi /passwords.txt 으로 로그인하고자 하는 id의 pw를 넣어줌


터미널 하나 더 띄워서 hydra 설명 보면서 입력
root@bt:~# hydra 192.168.10.20 -l nuno -P /passwords.txt -V http-post-form "/member/member_login_check.asp:user_id=^USER^&user_pw=^PASS^":history -f

 

192.168.10.20  :  공격 대상 서버 ip 주소 

-l nuno              :  공격 대상 id

-P /passwords.txt  : 대입할 pw file

-V                          : 대입 하는 것을 시현

http-post-form        : request 형식

파일 주소 및 파라미터 

-f                            : 성공한 pair 출력   

 

 

댓글