解读“重定向SMB”攻击

路人甲 2015-04-17 17:06:00

前几天Cylance发布了一个影响Windows系统的漏洞,攻击者可以通过重定向到SMB协议的方式,利用“中间人攻击”来盗取用户认证信息。这个攻击究竟是怎么回事?“重定向SMB”又是什么呢?电脑管家漏洞防御团队对这些问题做了详细的技术分析,现将分析结果分享给大家。

0x01 SMB/SMB2(Server Message Block)


先简单介绍一下这次事件的主角SMB。

SMB是对CIFS(Common Internet File System)协议的扩展,主要用于访问网络上的共享文件以及打印服务。SMB和其它协议的关系如下:

SMB可以直接使用TCP端口进行传输(端口445),也可以使用NetBIOS进行传输(TCP端口139)。以直接TCP端口传输为例,每一条SMB消息必须有一个4字节的包头。包头第一个字节为0(network byte order,下同),紧跟着的3字节表示SMB消息的长度;包体是变长的。

在windows vista以后,引入了SMB2协议,在原有的SMB协议基础上扩展了部分字段。

SMB/SMB2认证有多种协议,使用最多的就是NTLM认证协议。

NTLM支持 Challenge/Response方式进行加密通信,安全认证的消息序列如下:

0x02 利用HTTP重定向到SMB协议


以Win7x86+IE11为例,看看IE如何处理HTTP返回的重定向请求。

IE获得HTTP请求返回的状态码后,如果是代表重定向的301、302、303、307,跳转到处理重定向的逻辑,调用CINetHttp::RedirectRequest处理重定向请求。

构造一个重定向到file协议的网页

当IE访问这个网页时,可以抓到访问SMB服务器的数据包

可见本机当前用户的登录凭证通过SMB2协议发送服务器进行认证了。如果这个服务器(上图中的10.4.75.32)是被恶意劫持过的“中间人”,那么用户的登录凭证就泄漏了。

可能的攻击方式不局限于网页访问,只要能够劫持正常的HTTP网络请求,就可以重定向到SMB协议将个人信息发送到恶意服务器上。

0x03 防范建议


可以看到,重定向到SMB协议是一个很大的隐患,非用户主动发起的SMB请求都应该禁止;通过SMB协议访问外网共享服务器时也需要特别谨慎。

作为防范建议,可以关闭对TCP 139和445端口的访问。如果确实需要访问网络上的共享文件或者是打印服务,在确认服务器可信的前提下,临时打开TCP 139和445的端口访问。

评论

S

sky 2015-04-17 17:27:37

我就看看

D

Defa 2015-04-17 20:41:40

好厉害好厉害

园长 2015-04-17 21:47:02

为什么验证码在输入框上面

S

sky 2015-04-17 22:17:17

@园长 看的好别扭

懒懒滴1994 2015-04-18 08:12:24

[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */

路人甲 2015-04-18 10:18:00

接下来呢!获取登陆凭证,然后呢。。。。

S

sharecast 2015-04-18 16:16:27

drops升级了呀,变好看了~~

W

wooyunjiuba 2015-04-18 16:35:41

卧槽 这就重定向了?

T

Taro 2015-04-19 10:30:54

我来打个酱油

低调的Y哥 2015-04-19 10:38:14

新版的不能收藏文章了吗。。。。

C

catcat520 2015-04-20 20:17:11

2002年的老漏洞了

_

_Evil 2015-04-21 09:19:36

sdadasdasdasd

H

Her0in 2015-11-23 22:07:06

SMB是对CIFS(Common Internet File System)协议的扩展? 这句前后颠倒了。

B

BeenQuiver 2016-03-09 16:59:26

屌屌的赶脚

路人甲 2016-04-26 19:19:40

04,年还是05年不就有这个了么,网页中放一个共享位置的文件,访问网页就获取HASH,换个名头又出来了?

路人甲

真正的路人甲.

twitter weibo github wechat

随机分类

企业安全 文章:40 篇
Exploit 文章:40 篇
Windows安全 文章:88 篇
SQL注入 文章:39 篇
APT 文章:6 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录