今天给大家介绍的是Github上一个名叫PyMLProjects的项目,这个项目的目的是为了训练AI来学习人类构造密码的模式,然后我们就可以用AI来生成大量同一模式或种类的密码了。这种方法也许可以用来生成暴力破解攻击中需要使用的攻击字典,因为人们为了方便记忆,通常都会采用某种密码“模式”来设计自己的密码。
一些经验丰富的渗透测试人员可能都知道,很多类似银行或政府之类的大型组织他们所使用的默认密码或重置密码都采用的是一种旧的密码方案。为了更加贴近实际情况地去评估目前这种问题的严重性,为了更好地模拟出攻击者所能做到的事情,这个项目将开发一个由自动化AI驱动的工具,并尝试模拟这样的密码攻击。
它将允许你将一个很小的密码样本转变成一个无限长度的密码。
项目主页
PyMLProjects
README.md如何使用
这个项目包括以下两个脚本:
1.learn_passwords.py:该脚本可以用一套密码来训练神经网络,并生成权值;
2.generate_passwords.py:该脚本可以根据训练集生成的权值来计算并生成密码;
训练神经网络
为了开发出一个能够基于样本生成密码的AI,最简单的方法就是给learn_passwords.py脚本提供密码列表,操作代码如下:
运行了上述代码之后,将生成一系列权值文件,我们之后将需要用这些权值文件来设置神经网络:
生成密码
为了生成我们所需要的密码,我们需要运行generate_passwords.py脚本,操作代码如下所示:
工具依赖组件
唯一需要的就是在你的计算机中安装Python环境。
Python
Python Keras
参考资料
http://www.ieeeconfpublishing.org/cpir/UploadedFiles/ver11.0.pdf
http://machinelearningmastery.com/text-generation-lstm-recurrent-neural-networks-python-keras/
https://0day.work/using-neural-networks-for-password-cracking/
领取专属 10元无门槛券
私享最新 技术干货