DEFCON 17.窃取40万个密码,或如何向室友解释为什么电费增加了。 第二部分

DEFCON 17.窃取40万个密码,或如何向室友解释为什么电费增加了。 第一部分

如果您不遵循任何创建密码的规则,那么该密码可能看起来像一个简单的PHP列表。 人们讨厌规则,讨厌短语,不想使用它们。 如果您给他们自由,他们将打印任何琐碎的密码并假定作业已完成。 在这种情况下,如果他们不使用简单的基本单词会更安全,因此最好使用大型输入词典。



塞巴斯蒂安·拉沃(Sebastian Ravo)对输入字典的创建做出了最大贡献-他从每篇维基百科文章以及类似项目中创建了大量单词。 如果您知道一个单词,则可以为其创建Wikipedia文章。 但是,对于Wikipedia而言,好的好处并不总是对创建安全密码有用,因此,如果字典真的很大,就不可能对其应用许多不同的规则。 您可以在Wikipedia的博客http://blog.sebastien.raveau.name/上阅读词汇表。

如果有密码创建策略,则应遵循以下规则:
最好在词典中使用小型的主题化,专业化的单词列表,
最好的词典基于以前破解的密码。

出于隐私原因,我无法向您提供黑名单密码列表,但是请相信我,就像有钱人变得越来越富有一样,如果您看到在创建和更正错误时所犯的错误,那么黑名单密码就会变得更强大。

有这样的密码列表,我们可以看到在这些列表中重复了相同的用户,因为他们到处都使用相同的密码。

如果可以从此类密码中提取基础,将很有用。 例如, TigerWoods1982密码不应太普及,但人们会不断使用TigerWoods密码。 因此,您可以提取此基本短语“ TigerWoods”以创建一个密码。 我的CD上有一些工具可以帮助您使此过程变得更加容易。

创建密码单词的规则非常简单:

  • 学习基于先前破解的密码创建新单词;
  • JtR只能很好地破解弱密码,这就是为此而设计的原因,但是对于复杂的密码, JtR的情况更糟。 我提供了一些基于JtR的密码创建规则供下载;
  • Minga还托管了许多方便的在线密码创建工具: http : //marc.info/?l=john-users&m=123820850908275&w=2http : //marc.info/?l=john-users&m=124053430313891&w=2

但是,如果您想破解非常强壮的密码,则需要制定自己的规则。 我的CD上还有另一个工具,可让您将密码解析为2组不同的密码。

第一个是密码,我们知道密码的创建方式,例如password123 ,第二个是密码,我们不知道其原理。 这非常好,因为您无需整理出200,000个密码(例如password123) ,然后尝试提出使用它们的新规则。 您将收到一个简短的列表,例如,人们可以通过在单词中插入表情符号来使用表情符号来创建密码。 您将学习新的按键组合,这将帮助您更轻松地创建强密码。

正如我所说,我决定放弃内置的JtR规则,并开发了自己的生成“猜测”的方式。 概率破解方法( 概率破解)取得了良好的结果。 我已经说过,我们的反应是普遍的:我们用眼睛观察事物,点头,说它看起来很棒,但是对我们自己来说,我们认为:“什么样的学术垃圾!” 但是我想说的是,我们真的很想学习如何创建最能抵抗破解密码的方法,因此我们尝试以最佳方式进行所有操作。

众所周知,某些单词比其他单词更受人们喜欢,例如密码猴子足球 。 还众所周知,人们喜欢通过添加123、007,$$$或单词的首字母大写来“扭曲”密码的某些规则。 为了增加强度,我们必须优化以非典型方式创建密码的规则。 这是一个相当耗时的过程。 从《 开膛手约翰》电子邮件通讯中,我发现了创建10或12,000JtR规则配置文件并试图从中获得最大收益的人。



我比他懒惰,所以我没有这样做。 我只是想使优化密码创建过程和使过程自动化变得更加容易。 我们处理所有信息,并确定使用某些单词和组合的可能性,即,我们根据猜测的可能性对密码进行排名。 然后,我们使用单词和“变形”的最小组合来创建密码。 因此,我们应该尝试使密码更牢固:

  • 使用不常见的密码失真方式来使用常见单词,例如13!password13!;。
  • 使用带有常见“失真”的稀有词,例如zibra123。

通过这种方法,我们成功了。 如果您不能根据上述标志将密码分为两组,我们有一个培训师程序,可以自动分析已知密码列表并生成所谓的“语法”。 该“语法”包含所有必要的信息,因此我们使用两个这样的“语法”来研究破解密码的可能性。

因此,我们确定了使用所有内容的可能性:字典中的单词,密码中的单词“失真”规则,用于排列字符(例如,密码12末尾为两位数)的算法,而您可以使用规则“密码末尾为两位数” 21“之类的。

我可以继续谈论这个问题,但是我会更好地向您展示一个如何工作的很好的例子。 我不希望您阅读幻灯片上的所有内容,所以我会告诉您我要做什么。 我将启动我们的概率密码破解程序,并为他“喂食”两个不同的输入字典。 实际上,它最多支持10个词典,但是最好不要发疯。



一本输入词典包含最常用的密码,因此很容易猜到。 第二个词典包含最不常用的单词,密码破解程序将在两个词典之间切换。 之后,我直接在开膛手约翰(John the Ripper)中对结果进行“盐化”,因为正如我所说,我想创建自己的密码哈希算法。

不幸的是, 出于保密考虑,我们不能在这里使用PHP列表,因为您无法向所有人展示密码破解功能,因此我们的机构不认为这是合法的。 因此,我将在两年前公开的MySpace列表示例中演示该饼干的工作。 其中的所有密码均以纯文本形式提供,因此您可以阅读它们,并且此操作不会带来额外的危险。

我们使用了MD5散列,这与用于phpbb列表的散列算法完全相同,因此在此很大程度上模拟了对phpbb的攻击。 此处加载了大约17,000个没有“热情”的密码散列,我们实际上将它们的列表分为几个部分,以进行典型的机器学习。

现在在屏幕上,您可以看到密码破解的速度,因此您应该使用较慢的哈希算法。 在不同的规则之间也有一个切换,因此这些不仅仅是尝试“尝试1位数,尝试2位数”之类的尝试。

您会看到密码大小不同,通常人们使用6到8个字符的长度,有时密码末尾会有感叹号。

由于我们的工作仍在进行中,因此我们尝试将更多优化类型集成到该算法中。 其中之一是在此过程中包含有针对性的攻击,该程序试图破解特定用户的密码而不是破解一些旧密码。



进行有针对性的攻击所需要的就是使用不同的输入词典,例如婴儿的名字,生日,邮政编码等。

您会看到屏幕上的骇客进程有所放慢,这是设计功能,如果骇客足够简单,则可以加快进程。 但是,由于它是基于概率模型的,因此猜测概率最高的密码的速度更快,而破解概率最小的密码的速度则稍慢,因此此处使用了更多的“猜测”。

您还注意到,该列表中的密码大多很弱。 这是因为我们只是开始密码破解会话,并且不想使用过于复杂或高级的密码。

如果您有一种旨在仅攻击强密码的黑客策略,则需要基于此类密码创建适当的列表,并通过仅攻击强密码来启动会话。

至此,我们的程序已完成工作。 黑客入侵过程耗时2分30秒,在此期间,共有5586个密码被黑客入侵或猜测,大约占总数的30%。

我认为有一百个原因需要更改创建密码的策略,而不是因为仅使用密码是一种落后和愚蠢的做法。 只是我真的相信他们对我们的安全造成的伤害大于好处。 尤其是如果我们谈论的是离线攻击,除非您每2分钟更改一次密码,否则无法阻止。

现在,我想谈谈蛮力攻击技术。 如果您不注意防御,这些攻击确实会造成很大的损害。

它们非常强大,但是您可以抵抗它们,您只需要动脑筋。 为此,您需要分析字母和符号的使用频率,以找出在密码中很少使用哪些字母或符号。



当然,大家都听说过此消息,因此,例如,尝试更频繁地使用字母Q(这在密码中很少见)。 您的黑客算法不应尝试破解所有密码,您需要关注最可能的密码。

马尔可夫模型是一个更“高级”的选择。 它基于字母的条件概率,例如,如果连续有两个字母Q,则与字母中带有U的情况相比,您受到的保护更大,这是因为U通常以字母Q开头,并且还假定密码是在“人类”方式,也就是说,如果某个字母位于单词的此位置,则其后是另一个字母,该字母最经常用在这样的字母组合中。 Markov模型被JtR黑客算法所采用,该算法考虑到“人类单词”中的字母Q通常后跟U或W,但不跟随S或Z。不要以为我在努力让您成为“开膛手约翰”,但是真的很好的程序。

通过使用有针对性的攻击,我们可以进一步加深暴力破解的逻辑。 它们基于使用以下创建密码的原则:

  • 人们倾向于以大写字母开头的密码;
  • 他们通常在密码末尾添加数字;
  • 出于同样的原因,他们喜欢在密码中使用php或phpbb组合。


相同的原则可用于“字典式攻击”。 有一个非常好的工具可以检查攻击的有效性,称为“ Crunch” ,可以在remote-exploit.com程序员论坛上找到。

我想举一个使用蛮力攻击破解“强”密码的例子。 为此,我首先启动JtR ,它开始使用Markov模型基于小写字母生成“猜测”。



您会看到,在此列表中,输入词典中有很多真实的单词,例如dog,starless,marine。 但是由于有了马尔可夫模型,他还生成了在那里缺少的单词,例如stech。 但是,由于我们正在解决一个强密码,因此我们需要应用一些其他逻辑。 因此,我使用的脚本在单词的开头提供大写字母,并在单词的末尾添加特殊字符和数字。



如您所见,这些“猜测”看起来像是一个真正的强密码。 现在您已经知道了密码创建策略,您应该单击“关闭懒惰”按钮,并花5分钟为这些单词指定一定的大小,因为它们看起来太短了。

我们还可以尝试将所有内容上传回JtR并尝试破解哈希。



在演示开始时,我详细讨论了如何断开phpbb.com用户的密码列表,现在我想谈一谈如何打破Web Hosting Talk列表。



他于2009年3月21日遭到黑客攻击,至少那时是在网络上发布了一个列表,攻击者竟然是一个真正的恶棍,因为他在公共领域中放置了大约20万个登录名和密码以及其他机密用户信息。 他偷了哈希,然后删除了站点本身和所有备份。 对于系统管理员来说,这是巨大的打击。



之后,网站所有者报告说他们被黑客入侵了,但是用户不必担心,因为现在它们已经安全了。 同时,他们表达了一种想法,实际上是欺骗性的,也是危险的。我引用iNET社区协调员的话说:“密码充满热情”,如果有人可以重新设计密码,那将是前所未有的事件。 我会定期更改密码,所以今天也许是个好日子。”

好像是我说的:“大家好,复印室开着,但是不用担心,那里有一个灭火系统,所以这座建筑物绝对不可能烧成地面。” 但是有时候我喜欢在午餐时间出去,所以如果你愿意的话,你也可以走出去。” 这就是我决定在此处修改此列表的原因之一。

此外,协调员还发布了以下声明:“没有一个单一用户的信用卡或PayPay帐户被黑客入侵。” 可能仅是因为黑客不需要此。 然后又出现了新的故障-同一网站于4月7日再次遭到同一黑客的入侵,这次他在网络上发布了约20.2万个密码哈希和2218个信用卡号。

我永远也不会去该站点,该站点的管理人员说:“是的,我们已经盗走了两千张信用卡,但是其余的都是安全的”!

我想澄清一下情况。 骇客是事实,我不想为此而怪罪Web Hosting Talk 。 在被黑客入侵后立即尝试将其保存并从系统中拉出是一个棘手的问题,尤其是当用户反复呼吁您备份系统时。 因此,我认为Web Hosting Talk的主要问题在于他们低估了用户所面临的风险。 采取行动是非常危险的。

因为至少您应该为用户提供类似滴答时钟的时钟,这将表明需要登录并更改密码,这不仅适用于该站点,而且适用于所有其他站点。 这非常重要,因为我很快就发现了有关此站点的一个有趣的事实:第一次攻击后,有1348个用户更改了密码,仅占该站点注册总数的0.6%!

这就是为什么黑客有很大的机会使用相同的未更改用户凭据返回并再次入侵该站点,甚至可以利用它们来入侵也注册了该站点的其他站点。

我想了解一下该网站的哈希值是否真的很弱,因此请Google找出该网站使用的软件。 事实证明,这是一个论坛引擎vBulletin ,它是用PHP编写的,并使用MySQL服务器维护其数据库。 Google还回答了该网站使用哪种哈希算法的问题-这是像MD5(MD5(Password).salt)这样的双重哈希。 也就是说,您获取用户的密码,使用MD5对其进行哈希处理,然后使用相同的MD5再次对所接收的密码哈希进行哈希处理。 我不知道“开膛手约翰”将如何处理这样的哈希,所以我写了自己的“饼干”。 但是我并没有尝试破解该站点的真实密码,因为要花几个星期,我才决定测试列表中密码“ password”的存在,并立即黑客攻击了使用“ password”一词作为密码的1109个人。



我想说的是,密码中的“重点”确实成为攻击者的问题,因此对用户而言很重要。 我继续用不同的“热情”来“发布”密码,因为对于破解者来说,这意味着必须“猜测”每个用户的每个密码的哈希值。 例如,如果我们使用的是phpbb站点,该站点使用了MD5单步哈希,那么黑客将花费大约1个小时来破解密码列表。 对于Web Hosting Talk密码列表的这种攻击,如果它们受到“热情”的保护,则将花费20万小时。

还有什么要说的? , «Dell» 34% 200 phpbb . , «». , , ? , .

, «» , - , , , «». , , 200 , . , «admin» «webmaster».

, , . , , «», , .

, weir@cs.fsu.edu

- , .

: , «It's fun to try the impossible»! : «!!It's fun to try the impossible!» «!!ifttti!».

, Mad Libs , .

: ASCII, :




感谢您与我们在一起。 你喜欢我们的文章吗? 想看更多有趣的资料吗? 通过下订单或将其推荐给您的朋友来支持我们, 为我们为您发明的入门级服务器的独特模拟,为Habr用户提供30%的折扣: 关于VPS(KVM)E5-2650 v4(6核)的全部真相10GB DDR4 240GB SSD 1Gbps从$ 20还是如何划分服务器? (RAID1和RAID10提供选件,最多24个内核和最大40GB DDR4)。

VPS(KVM)E5-2650 v4(6核)10GB DDR4 240GB SSD 1Gbps至12月免费,在六个月内付款,您可以在此处订购。

戴尔R730xd便宜2倍?在荷兰和美国,我们有2台Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100电视(249美元起) 阅读有关如何构建基础架构大厦的信息。 使用价格为9000欧元的Dell R730xd E5-2650 v4服务器的上等课程?

Source: https://habr.com/ru/post/zh-CN422735/


All Articles