专栏首页FreeBuf小心Windows旧版认证暴露你的系统帐户密码

小心Windows旧版认证暴露你的系统帐户密码

当你正用浏览器访问网站时,Windows的一个古老漏洞就可能泄露了你电脑的用户名密码、微软登录信息,甚至还有你V**的账号密码。

多年以前当Windows还在使用单核处理器和256M的RAM的时候,微软的员工想出了单点登录,也就是说你只需要登录一次,就能够访问所有的内部资源,无需再次访问。

当用户使用NTLM验证方式时,操作系统会发送域名、用户名和密码哈希值给对方主机。只有验证不成功时才会出现登录框。但是现在看来,这样的机制是不安全的。因此,微软修复了一些问题,有些修复了一般,还有一些根本没有修复,以至直到今天还能被利用。

这些没有修复的漏洞中其中一个就是系统会把账号登录信息传输给SMB服务器。SMB是一个使用非常广泛的协议,它能够访问网络共享的文件、文件夹、打印机等。

SMB的这个漏洞几乎每年都会提一次,去年的Blackhat US 2015也提过,但好像微软根本不打算修复的样子,安上最新更新的Windows 10仍然存在这个漏洞。

工作原理

当你用标准浏览器(IE或Edge)访问带有SMB资源的链接或者使用含有标准Windows API或者使用IE做HTML渲染的程序(如Outlook),SMB服务器会在你看到登录提示框之前就获取到你的账号密码。

攻击者只需网页或者邮件中添加一个指向SMB资源的链接或者隐藏的图片,你的账号信息就被窃取了。

不过有的时候危害也没这么大,因为黑客可能只能获取到你的用户名,用户名还有可能是某个默认的用户名,至于密码很多人可能还没设定。要想通过那些信息进行进一步的攻击难度很大。

不过如果涉及到企业的域帐号,危害就不同了。首先,从域的名字很容易判断电脑属于哪个公司,然后攻击者可以从hash爆破出密码,之后就可以尝试访问公司内部资源了。

有时候也不一定要爆破密码,如果你事先知道哪个host有NTLM验证的话,只要客户端连接上了你的SMB服务器的话,就可以对认证进行实时的代理。

Windows 8和微软账号

新的Windows版本都和互联网紧密结合,基本上不让你创建本地账号,而是要你创建一个微软账号。没有用微软账号就无法使用OneDrive和Cortana。

基本上这方面的研究都是在Windows 8之前做的,在Blackhat的ppt里面也没怎么提到微软账户。但其实,当使用Windows 8, 8.1和10系统时,传输的不是你本地账号的数据,而是微软账号的登录信息!

原本这个漏洞只能对企业用户产生大的危害,现在还可以用来针对家庭用户了。

新发现

当笔者在测试问题的时候,我发现3个旧的Windows 10与简化的SMB服务器工作正常(Responder, Impacket),但新安装的Windows不行。几天后我发现,NetBIOS和工作站名称得要相同才行。

但如果你连接了系统自带的,有MSCHAPv2认证的V**连接协议(IPsec, PPTP, L2TP),Windows就不会传输你的账号密码了,而是传输V**用户名密码hash!!我认为原因可能出在MSCHAPv2上,不过Wi-Fi WPA-Enterprise (PEAP/MSCHAPv2)协议下不行。

如何利用

现在我们知道只要我们试图打开远程SMB服务器上的任何文件或者目录,系统都会自动把账号密码或者V**的账号密码传输过去。那我们应该如何利用呢?

大部分邮箱的web界面都会过滤file://,但是Yandex邮箱却没有过滤。Yandex是俄罗斯最大的邮箱提供商。这种攻击危害更大,因为它不仅能够把用户名和IP关联起来,还会把邮件也关联起来。

Chrome也支持file://,但是只会在复制粘贴或者直接在地址栏输入时才会生效。Chrome比IE流行很多,因此我们有必要做一些社会工程学来诱骗用户复制粘贴或者手动输入。

我们窃取到的信息可以用作很多用途。很多V**服务商的管理账号和V**连接本身的用户名密码是一样的,从IP地址我们在可以判断V**是哪家供应商的,足够幸运的话我们就可以把别人的V**拿来用了。

而拿到了微软账号,我们可以爆破hash,然后就可以访问它的OneDrive文件、Outlook邮件、Skype账号了。

如何自保?

别以为你不用IE不打开file://就安全了。你还是有可能会不小心运行某个不安全的程序。程序可能没有权限直接获取你的密码,但是它可以用标准函数如URLDownloadToFile()发送请求到远程服务器,你的账号可能就这样被盗了。

要想修复问题,我们可以新建一个reg文件,内容如下:

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0]"RestrictReceivingNTLMTraffic"=dword:00000002"RestrictSendingNTLMTraffic"=dword:00000002

另一种方法是用防火墙把所有的SMB流量都禁掉。只需要把所有445 TCP端口的流量都禁掉,除了一下这些目标IP段:

192.168.0.0/16 169.254.0.0/16 172.16.0.0/12 10.0.0.0/8 fd00::/8 fe80::/10

有些ISP已经帮你把他们屏蔽掉了。

结语

作者已经把NTLM hash泄露检测加入到了WITCH?网站里了。小编使用IE浏览器确实发现了我的用户名:

大家也可以用IE或者Edge打开,看看你的账号密码有没有泄露?网站会尝试抓取你的密码并用一个小字典尝试爆破。连个V**再访问成功几率更高哦

有些V**服务商已经知道了这个问题,他们通过屏蔽445端口,或者在客户端软件屏蔽解决了这一问题。

很遗憾,大部分流行的爆破软件都不能破解NTLMv2哈希。Hashcat会跳过一些,John The Ripper with OpenCL也是,哪怕把密码都放在字典里了还是无法破解。oclHashCat, Hashcat 3.0和John The Ripper的non-OpenCL版本可以破解。

更多内容点击阅读原文可见!

*参考来源:Medium,FB小编Sphinx编译,未经许可禁止转载

本文分享自微信公众号 - FreeBuf(freebuf),作者:Sphinx

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ShadowBrokers 又搞事!每月支付 400 万美元,多获得两份新泄露的文件,你会买吗?

    今年 4 月份,臭名昭著的 ShadowBrokers 入侵 NSA,窃取到 Equation Group 研发的一系列工具,并将这些 exploit 以付费订...

    FB客服
  • 安全·匠心 | WitAwards 2018年度创新产品评选「报名进行中」

    创新是企业进步的灵魂所在,也是国家兴旺的不竭动力。时代在进步、技术在革新,墨守陈规、循规蹈矩终将走向消亡。理念创新、技术创新、产品创新、人才创新是我们必须走的路...

    FB客服
  • 赛门铁克发现名为Dendroid的超强手机木马

    Android平台现在越来越容易受到攻击,因为总有一些黑客在使出浑身解数来研发新的技术,想像“上帝”一样操纵他人手机,可惜这样永远不是“上帝”,“上帝”不会唯利...

    FB客服
  • elastic-job-lite入门以及架构原理分析

    简单作业类型:我们实现SimpleJob接口中的execute方法,在里面处理自己的业务需求,调度器通过配置的cron表达式进行调度。

    阿伟
  • 前端基础-JSON

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明...

    cwl_java
  • DevOps 是一种怎样的体验?

    软件行业中,每一个概念的提出都是为了解决某个特定的问题。要了解 DevOps ,就要讲下软件开发的演变史。

    一觉睡到小时候
  • 5张图看懂如何实现Windows RTMP实时导播功能

    一直以来,好多开发者苦于如何实现RTMP导播数据源实时切换,以下是大牛直播SDK导播切换说明,支持只切换数据源模式,或音视频混音合成输出模式:

    daniulive
  • 轻松保存公众号喜欢的视频,苹果安卓都行

    Hello,各位侠友们,我是小侠!作为一个小小技术侠每天都会遇到一些朋友对电脑和手机上不懂的问题,之前就有朋友问我:看到公众号里面喜欢的视频怎么保存到手机里面!

    IT小侠公社
  • 32-STM32+ESP8266+AIR202基本控制篇-功能优化-微信小程序使用APUConfig配网绑定ESP8266,并通过MQTT和ESP8266实现远程通信控制(SSL单向认证连接通信)

    说明 为了是通信安全,修改单片机程序,以SSL的方式连接MQTT 这节的微信小程序和以前一样,未做改动! 微信小程序本身就是使用SSL连接通信,无需改动!...

    杨奉武
  • “Excel格式”最风骚玩法,炫技加薪就靠它了

    话不多说直接上干货! 001 自定义格式概述 01 调出单元格格式对话框 选中需要设置格式的单元格,按「CTRL+1」快捷键打开「设置单元格格式」对话框。 在对...

    BestSDK

扫码关注云+社区

领取腾讯云代金券