SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议

SMB协议利用之ms17-010-永恒之蓝漏洞抓包分析SMB协议

实验环境:

Kali msf以及wireshark

Win7开启网络共享(SMB协议)

实验步骤:

1、查看本机数据库是否开启,发现数据库是关闭的,需要开启

  

2、 打开本机数据库

  

3、再次查看postgresql数据库状态,发现postgresql数据库已经开启

  

4、打开msf,查看msf是否连接上数据库,下图显示连接上数据库了

  

5、如果没有连上数据库,并且发现数据库服务也开启了,这时可以通过初始化msf 数据库,便能解决问题

  

6、接下来便进行再msf中一些操作了,发现哪些主机开启445端口

利用auxiliary/scanner/smb/smb_version脚本搜索有哪些主机开放了smb服务

  

7、使用hosts查看有总共哪些主机开放了445端口

  

8、得到主机开放了445端口(SMB)之后,然后判断是否存在ms17-010-永恒之蓝漏洞

利用auxiliary/scanner/smb/smb_ms17_010脚本扫描判断目标是否存在ms17-010-永恒之蓝漏洞,这里以其中一个为例,当然也可以跳过445端口扫描,直接进行MS17-010漏洞扫描。

  

9、运行后,可以看到扫描结果,说明192.168.43.111可能存在MS17-010漏洞

  

10、接下来就是利用exploit/windows/smb/ms17_010_eternalblue脚本扫描刚才可能存在MS17-010漏洞的主机,为了以后可以持久化控制目标,这里需要加载一个payload(这里用windows/x64/meterpreter/reverse_tcp),同时在本地开启监听

 

11、开始攻击,把抓包,从下图可以看到攻击成功

  

12、抓包对整个攻击过程进行分析

12.1、首次首先客户端发送一个SMB negotiate protocolrequest请求数据报,并列出它仅支持SMBv1   #注意在这里与正常的不同,正常的会列出好多版本,正常的SMB通信过程见我的博客相关内容。

 

  

12.2、服务端一般默认开启SMBv1,下图说明,服务端同意与客户端建立连接并用SMBv1版本通信。

  

12.3、协议确定之后, 客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送session setup request请求数据报实现的。可以看到下图使用匿名用户登录。

  

12.4、服务器通过发送一个session setup response应答数据报来允许或拒绝本次连接,下图没有提示出错,可以说明允许本次连接。

  

12.5、当客户端和服务器完成了磋商和认证之后,它会发送一个tree connect andx rerquest SMB数据报并列出它想访问网络资源的名称。

  

12.6、服务器会发送一个tree connect andx response应答数据报以表示此次连接是否被接受或拒绝,下图可以看到没有提示错误,说明连接成功。

  

12.7、在接下来就是连接到相应资源后,SMB客户端进行的一些操作了,这里不进行分析了。

 

 

------------------------------------------------------------------------------------------------------------

SMB协议原理抓包分析请参考:https://www.cnblogs.com/yuzly/p/10480438.html

 

 

 

posted @ 2019-03-07 18:42  雨中落叶  阅读(...)  评论(... 编辑 收藏