首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
深度剖析哈希值(hash)传递攻击
来源:IT专家网 作者:IT专家网 发布时间:2011-07-21  

  在本文中我们将探讨哈希值传递攻击的攻击原理以及展示如何获取被盗密码哈希并成功利用密码而无需破解密码的隐藏内容的过程。

  导言

  作为安全工作人员,一般都会将时间花在确保密码政策的可靠性和复杂度上,以确保密码不会被攻击人员利用恶意代码而破解。

  如果告诉你,在某些情况下,攻击者甚至不需要破解你的密码就能够获取对你系统的访问,就好像在使用你的用户名和密码一样,你相信吗?而且这并不是通过某些先进的自定义零日漏洞或者引诱用户点击钓鱼攻击垃圾邮件中的链接,而是通过非常简单的技术,即哈希值传递攻击。在本文中我们将探讨哈希值传递攻击的攻击原理以及展示如何获取被盗密码哈希并成功利用密码而无需破解密码的隐藏内容的过程。并且,还将为大家提供一些检测和防御技巧来帮助大家预防这种攻击。

  数据包级别的哈希

  每当我们在windows系统中为帐户创建一个密码时,系统都会将密码转化为哈希值。哈希值是加密函数的结果,加密函数会取出数据中任意大小的字符串来执行数学加密函数,并产生一个固定大小的字符串,最终的结果并不是用户所输入的密码(例如123456),而是哈希字符串“94354877D5B87105D7FEC0F3BF500B33”。

  这从几个方面来看是很有意义的。首先,这意味着你的密码不是以纯文本的格式保存在你的本地硬盘中以致任何人都可能看到你的密码。其次这意味着当你使用密码验证到另一个设备(例如域控制器)时你的密码并不是以纯文本的格式在网络上传递的。下面我们将探讨哈希是如何创造的。

  当你试图访问计算机中受用户名和密码身份验证保护的资源,主机会要求你进行身份验证。通常情况下,你需要提供一个用户名和密码。当你输入你的密码后,计算机会立即对密码执行哈希函数并将其提交给主机,主机就会将其与身份验证数据库进行对比,如果哈希匹配的话,你就可以通过验证。

  图1: 正常身份验证的过程

  现在,考虑一种替代方案。如果当我们手动建立与主机(主机上有我们想要访问的资源)的连接时,我们不是输入用户名和密码,而是输入管理员用户名以及我们窃取的管理员哈希。这样我们就能够获取对主机的管理权限访问。请记住,主机所需要的只是接收与其匹配的哈希值。这意味着你不需要对密码执行单向哈希函数,你只需要提供哈希值,这也是哈希值传递攻击的基本原理。

  图2:直接向目标主机传递哈希值

  使用Metasploit来传递哈希值

  上面我们已经讨论了哈希值传递攻击背后的原理,下面让我们来执行这种攻击。在这次攻击中,我们将向受害系统传递被盗的特权管理员用户的哈希值。为了执行这个攻击,我们需要两个东西。首先,我们需要从管理员用户窃取哈希值,有很多不同的方法来获取密码哈希。除了窃取哈希外,我们还需要Metasploit副本,我们将使用该工具来执行此次攻击。

  Metasploit是由HD Moore开发的免费渗透测试框架,互联网上可以找到很多有关Metasploit的使用文章,虽然本文中我们仅使用Metasploit用于哈希值传递攻击,但实际上,Metasploit可以用于非常广泛的攻击。

  或者,大家也可以下载和使用Backtrack 4。BT4是专用于攻击和渗透测试的工具,并有很多预先安装和预编译的工具,而Metasploit就是其中之一。你可以点击此处下载,并可以在/pentest/exploit/framework3文件夹中找到Metasploit。在下面文章中的屏幕截图都是来自于BT4.

  有了窃取的哈希值和Metasploit工具在手后,我们就可以开始准备攻击了。为了开始发动攻击,你必须首先打开Metasploit控制台。在BT4中,你可以打开/pentest/exploit/framework3文件夹并输入./msfconsole来打开控制台。

  图3:打开Metasploit控制台

  Metasploit是一个真正的框架,它依赖于使用各种模块来执行行动。在本文的情况下,我们将使用psexec模块。Psexec是很常见的工具(并不是仅见于Metasploit),它主要用于远程执行系统中的程序,并且将这些程序的输出重定向回你所使用的系统。为了使用这个模块,输入使用windows\smb\psexec并点击Enter键。而你正在使用的shell提示应该更改为反映该模块的使用情况。

  图4:使用psexec模块

 

  下一步,我们必须设置我们传递的有效载荷。Metasploit将会打开至受害系统的非常基本的连接,这样一旦用户名和哈希提供给我们正确的身份验证,有效载荷就能够使用Psexec确定执行了什么操作。在本文中,我们是要对这个受害系统发动恶意攻击,所以不只是打开一个特定程序,我们想要实现可以用来执行很多恶意命令的命令shell程序。实现这一点有很多有效方法,其一就是使用反向TCP shell,这个有效载荷会执行cmd.exe并通过我们的连接回传,这样我们就能够远程访问资源。为了使用这个有效载荷类型,设置有效载荷windows/shell_reverse_tcp。

  图5: 设置有效载荷至反向TCP shell

  为了使用这个模块和有效载荷,我们需要配置几个选项。而为了打开这些选项你可以输入显示选项并按下回车键。

  图6: 可配置选项以使用现有模块和有效载荷

  为了设置我们需要的选项,我们将需要使用这个语法“set [option name] [value]”,以下值应该进行设置:

  RHOST – 受害系统的IP地址

  SMBPass –受害系统的哈希

  SMBUser –受害系统的用户名

  LHOST –发动攻击机器的IP地址

  在大多数情况下,这些是需要配置的仅有的四个选项,其他选项都可以选择默认配置,当你配置好这些选项后,输出结果应该与图7类似。

  图7: 为这次攻击设置的完整的选项

  从这一点来看,我们现在已经完成了所有准备工作,现在就可以开始发动攻击了。为了发动攻击,只需要简单输入exploit并按下回车键。如果成功的话,你将看到与图8类似的画面,这是一个很不错的windows命令shell。这样我们就能够在不需要管理用户密码的前提下对所有机器进行管理员级别的控制。

  图8: 攻击成功后显示windows命令shell

  如何抵御哈希值传递攻击

  根据哈希值传递工具利用身份验证的过程来看,哈希值传递攻击是很难被察觉和预防的,不过我们可以通过以下操作来加以预防:

  入侵检测系统监测 - 从入侵检测系统的角度来看,你基本不太可能能够察觉攻击者正在执行哈希值传递攻击,因为哈希值传递攻击通常看起来与正常身份验证序列毫无差别。但是,你还是能够在攻击者成功获取访问权限后执行的操作来抓住攻击者。例如,在本文的情况中,当哈希值传递给受害机器时,入侵检测系统可能没有任何反映,但是当psexec创建一个shell并通过网络将其发回时,你就会看到入侵检测系统发出的警报。这能够允许你检测攻击并能够迅速作出反应。

  隔离敏感系统- 所有被认为保护敏感数据的系统都应该在网络中进行隔离。使用适当的滤油器和防火墙配置你就可以限制对敏感系统的访问,例如仅有少数可信任主机可以对其访问。这能够防止不同机器的用户试图使用哈希值传递技术来获取对敏感系统的访问。

  双因素身份验证 - 完全以来密码作为唯一的身份验证方法已经被认为是很过时的方法。为了部署良好的用户身份验证方法,身份验证应该包括两个或者三个可能的因素。这些因素可以是你知道的(密码),你持有的(智能卡、令牌),也可以你本身的(指纹、视网膜)。结合这些因素中的任意两个因素就能够防止攻击者仅使用密码或者窃取的哈希值来成功通过验证。

  限制管理员访问权限 - 越多的用户帐号拥有访问网络的管理权限,他们的哈希值被窃取并用于访问敏感资源的几率也就越高。你应该定期进行审计以确认拥有管理访问权限的用户是否真的需要这种权限,以控制攻击面。

  总结

  .哈希值传递攻击是非常用以执行和非常致命的攻击。正如大家在本文中所看到的,哈希值传递攻击只需要动用一些工具,攻击者就能够让你的基础设施完全崩溃。希望大家能够理解哈希值传递攻击的基本原理,并且运用上述的检测和防御策略来抵御网络中的哈希值传递攻击。


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·hash传递入侵 - hash直接登陆win
·分享溜客www.176ku.com被检测过
·NTP Reply洪水攻击
·对母校.NET网站的渗透 图文实战
·SSL劫持攻击
·Metasploit使用hash直接登录系统
·星外0day实践记录、提权总结
·0day批量拿站webshell,挖掘机是
·dedecms 5.7后台拿WEBSHELL
·Access溢出+跨裤得到shell
·Apache Range Header DoS Attack
·使用PHP突破Disable_functions执
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved