windows 快捷方式(.lnk)代码执行漏洞(CVE-2017-8464 )[附EXP生成工具]
最近看到网上曝光了一个windows远程代码执行的漏洞,黑客可以通过一个快捷方式在用户电脑上执行任意指令,于是便对该漏洞进行了部分分析。
1. 漏洞描述:
MicrosoftWindows .LNK 远程代码执行漏洞(漏洞编号:CVE-2017-8464),攻击者可以向用户呈现包含恶意的.LNK文件和相关联的恶意二进制文件的可移动驱动器或远程共享。当用户在Windows资源管理器或解析.LNK文件的任何其他应用程序中打开此驱动器(或远程共享)时,恶意二进制程序将在目标系统上执行攻击者选择的代码,成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。
2. 影响范围:
这个漏洞的影响范围比较广了,下面是从网上找的可以影响的系统,我本人在win7和win10两种上面测试过了。
|
1 |
Microsoft Windows 10 Version 1607 for 32-bit Systems |
|
2 |
Microsoft Windows 10 Version 1607 for x64-based Systems |
|
3 |
Microsoft Windows 10 for 32-bit Systems |
|
4 |
Microsoft Windows 10 for x64-based Systems |
|
5 |
Microsoft Windows 10 version 1511 for 32-bit Systems |
|
6 |
Microsoft Windows 10 version 1511 for x64-based Systems |
|
7 |
Microsoft Windows 10 version 1703 for 32-bit Systems |
|
8 |
Microsoft Windows 10 version 1703 for x64-based Systems |
|
9 |
Microsoft Windows 7 for 32-bit Systems SP1 |
|
10 |
Microsoft Windows 7 for x64-based Systems SP1 |
|
11 |
Microsoft Windows 8.1 for 32-bit Systems |
|
12 |
Microsoft Windows 8.1 for x64-based Systems |
|
13 |
Microsoft Windows RT 8.1 |
|
14 |
Microsoft Windows 10 for 32-bit Systems |
|
15 |
Microsoft Windows 10 for x64-based Systems |
|
16 |
Microsoft Windows 10 version 1511 for 32-bit Systems |
|
17 |
Microsoft Windows 10 version 1511 for x64-based Systems |
|
18 |
Microsoft Windows 10 version 1703 for 32-bit Systems |
|
19 |
Microsoft Windows 10 version 1703 for x64-based Systems |
|
20 |
Microsoft Windows 7 for 32-bit Systems SP1 |
可以看到基本上所有的windows的系统都存在这个问题。但是利用起来相对比较鸡肋,首先你得把快捷方式植入到对方电脑中,而后才可以考虑触发漏洞。
但是这就好像曾经的CVE-2012-0158一样,发送文档给用户导致触发,这种漏洞可以广泛被用于钓鱼攻击,水坑攻击,邮件附件攻击等,所以危害还是很大的,一不小心就中招了,所以,用户还是需要尽快把补丁打上。
3. POC
废话不多说,用python写了个生成该漏洞EXP的脚本,已经放在我的github上了,想要交流的可以去看看:
https://github.com/Securitykid/CVE-2017-8464-exp-generator
简单说明下测试过程:
先利用工具生成EXP:
指定需要执行的DLL的名称,这里是一个测试用的DLL,弹出几行计算器:
运行结果是生成26个快捷方式:
26个快捷方式的目的是保证DLL文件在任何一个盘符下都能被找到,举一个场景,将这26个快捷方式和DLL放在U盘里,那么不论U盘被电脑识别成哪一个盘符都能被执行。
执行条件:
打开包含快捷方式的文件夹,或者盘符(快捷方式为于该盘符下),或者点解该快捷方式,都能导致执行:
简单录了个GIF,测试效果如下:
本文中的EXP生成脚本用python写成,链接为:
https://github.com/Securitykid/CVE-2017-8464-exp-generator
欢迎交流学习
这个漏洞还是有一定危害的,希望看的朋友留个心,不要随意点击收到的邮件或者下载的文件中的快捷方式,并同时及时打上补丁,保证自己的权益不受侵害。
本文中涉及的内容只用技术交流,安全防范,学术交流,请勿用于非法用途。
欢迎转载,请注明出处
欢迎扫码关注公众号,安全小子,分享安全知识,技术,共同交流进步!

windows 快捷方式(.lnk)代码执行漏洞(CVE-2017-8464 )[附EXP生成工具]的更多相关文章
- [转帖]Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626)
Windows DHCPServer远程代码执行漏洞分析(CVE-2019-0626) ADLab2019-03-15共23605人围观 ,发现 4 个不明物体安全报告漏洞 https://www.f ...
- Windows CVE-2019-0708 远程桌面代码执行漏洞复现
Windows CVE-2019-0708 远程桌面代码执行漏洞复现 一.漏洞说明 2019年5月15日微软发布安全补丁修复了CVE编号为CVE-2019-0708的Windows远程桌面服务(RDP ...
- CVE-2017-8464 LNK文件(快捷方式)远程代码执行漏洞复现
北京时间2017年6月13日凌晨,微软官方发布6月安全补丁程序,“震网三代” LNK文件远程代码执行漏洞(CVE-2017-8464)和Windows搜索远程命令执行漏洞(CVE-2017-8543) ...
- Windows漏洞:MS08-067远程代码执行漏洞复现及深度防御
摘要:详细讲解MS08-067远程代码执行漏洞(CVE-2008-4250)及防御过程 本文分享自华为云社区<Windows漏洞利用之MS08-067远程代码执行漏洞复现及深度防御>,作者 ...
- CVE-2012-0003 Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞 分析
[CNNVD]Microsoft Windows Media Player ‘winmm.dll’ MIDI文件解析远程代码执行漏洞(CNNVD-201201-110) Microsoft Wi ...
- windows RDP远程代码执行_CVE-2019-0708漏洞复现
windows RDP远程代码执行_CVE-2019-0708漏洞复现 一.漏洞概述 2019年5月14日微软官方发布安全补丁,修复了windows远程桌面服务的远程代码执行漏洞,该漏洞影响了某些旧版 ...
- 【漏洞公告】CVE-2017-12615/CVE-2017-12616:Tomcat信息泄漏和远程代码执行漏洞
2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定 ...
- Tomcat代码执行漏洞(CVE-2017-12615)的演绎及个人bypass
0x00 漏洞简介 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞. 漏洞CVE编号:CVE-2017-12615和CVE-2017-12616. 其中 远程代码执行漏洞 ...
- 【漏洞公告】Tomcat信息泄漏和远程代码执行漏洞:CVE-2017-12615/CVE-2017-12616
2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017-12615和CVE-2017-12616,该漏洞受影响版本为7.0-7.80之间,在一定 ...
随机推荐
- AngularJS服务和路由
colnplie 网页加载的出现一次 link 元素每次改变的时候 **$watch** 监听列表 $scope.$watch("name",functio ...
- angularjs directive (自定义标签解析)
angularjs directive (自定义标签解析) 定义tpl <!-- 注意要有根标签 --> <div class="list list-inset" ...
- npm的理解
一 概念方面 npm的全称是node package manger ,是一个nodejs包管理工具,已经成为非官方的发布node模块包的标准.有了npm可以很快速的找到特定服务器要使用的包,进行下载, ...
- Java自学手记——struts2
struts2框架 struts2是一种基于MVC模式的框架,是在struts1的基础上融合了xwork的功能. struts2框架预处理了一些功能: >请求数据自动封装, >文件上传的功 ...
- spring框架-spring.xml配置文件
运行的时候会报错的,因为写到<bean>标签里面去了,肯定会报错的,要记得把注释删掉,就不会报错了,这样写注释是为了方便下次自己看. <?xml version="1.0& ...
- vim的tab键设定
多在windows上编程的童鞋可能习惯于感受tab键为4个空格的长度,不过在linux系统中一般默认设定tab键为8个空格长度来显示.事实上tab也确实是8个空格的长度.不过由于习惯问题,某些童鞋还是 ...
- jQuery点击缩略图切换大图代码
很多网站上都会有点击缩略图切换成大图的效果,下面来分享一下它的源码 还是先来看效果截图 运行文件 然后点击下一张 下面分享源代码 html文件 <!DOCTYPE html PUBLIC &qu ...
- 使用Linux环境变量
bash shell用一个叫做环境变量的特性来存储有关shell会话和工作环境的信息. 全局环境变量 这对shell 会话和所有生成的子shell都是可见的.局部变量只对创建他们的shell可见. 系 ...
- 玩玩微信公众号Java版之二:接收、处理及返回微信消息
前面已经配置了微信服务器,那么先开始最简单的接收微信消息吧~ 可以用我们的微信号来直接进行测试,下面先看测试效果图: 这是最基本的文本消息的接收.处理及返回,来看看是怎么实现的吧! 首先可 ...
- Java并发编程(2):线程中断(含代码)
使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回.这 ...