解密Myspace密码的姿势

*本文原创作者:泰格实验室,本文属FreeBuf原创奖励计划,未经许可禁止转载

一、背景

MySpace成立于2003年9月,作为比FTI(Facebook、Twitter、Instagram)更早推出的垂直社交平台,MySpace在过去几年经历了过山车式的跌宕起伏。

在FTI一个个大红大紫时,高层战略调整的滞后曾让MySpace卖来卖去,用户大批撤离,被国内外意见领袖贴上必死标签。

不过,自从4年前Specific Media买了这个半死不活的社区后,用了不到三年时间,将MySpace定位为专注于音乐领域的垂直娱乐社交中心。MySpace不但有新用户加入,也有大量的老客群的集体回归。

2014年11月的统计数据显示,MySpace在美国本土的访问量达到5060万,较上一年增长575%,对外宣称注册用户达到了10亿人次。

2016年6月2息,Myspace公司收到了警告,称有超过 3.6 亿帐户被泄露,并在暗网论坛上出售,尽管泄露的数据是2013 年 6 月 11 日以前用户数据的一部分,但庞大的数据量使得此次泄漏很引人注目。

泄露的数据量远远超过了近期曝光的1.17亿条Linedin用户数据,被称之为有史以来最大规模的数据泄露事件。

Myspace证实用户数据是被自称“Peace”的黑客所公布的。LinkedIn 和 Tumblr 数据泄露事件的幕后黑手也是这名黑客。

Tumblr 的数据泄露影响到了超过 6500 万个帐户,但这些密码是“加盐的”,而myspace的密码采用了sha1算法,密码强度极低。低到什么程度?LeakedSource(被入侵数据的有偿搜索引擎)直接宣称他们将破解98%到99%的密码。

我们泰格实验室的小伙伴也想试验一下破解这些密码的难度,下面记录了本次破解实验的全过程,希望能给大家一个更直观的感受。

二、破解过程

7月5日,Myspace泄露的数据在网站公布,并提供文件种子下载链接。利用种子下载文件之后,解压前大小15G,解压后大小35G左右。

在泄露的数据中共发现有效Hash值358,991,641个,去重后116,822,085个。其中有68,493,651个账户有二级密码,本次破解完全出于密码研究目的,所以只对116,822,085个Hash值进行了破解。

本次泄露的SHA1算法,是一种快速简单的的Hash方法,由它生成的密文(其实我们更愿意称之为Hash值),加密强度极低,而且可以同时大批量破解(这点很重要,如果加了salt,那么批量暴力破解几乎无法完成,想要破解全部密码的难度暴增)。

本次破解借用了团队小伙伴学校实验室的1台改造后的破解专用服务器,插有4块显卡,破解工具给基于Hashcat3.0,对批量破解进行了优化,速度提升了10%左右。

单个SHA1破解速度为5739.9 MH/s(每秒可遍历57亿次SHA1Hash值),批量破解最佳条数为每次4000万条(此时破解速度为3504.9MH/s)。预计使用3天时间进行破解。

破解过程如下:

第一轮快速破解大量Hash值

由于破解服务器每次批量破解的最佳条数是4000万条(每台服务器的性能和显卡的性能有区别,所以最佳条数需要实际测试,并不是一次破解越多的Hash越好,因为批量破解的速度是和待破解Hash的数量成反比)。

所以第一步我们考虑通过字典和小空间暴力破解的方式,尽可能多的破解出Hash值,将待破解的Hash数量快速降低到4000万以下,以便后续进行大空间暴力破解时可以一次完成。

由于Myspace的国外用户占绝大多数,因此我们花费了5个小时的时间收集并整理国外常用密码字典,共整理出了15亿条国外常用密码字典,再结合已有的字典,去重后共获得25亿条字典。这里贡献一个linux下排序去重字典的小脚本

sort.sh:#!/bin/bashsplit –d –l [条数] $1 _part$1for file in _part*do{sort $file > sort_$file}&donewaitsort –smu sort_* > $2rm –rf _part*rm –rf sort_*

使用方法:./sort.sh 原始文件 去重后文件

字典破解

字典破解花费15分钟,破解成功46,558,625条Hash值。字典还是猛!!

1-7位全空间暴力破解

剩余的7千万条Hash值,分两次进行批量破解,每次3500万条。1-7位全空间有70,576,641,626,495(95+95^2+95^3+95^4+95^5+95^6+95^7)个组合,批量破解速度3504.9 MH/s,单次耗时5小时46分钟。

两轮破解耗时11小时32分钟,破解成功27,409,679条。

本轮经过字典和1-7位全空间暴力破解后,共花费12小时的时间,破解成功7396万密码,占破解总量的63.32%。剩余待破解Hash值4285万条。

第二轮字典+规则变换

字典破解变换用来破解和字典中密码相似的字段,变换种类如下:

本轮字典+规则变换破解花费5小时,破解成功10,155,487条Hash值,占破解总量的8.69%。剩余待破解Hash值3270万条。

第三轮8-10位密码部分暴力破解

八位及以上密码空间对于我们现有计算能力来说,无法在短时间内完成全空间的遍历,因此只能采取各种破解策略,在尽可能短的时间内,遍历高可能性的解空间。

8位–大小写+数字部分空间

破解花费1个小时,破解成功222,789条Hash值。

8位–首末位特殊字符

不少人认为在密码的首末位加上特殊字符就无法破解了,我们对8未首末位包含特殊字符的情况进行了试验,花费9小时28分钟,破解成功1,381,237条Hash值,去重后942,022条。

9位–末位特殊字符部分空间

从八位的特殊字符破解规律我们可以看出,末位特殊字符的概率相对较大,所以9位采用了此种破解规律。破解花费1小时,破解成功821,828条Hash值。

10位纯数字

破解花费3分钟,破解成功741,575条Hash值。

本轮破解8-10位密码部分暴力破解花费11小时31分钟,破解成功272万条Hash值,占破解总量的2.71%。剩余待破解Hash值2953万条。

第四轮字典+暴力破解组合

基于原有字典和已破解出的myspace密码字典,在字典前后分别加上1-3位进行暴力破解。

本轮破解花费19小时38分钟,破解成功1849万条Hash值,去重后1427万条。占破解总量的12.22%。剩余待破解Hash值1525万条。

第五轮字典组合破解

第五轮破解是最后的一轮破解,重点还是利用字典。利用字典两两组合进行破解,最后对于第二轮之后破解成功的密码,再集中进行一次规则变化和暴力组合破解。

字典组合破解

字典混合破解及将两本字典进行叠加混合,如果字典1的内容为(A1,A2,……,An),字典2的内容为(B1,B2,……,Bn),混合破解输出则变为(A1B1,A1B2,……A1Bn,A2B1,A2B2,……A2Bn……AnB1,AnB2,……AnBn)。

本次混合的两本字典,一本是根据近年来泄露的数据整理的2000万高命中率字典,一本是从前四轮破解出的1亿条密码中精选出的200万条字典。最终花费5小时40分钟,破解成功2,096,487条Hash。

规则变换、暴力破解组合

对第二轮后破解成功的2000万密码,利用规则变换和首末位暴力破解组合的方式进行破解,由于时间关系,只选择了成功率较高的几种组合模式。花费3小时,破解成功1,613,545条Hash。

本轮破解花费8小时40分钟,破解成功371万条Hash值。占破解总量的3.18%。剩余待破解Hash值1198万条。

三、破解总结

本次破解Myspace泄露密码共花费约3天时间,对1亿1682万个Hash值进行了破解,破解成功1亿484万条Hash,破解成功率89.74%。共计335,275,873个Myspace用户密码被成功破解,占总用户量的93.39%。

花费时间

成功Hash

成功率

第一轮

12小时

7396万

63.32%

第二轮

5小时

1015万

8.69%

第三轮

11小时31分钟

272万

2.71%

第四轮

19小时38分钟

1849万

12.22%

第五轮

8小时40分钟

371万

3.18%

总计

约3天

1亿484万(3亿3527万用户)

89.74%(总用户量的93.39%)

我们的破解步骤综合了经验、计算能力和作息时间,对于暴力破解我们遵循的一个原则就是:

如果破解时间可接受,就全空间破解,否则就要尽可能选择概率最大的空间,在时间和空间中选择一个平衡。

这篇文章只是想分享一下我们的解密过程,并不是最优的破解思路,仅供大家参考,欢迎拍砖,也欢迎研究密码的小伙伴们与我们联系:root@hashkill.com

想知道Myspace TOP100最弱密码吗?点击阅读原文查看吧~

*本文原创作者:泰格实验室,本文属FreeBuf原创奖励计划,未经许可禁止转载

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏C语言及其他语言

想举办自己的编程比赛? 来这里

大家都知道C语言网(www.dotcpp.com)是一个集在线学习、训练、比赛、求职于一体的综合性编程学习网站。大家除了日常在网站上看视频学习、做题训练、写题...

1922
来自专栏玉树芝兰

密码怎么设才好?一条标准就够了

又看到网络安全事件的新闻了吧?心慌不慌?其实设置和保管好自己的密码,只需要记住这一条标准就可以了。

1075
来自专栏SDNLAB

SDN实战团分享(三十):Big Switch的技术颠覆

SDN的出现给了网络界一针强有力的“兴奋剂”,释放了网络界压抑已久的创新的能量。这一波技术思潮催生了大量的SDN创业公司,对各大厂商发起了巨大的冲击,网络领域的...

43810
来自专栏码神联盟

碎片化 | 第四阶段-47-值栈细节问题-视频

本套视频从Java基础到架构模式以及AI算法,整体视频以“碎片化”学习的模式,提供给大家 ,并配备实际项目为案例,让大家在坐车、吃饭、午休、蹲坑的时候,都可以学...

3375
来自专栏编程一生

入我新美大的Java后台开发面试题总结

2066
来自专栏大数据文摘

数学之美:图论和网络爬虫

2774
来自专栏FreeBuf

如何利用密码学以及数论基础攻击一个“宣称安全”的密码系统

最近在对基于区块链构建的信任社会(未来社会形态)非常感兴趣,区块技术去中心化的特性,让没有金融机构成为了可能(包括央行,以及各种商业银行)。 除了在数字货币领域...

3477
来自专栏域名资讯

3个域名交易:fde.com11万被秒

投资讲求把握时机,域名投资照样如此。遇到看中的域名,就改及时出手。这不,有3个域名就被人秒走了。

2245
来自专栏Java架构师进阶

程序员有哪些强迫行为,你知道哪些呢???

程序员可能是所有工作当中强迫症最多的一个群体,在编程的时候一个不经意的大小写字符疏忽或者空格字符的差异,都可能导致严重的BUG或着程序失败,所以很多程序员在工作...

782
来自专栏上善若水

007-golang-GO 编程高手的五个阶段

第一个阶段(菜鸟): 刚刚学习了这门语言。 已经通过一些教程或者培训班了解基本的语法,可以写短的代码片段。

2533

扫码关注云+社区

领取腾讯云代金券