crunch、fcrackzip
crunch介绍与使用
1、介绍
crunch是什么?
Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。
2、使用
Kali中已自带crunch工具,可直接在kali中使用。
命令格式:
crunch
参数:
min-len 最小长度字符串,即使不使用参数的值,也需要此选项
max-len 最大长度字符串,即使不使用参数的值,也需要此选项
charset string 字符集设置,默认是小写字符集
options :
-b 指定文件输出的大小,避免字典文件过大
-c 指定文件输出的行数,即包含密码的个数
-d 限制相同元素出现的次数
-e 定义停止字符,即到该字符串就停止生成
-f 调用库文件(/etc/share/crunch/charset.lst)
-i 改变输出格式,即aaa,aab -> aaa,baa
-I 通常与-t联合使用,表明该字符为实义字符
-m 通常与-p搭配
-o 将密码保存到指定文件
-p 指定元素以组合的方式进行
-q 读取密码文件,即读取pass.txt
-r 定义重某一字符串重新开始
-s 指定一个开始的字符,即从自己定义的密码xxxx开始
-t 指定密码输出的格式
-u 禁止打印百分比(必须为最后一个选项)
-z 压缩生成的字典文件,支持gzip,bzip2,lzma,7z
特殊字符,通常与-t配合使用
% 代表数字
^ 代表特殊符号
@ 代表小写字符
, 代表大写字符
3、实例
crunch 6 6 123 -o number.txt //生成六位以123元素为组合的字典集,并输出到number.txt
crunch 1 1 -q read //读取read文件中每行内容作为基本字符生成字典
read文件内容如下:
生成的字典集结果如下:
fcrackzip的使用(爆破)
1. 暴力破解
暴力破解适用于不知道密码任何信息的情况。指定字符集和密码长度范围即可:
1 |
|
-b
:使用暴力破解模式。-c <字符集>
:指定字符集,例如a
代表小写字母,A
代表大写字母,1
代表数字。-l <最小长度>-<最大长度>
:密码长度范围。-u
:测试解压文件的有效性。
示例:
尝试破解长度为 4 到 5 位的数字密码:
1 |
|
2. 字典攻击
字典攻击适用于有密码列表(字典文件)的情况。可以指定字典文件来尝试其中的每个密码:
1 |
|
-D
:使用字典攻击模式。-p <字典文件>
:指定密码字典文件的路径。
示例:
使用字典文件 passwords.txt
尝试破解:
1 |
|
3. 常用字符集参数
a
:小写字母(abcdefghijklmnopqrstuvwxyz
)A
:大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ
)1
:数字(0123456789
)!
:符号(例如!@#$%^&*()
)
示例:
尝试小写字母和数字组合,密码长度为 3 到 4 位:
1 |
|
其他有用的选项
-v
:启用详细模式,可以显示破解过程中的进度。-m
:指定压缩方法(0 到 3),通常可以忽略。
完整示例
假设我们知道密码是 5 位的小写字母,可以使用如下命令:
1 |
|
这会尝试所有 5 位的小写字母组合,并在找到匹配密码时停止。
例题
1、生日密码
文件的主人喜欢用生日做密码,而且还是个90后。
得出密钥(并不是flag哦),要输入密钥打开加密文件得到flag
2、银行卡密码 键盘密码
猜测只有数字密码(需要猜吗)得到密码
得到第一行为键盘密码
1 |
|
exp
1 |
|
得到
ylopjogjvoccynmzypgxgpogjdvigatbash
然后用atbash解密一下,得到(要去掉atbash)
bolkqltqelxxbmnabktctkltqwert
这一个密码就是 qwert
这个是解密的 VBS 脚本
1 |
|
可以先用 txt 粘贴进去,再改名为 1.vbs,点击即可得到
xisraseacsuuxzykxreverse
这一个就是 reverse,即把这句话反过来
print(‘xisraseacsuuxzykx’[::-1])
得到
xkyzxuuscaesarsix
看 T4,它是有空格的,所以这个加密是caesar six,即偏移量为6的凯撒密码
得到restroom
最后还有一个reverse
NSSCTF{moortser}