再谈SMB中继攻击

PS:下面的都是自己实际测试过的,并非理论文章,如果有什么地方不对的请斧正,谢谢 >_<

首先,介绍一下SMB中继攻击的运作原理

假设左边的主机为A,右边的主机为B

A试图访问B的共享服务

第一步     A对B说:骚年,请让我登陆
第二步     B对A说:骚年,我给你一个challenge,请先把你的密码Hash和challenge加密一下返回给我,我得确认你是否有权限
第三步     A对B说:我加密好了,给你
情景一:
第四步     B对A说:嗯,对的,请进(认证结束)
情景二:
第四步     B对A说:骚年,不对,你的身份不能登陆,你可以试试以别人的身份来登陆
第五步     A对B说:好嘛,我用你之前告诉我的身份试试,回到第一步,循环下去

现在,如果加入了一名第三者C到两者之间,C企图查看B的隐私,C会怎么做?

上图就是C的做法

第一步 A对C说:骚年,请让我登陆
第二步 C对B说:骚年,请让我登陆
第三步 B对C说:骚年,我给你一个challenge,请先把你的密码Hash和challenge加密一下返回给我,我得确认你是否有权限
第四步 C对A说:骚年,我给你一个challenge(这是B发出的challenge),请先把你的密码Hash和challenge加密一下返回给我,我得确认你是否有权限
第五步 A对C说:我加密好了,给你
第六步 C对B说:我加密好了,给你
情景一:
第七步 B对C说:嗯,对的,请进(认证结束,C替代A获取了权限)
第八步 C对A说:骚年,不对,你的身份不能登陆(A的认证结束)
情景二:
第七步 B对C说:骚年,不对,你的身份不能登陆,你可以试试以别人的身份来登陆
第八步 C对B说:好嘛,我用你之前告诉我的身份试试
第九步 C对A说:骚年,不对,你的身份不能登陆,你可以试试以别人的身份来登陆
第十步 A对C说:好嘛,我用你之前告诉我的身份试试,回到第一步,循环下去

OK,你可以看出,A和B都被C欺骗了,这明显是一场中间人攻击

这里面还有一处不合理的地方,不知道你发现没有,A想和B对话,怎么会和C吹起牛来了呢?

肯定是A误以为C就是B,C是怎么做到的呢?

下面就来探究一下C的骗人手法,如果你是C你会怎么做呢?

1. NBNS欺骗,前提
a)     A B C必须都处在同一个局域网下面
b)     A寻找B是用的B的计算机名而不是B的ip
2. DNS劫持,前提
a)     A寻找B是用的B的域名而不是B的ip

下面就让我们来重演一下这次攻击!

方式1:NBNS欺骗 + SMB中继

出品人:

A     winxp      192.168.30.129
B     win2k3    192.168.30.130       计算机名:smbserver
C     kali         192.168.30.145

Kali msf下使用smb_replay模块,设置SMBHOST为B(192.168.30.130)

Kali msf下使用nbns_response模块将B的计算机名(smbserver)解析到C的IP(192.168.30.145)

Winxp 访问smbserver的共享

OK,到Kali下看看结果

Cool,我们成功拿到了B的Meterpreter shell

原理:NBNS是广播的,所以C只需要赶在B之前告诉A:“C的计算机名是smbserver”就行了

方式2:DNS劫持+SMB中继

出品人:

A     winxp      192.168.30.129

B     win2k3    192.168.30.130       域名:share.baidu.com

C     kali         192.168.30.145

由于虚拟机有限,我将B模拟成一台内网中被黑掉的DNS服务器

Kali msf下使用smb_replay模块,设置SMBHOST为B(192.168.30.130)

将DNS服务器的 share.baidu.com 域名指向C(192.168.30.145)

Winxp 访问share.baidu.com的共享

OK,到Kali下看看结果

成功拿到B的shell

如果你很注意细节,你应该会有一个问题,如果我们将NBNS欺骗和DNS劫持同时启用,但指向不同的IP会有怎样的效果?

我将告诉你:只有DNS劫持会起作用

看下图就知道了

A先访问一个不存在的名字,同时抓取数据包

你可以看出A(192.168.30.129)发出的第一个数据包是DNS查询

上面的两种攻击都是在A先试图想和B说话造成的,假如他们本来就不怎么联系那我们岂不是要等很久?

这太被动了,我必须改变这种局面!!怎么改呢,下面就是我想说的了 >_<

UNC攻击+SMB中继

出品人:

A     winxp      192.168.30.129
B     win2k3    192.168.30.130
C     kali         192.168.30.145

由于虚拟机有限,我将B模拟成一台被黑掉的WEB服务器(域名www.caoliu.oh)

管理员每天都喜欢在个人机上访问草榴网,看看有什么新的资源

我知道他会这样,所以我先拿下了草榴的WEB权限,然后在首页插入了这样的一个链接

很不幸,这张图他不会看到,如果他的个人机的账户及密码是和服务器是一样的,呵呵,他的服务器就这么沦陷了。但是有一个前提 A B C的共享都是互相可访问的,如果个人机在防火墙外,那这就不可行了。

原理就是这样,不插图了,自己脑补一下就行了 >_<

SMB中继升级版

上面都是A访问B导致B被黑掉,而且UNC攻击还需要在账户及密码一样的情况下才能成功,这太二了,既然可以SMB中继,为何我们不把A的流量中继到A本身,那样账户和密码一定是对的。如果A开启了共享,且可被C访问,那么一定会攻击成功。好了,就到这里,具体的自己实验吧!

相关文章:

http://pen-testing.sans.org/blog/pen-testing/2013/04/25/smb-relay-demystified-and-ntlmv2-pwnage-with-python

本文标题:再谈SMB中继攻击
标题路径:http://www.shufengxianlan.com/qtweb/news42/331292.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联