【信息安全】第一章 密码破解

来源:互联网 发布:js调用微信分享sdk 编辑:程序博客网 时间:2024/05/17 02:46

随着互联网的飞速发展,互联网安全以及整个信息安全领域已经成为世界关注的焦点。作为一名立志成为信息安全卫士的博主,希望利用csdn博客记录并分享学习体会,希望能够与各位大神和小白多多交流。

信息安全领域涵盖内容非常广泛,博主今天首先从密码破解开始介绍。其实几乎所有信息系统安全的大门都被密码所占据,因此了解密码,就是通向信息安全领域的第一步。博主其实并不是一名专业IT安全从业人员,信息安全是我的兴趣所在。本人是网络工程专业毕业,因此具有一定的计算机知识基础,希望能够和广大博友一起学习进步。

密码破解是一门艺术与科技相结合的学问,它需要冷静的思考,一定的知识,恰当的策略和合适的工具。下面我主要从密码破解的概念,方法,策略和工具来介绍密码破解,最后一部分会简单介绍利用硬件来加速密码破解的技术。

密码破解

下面,我首先简要介绍一下密码破解的基本概念。

1 密码存储

密码作为信息世界的钥匙,与人们生活息息相关,是互联网安全验证的重要工具。
对于一般用户而言,密码是与用户名唯一配对的字符串,我们通常称之为明文(plain-text)。对于信息系统而言,密码通常是存储在计算机上面的哈希值(hash),我们通常称之为密文(cipher-text),密码明文存储不再讨论。这里哈希值是指系统利用哈希算法将任意长度用户密码转换而成的固定长度二进制数。哈希算法具有单向不可逆性,也就是说任何人都几乎不可能从哈希值逆推得到用户密码,典型的哈希算法有MD5,SHA1,下面以MD5举例说明:
MD5算法是将任意长度字符串转换为128位二进制数,通常为了表示方便我们将其转换为32位十六进制数。

密码:admin
MD5:21232F297A57A5A743894A0E4A801FC3

因此,对于绝大多数系统而言,用户登录过程中密码验证环节都需要将用户输入的密码转换为哈希值,然后与系统中存储的对应用户哈希值进行比对。
所以密码破解的关键步骤之一就是找到系统中存储用户密码哈希值的文件。在Windows中,用户密码是存储在sam文件中;在Linux中,用户密码则是存储在/etc/shadow文件中。要想获得这些文件必须具有管理员权限,我们通常可以采取DLL注入,后门植入等方法去隐蔽地获取这些文件。关于如何隐蔽获取密码文件,博主后面将专门介绍相关技术,这里假设我们都能够获得密码文件。

2 密码破解方法

密码破解方法主要有以下五个:

  1. 字典攻击法
    字典攻击法是最简单最快速的密码破解方法。它主要是指使用字典中的单词来进行反复测试的方法。

  2. 彩虹表法
    将字典中的单词转换为哈希值所构成的表格叫做彩虹表。彩虹表法是将用户密码哈希值与彩虹表中哈希值进行反复测试的方法,往往效率要好于字典攻击法。

  3. 暴力破解
    暴力破解顾名思义是指通过穷举不同长度的密码来进行反复测试的方法,该方法往往需要耗费大量时间。

  4. 混合方法
    混合方法是指将特殊字符和数字加入字典进行反复测试的方法,该方法往往需要破解人员能够合理选择特殊字符和数字。比如,字典攻击法会选择使用“password”作为测试,而混合方法会选择使用“p@$$w0rd123”作为测试。

  5. 密码相似法
    密码相似法是指采用曾经数以万计的已破解密码来组成密码字典进行反复测试的方法,该方法利用了用户设置密码往往具有相似性的特点。

3 密码破解策略

密码破解绝不是简简单单使用几种工具和字典,真正的密码破解高手往往会采取恰当的密码破解策略,这可以大大提高破解效率。
恰当密码破解策略通常是使用多次迭代的方法,在一次又一次迭代中尝试从简单密码到复杂密码的过程。关于具体的迭代策略,我会在下一篇博文中详细介绍。

4 密码破解工具

“好马配好鞍”,要想成功破解密码离不开优秀的工具。
1. John
John the Ripper是世界上最有名的密码破解工具之一。它没有GUI界面,完全运行于Linux下的命令行界面。这款工具最大的特点是它自带密码破解策略:首先,它会尝试使用字典破解法,如果失败它会采取混合方法,如果仍然失败,它就会采取暴力破解法。
John the Ripper破解本机密码
2. Ophcrack
Ophcrack是一款运行在Windows,Linux和Mac下的免费彩虹表法密码破解工具。你可以在SourceForge 上下载这款工具,并去尝试破解自己电脑的密码。
Ophcrack
3. L0phtcrack
L0phtcrack是一款与Ophcrack相似的用于破解Windows 密码的工具,它同时也支持利用字典破解法和暴力破解法。
L0phtcrack
4. Cain and Abel
Cain and Abel是世界上最有名的破解工具之一。它严格按照Windows标准编写,可以支持破解NTLM,NTLMv2,MD5,Wireless,Oracle,MySQL,SQL Server,SHA1,SHA2,Cisco等。
Cain and Abel
5. THC-Hydra
THC-Hydra是世界上被广泛使用的网络密码破解工具。它可以同Tamper Data配合破解网络中的各种表单密码。
THC-Hydra
6. Brutus
Brutus是一款被认为速度最快的免费网络密码破解工具。它同时支持Windows和Linux系统,并能够破解HTTP,POP3!FTP,SMB,Telnet,IMAP等协议中的各种密码。
Brutus
7. Aircrack-Ng
Aircrack-Ng是最优秀的Wi-Fi破解工具,它运行于Linux下能够破解WEP,WPA2,并可以对Wi-Fi执行DOS攻击。
Aircrack-Ng

5 利用硬件加速密码破解

  1. 僵尸网络
    顾名思义,僵尸网络是指网络中被劫持的计算机,我们可以利用僵尸网络来加速密码破解的过程。可以试想,如果你使用一颗CPU破解一个密码需要1年时间,那么1000台计算机组成的僵尸网络可以将时间缩短到1分钟!
  2. GPU
    GPU是指我们计算机中的显卡,利用显卡加速密码破解过程也是一项技术,比较有名的是利用Nvidia的CUDA实现密码破解加速,后面有时间会详细介绍该功能。
    Nvidia Cuda
  3. ASIC
    当然,现在还有专门为密码破解设计的芯片。我们可以购买该种芯片来加速运算,其密码破解效率要远远高于CPU。

小结:密码破解技术不断发展,但到目前为止,系统密码破解基本方法没有改变,因此,希望大家能够从根本出发,掌握密码破解的本质。博主也在不断学习,希望各位多多支持,不喜勿喷。

0 0