问题标签 [rainbowattack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
44148 浏览

cryptography - 究竟什么是彩虹攻击?

我正在阅读一些关于盐和密码哈希的文章,一些人提到了彩虹攻击。彩虹攻击到底是什么,防止它的最佳方法是什么?

0 投票
2 回答
2577 浏览

windows - 彩虹桌:如何防御它们?

我最近获得了适用于 Windows 的 l0pht-CD,并在我的 PC 上试用了它,它可以工作!!

2600hertz.wordpress.com/2009/12/22/100-windows-xp-vista-7-password-recovery

我正在设计一个以类似方式存储 pwd-s 的“登录模拟器”。当前的实现将容易受到上述攻击。请任何人都可以说明(尽可能简单地),如何加强对这样的彩虹桌攻击。

我的目标:构建“登录模拟器”以尽可能安全。(阅读黑客竞赛 ;-))

谢谢你。

0 投票
2 回答
604 浏览

passwords - 开发彩虹表

我目前正在从事一个并行计算项目,我正在尝试使用彩虹表来破解密码。

我想到的第一步是实现它的一个非常小的版本,它破解长度为 5 或 6 的密码(仅以数字密码开头)。首先,我对配置设置有一些疑问。

1 - 我应该从什么尺寸开始。我的第一个猜测是,我将从一个包含 1000 个初始、最终对的表开始。这是一个好的开始尺寸吗?

2- 链条的数量 - 我真的没有在线获得关于链条大小的信息

3 - 减少功能 - 如果有人可以给我任何关于我应该如何建造一个的信息。

另外,如果有人有任何信息或任何示例,那将非常有帮助。

0 投票
4 回答
3819 浏览

security - 为什么叫彩虹桌?

谁知道为什么叫彩虹桌?刚刚记得我们已经了解到有一种攻击称为“字典攻击”。为什么不叫字典?

0 投票
2 回答
1309 浏览

hash - 是否可以从(部分)MD5 哈希中检索密码?

假设我只有 MD5 哈希的前 16 个字符。如果我使用蛮力攻击或彩虹表或任何其他方法来检索原始密码,我期望有多少兼容的候选人?1?(我不认为)10、100、1000、10^12?即使是粗略的答案也是受欢迎的(对于数字,但请与哈希理论和方法保持一致)。

0 投票
3 回答
3600 浏览

cracking - 从 freerainbowtables.com 读取彩虹表

我从 freerainbowtables.com 下载了 Rainbow Tables。它的扩展名是 .rti 。我想知道是否有办法将此文件作为文本文件或任何其他文件读取。我想编写一个简单的程序来读取此文件并将其内容存储在哈希图中。我需要为我的一个项目这样做。

我试过谷歌搜索,也浏览了论坛,但到目前为止还没有运气。任何帮助/链接将不胜感激。

0 投票
4 回答
518 浏览

security - 彩虹桌攻击甚至是一种威胁吗?

让我们假设一个简单的非加盐哈希函数,只是一个普通的 old $hash = md5($pass)

前提:

  1. 密码散列全部发生在服务器端,散列存储在数据库中。客户无法看到这些。
  2. 彩虹表攻击必须知道哈希值才能检索密码。

鉴于前提 2.,这意味着黑客已经控制了数据库,此时您手头的问题要大得多。

因此,试图阻止彩虹表攻击只是为了保护从已经受损的数据库/系统中检索密码的目的。是这么简单还是我还缺少其他东西。

我已经熟悉密码散列技术,但我只是想知道为什么有这么多关于彩虹表的炒作。谢谢!

0 投票
1 回答
1086 浏览

passwords - 彩虹表的密码长度是多少?

我的银行将我的密码限制为 14 个字符,我怀疑他们使用 MD5 或未加盐的 SHA 哈希进行加密。

是否有包含最多 14 个字符的所有可能散列的彩虹表?

0 投票
0 回答
1267 浏览

python-2.7 - 通过 python 查找的彩虹攻击失败。

我对已分配的作业有一些问题。要点是我必须对“汽车 fop”进行彩虹攻击。使用生成器表,RainbowAttack.py脚本如下:

  1. 密钥广播给汽车(在这种情况下是对手
  2. car/eve 以挑战回应u
  3. 然后,该键以由 组成的散列响应MD5(s||u)
  4. Eve 现在使用 Rainbow-table 来破解s

我们使用 MD5 对我们的响应和我们的密钥进行哈希处理然后我们对哈希使用我们的归约函数并获取前 28 位 f_i(x) = (f(x)+i) mod 2^28.

我的哈希和归约函数

无论如何,当我们运行我们的脚本时,我们会收到响应,我们计算所有后继者并将它们与彩虹表中的端点进行比较,如果找到匹配,我们将获得碰撞的起点,现在我们检查密钥是否在链中从起点到终点,如果这里的其中一个钥匙与我们从 fop 得到的响应相同,我们就知道前一个钥匙是打开车门的秘密。

目前,我们只能在它位于彩虹表的开始位置或结束位置时才能真正找到密钥,而不是在链中时。这是检查后继者的循环代码,检查我们的后继者是否在彩虹表中,如果它们在,我们检查来自汽车 fop 的响应是否在那里,如果我们有我们的钥匙。

这可能是我们计算后继函数时引起的问题,因为归约函数将不同于键上使用的函数(我将递增,使链中所有键的归约函数略有不同)

彩虹表和文件可以在这里找到 (github)

(derp.py(彩虹攻击)和table1.csv(更改名称为table.csv))

0 投票
0 回答
254 浏览

hash - 彩虹表 - 如何选择起始明文

我正在执行一项任务,其中给了我 1000 个 SHA1 摘要及其相应的密码(每个 24 位或 6 个十六进制数字长)。我必须在磁盘上和 Java 中构建一个 <2MB 的彩虹表,我发现链长度 > 192 会使搜索过程太慢。

要求是这个彩虹表应该解决至少 45%(或 450)个哈希并返回密码。归约函数很简单 - 从哈希中获取最高有效的 32 位(比如说 d0、d1、d2),将链的当前长度(i 从 0 到 191)仅添加到 d0(如下所示),然后:

我确信代码(散列和归约)函数是正确的。但是我只能通过这种方式解决大约 250 个哈希(25% 的准确率)到他们相应的密码。

如果我增加链的数量,我会看到相应数量的哈希解决的收益递减。就像如果我将链数加倍,精度不会加倍,但彩虹表的大小已经> 2MB(它像8MB)。

对于起始词 - 我尝试从 0 开始(完整范围为 0 到 2^24)并以 1 递增,或者我什至尝试使其在此范围之间随机化。彩虹表没有循环,即使在归约函数中发生了一些冲突(与归约函数的深度相同,如上所述不同),我不接受端点已经在表中的链。

如果我能将准确率提高到 45%,我将不胜感激。