解密Linux影子文件的程序


Answers:


29

linux系统上的密码未加密,而是经过哈希处理,这是一个很大的区别。

根据定义,不可能反转哈希函数。有关更多信息,请参见Hash Wikipedia条目

使用哪种哈希函数,取决于您的系统配置。MD5河豚是使用的哈希函数的常见示例。

因此,用户的“真实”密码永远不会存储在系统上。

如果登录,输入的密码字符串将被散列,并对照/ etc / shadow文件进行检查。如果匹配,您显然输入了正确的密码。

无论如何,仍然存在一些针对密码哈希的攻击媒介。您可以保留常用密码的字典,然后自动尝试。互联网上有很多词典。另一种方法是仅尝试所有可能的字符组合,这将消耗大量时间。这称为蛮力攻击。

Rainbowtables是另一个针对哈希的不错的攻击媒介。这个概念背后的思想是简单地预先计算所有可能的哈希值,然后在表中查找哈希以找到相应的密码。有多个分布式计算项目可创建此类表,其大小因所使用的字符而异,并且多数为TB。

为了最大程度地减少这种查找表的风险,在Unix / Linux中,通常的做法是使用默认行为,即在密码哈希中添加所谓的“ ”。您对密码进行哈希处理,向哈希添加一个随机的salt值,然后再次对这个新字符串进行哈希处理。您需要保存新的哈希值和盐值,以便能够检查输入的值是否是正确的密码。这种方法的巨大优势在于,您将必须为每种唯一的盐创建新的查找表。

John The Ripper(或JTR)是一种流行的工具,可以对不同操作系统的用户密码执行字典或蛮力攻击。有关更多详细信息,请参见项目主页

开膛手约翰(John the Ripper)是一个快速的密码破解者,目前可用于Unix,Windows,DOS,BeOS和OpenVMS的许多版本。其主要目的是检测弱Unix密码。


是否有任何动画教程可用来解释这些事情?
Kumar

3
哪些事?我什么都不知道,但是恕我直言,链接的资源足够清楚地说明了这些主题,并且如果您稍加努力地进行搜索/阅读,我相信您会找到更多的信息。
echox

1
我认为他们要求的是YouTube教程,因为近来阅读理解能力被高估了。
Shadur

1

由于这些密码口令是单向加密的,因此实际上是不可能解密的。


您能否谈谈单向加密?
Kumar 2010年

3
单向加密意味着您不存储密码,而仅存储其哈希值。哈希的特殊属性是您无法从中重新创建密码。可以将其想像成仅存储字母数量之类的数字。如果我存储“ 5”,则可以快速检查“ Kumar”一词是否可以作为密码。但是,从“ 5”开始,我无法计算回“ Kumar”(简化示例,哈希值更加复杂,并且使用现代哈希算法时,冲突的发生率也不太常见(如果不是罕见的话))
tante

1

您只能通过蛮力解密影子文件:它包括密码的哈希,因此您唯一的机会就是猜测密码,计算哈希并查看哈希是否相同。有关散列生成的详细信息,请参见Wikipedia



1

密码使用一种算法加密,该算法将获取密码并创建该密码唯一的哈希。此哈希存储在/ etc / shadow文件中。无法从哈希中恢复密码。恢复密码的唯一方法是蛮力整个密钥空间或使用某种字典攻击。早期的哈希函数使用DES标准。计算能力的提高使在合理的时间内蛮力破解DES密钥空间成为可能。用于加密密码的现代哈希函数包括MD5,SHA等。有关crypt(3)库的更多信息,请参见此处

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.