彩虹表的一点使用心得
摘要:最近粗略看了下彩虹表的原理以及常见工具的使用,在此记录。
生成彩虹表的例子:
rtgen md5 numeric 5 5 0 100 200 0
参数说明
hash_algorithm md5
charset numeric
plaintext_len_min 5
plaintext_len_max 5
table_index 0
chain_len 100
chain_num 200
part_index 0
hash_algorithm 指定生成的彩虹表对应的hash类型,不同hash类型的彩虹表只能用于破解对应类型的hash
hashcharset 明文所使用的字符集范围,比如,大小写字母,数字,特殊字符等等...
plaintext_len_min 指定明文密码最小长度
plaintext_len_max 指定明文密码最大长度,它会按所你给定的长度,来生成hash,范围越大,组合自然就越多,彩虹表也就会越大
table_index 彩虹表索引[其实是指生成彩虹表的最大单文件个数
chain_len 彩虹链长度,下面说过一条彩虹链固定16bit,这里并不冲突。因为文件中只记载链头和链尾,这里指定的是链头到链尾中间的那些链成员的长度,越长的话破解密码的可能性越大,但是加载彩虹表到内存时所耗占用的cpu越多
chain_num 彩虹链数量[数量越大密码就越多],一个文件中可以含有多个彩虹链,一条彩虹链固定16bit
part_index 其实是彩虹表的标示[比如有很多单文件,它们就是靠这个标示来判断是否属于同一个彩虹表]
使用彩虹表
b0baee9d279d34fa1dfd71aadb908c3f为要破解的md5值,C:UsersAdministratorDesktoprain目录里面存放着生成好的彩虹表
C:\Users\Administrator\Downloads\rainbowcrack-1.8-win64\rainbowcrack-1.8-win64>rcrack C:\Users\Administrator\Desktop\rain -h b0baee9d279d34fa1dfd71aadb908c3f
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。