MS17-010(Eternal blue永恒之蓝)漏洞复现
MS17-010(Eternal blue永恒之蓝)
漏洞背景
永恒之蓝(EternalBlue)是一个由美国国家安全局(NSA)开发的漏洞利用工具,被用于攻击微软Windows操作系统中的漏洞。这个漏洞利用工具最初泄露于公众的是在2017年4月,因此得名“永恒之蓝”
具体来说,永恒之蓝利用了微软Windows操作系统中的一个名为MS17-010的漏洞,该漏洞存在于微软的SMBv1协议实现中。攻击者可以利用这个漏洞来远程执行恶意代码,甚至控制受感染的计算机,而无需用户交互
攻击者可以利用永恒之蓝进行各种恶意活动,包括勒索软件攻击、间谍活动、信息窃取等。该漏洞被广泛利用,导致了全球范围内的许多严重的网络安全事件,包括2017年的“想象力病毒”(WannaCry)攻击事件
微软在发现漏洞后发布了补丁来修复这个问题,并呼吁用户及时更新其系统以保护自己免受潜在的攻击。然而,由于许多用户未能及时更新其系统,永恒之蓝仍然是一个潜在的威胁,特别是对于那些运行旧版本Windows系统的用户。因此,及时更新系统补丁并采取其他安全措施仍然是保护自己免受此类攻击的最佳做法之一
利用过程
前期探测
本次的漏洞环境是上课老师提供的靶场,要求我们去扫描C段,查找存活的IP并尝试利用其存在的相关漏洞
我最初尝试使用goby进行扫描,也是最早通过它报警漏洞发现192.168.12.8的445开放,且可能存在MS17-010,之后使用nmap和fscan以及nessus扫描验证,确认192.168.12.8以及其他数十个IP存在MS17-010漏洞
nmap批量扫描:
1 |
|
fscan定点扫描:
1 |
|
漏洞利用
打开msfconsole终端,搜索MS17-010的相关漏洞
1 |
|
在搜索到的相关模块中,选择exploit/windows/smb/ms17_010_eternalblue
1 |
|
设置Payload
1 |
|
注意!
网上大多数教程中,要求设置的Payload为:set payload windows/meterpreter/reverse_tcp
但在我的实验环境中,使用此Payload并未成功,具体分析为:
reverse_tcp:攻击机设置一个端口(LPORT)和IP(LHOST),Payload在测试机执行连接攻击机IP的端口,这时如果在攻击机监听该端口会发现测试机已经反向连接
bind_tcp:攻击机设置一个端口(LPORT),Payload在测试机执行打开该端口,以便攻击机可以接入
基于TCP的正向连接shell,因为在内网跨网段时无法连接到attack的机器,所以在内网中经常会使用,不需要设置LHOST
查看需要填写的相关参数、载荷等
1 |
|
设置目标被攻击主机的IP
1 |
|
设置监听主机IP
1 |
|
设置监听端口
1 |
|
开始攻击
1 |
|
注意!
开始攻击前,请确保本机的相关防护程序关闭,否则它们会变成内鬼
当出现WIN
则表面漏洞利用成功
这边我尝试getuid
查询用户,发现拿到的是系统权限
在shell
后,查看ipconfig
使用screenshot还可以截取被攻击机器当前的屏幕截图
利用拿到的shell
查看被攻击机器所开放的端口
1 |
|
发现3389端口没有开放,手动给它打开
1 |
|
显示successful
即为成功
再次确认3389端口是否开启
1 |
|
显示LISTENING即为监听中
注意!
远程桌面的默认端口是3389,为了防止管理员更改了远程端口给我们连接带来意想不到的情况,需要通过查看注册表键值确认远程桌面的端口是否为3389
1 |
|
若出现为0xd3d为正常,0xd3d为16进制的3389
添加一个新的用户
1 |
|
将新建的用户添加进管理员组
1 |
|
成功连接远程桌面