首页
社区
课程
招聘
[原创]CVE-2020-0618复现及分析
发表于: 2020-2-25 20:43 14224

[原创]CVE-2020-0618复现及分析

2020-2-25 20:43
14224

靶机

前端验证:浏览器访问http://ip/ReportServer,提示输入前面设置的用户名和密码,输入添加的用户名和密码即可。

攻击机

Windows 7 SP1 x64(注:尽量不要用Linux,抓取的数据包存在问题)

安装ysoserial

首先使用powershell打开ysoserial.net工具生成有效负载:

使用Burp进行浏览器监听

修改Burp的发送消息为有效负载触发漏洞:

对ReportingServicesWebServer.dll进行反编译,找到漏洞函数:

从代码来看,Microsoft.Reporting.WebForms.BrowserNavigationCorrector中的OnLoad()方法,首先获取ViewState中的值,并赋给value变量。对value变量进行非空判断,然后初始化LosFormatter对象,最后使用LosFormatter对象中的Deserialize()方法对value变量直接反序列化。

而对LosFormatter类的实例进行调用的位置位于Microsoft.ReportingServices.WebServer.ReportViewerPage中的OnInit方法:

由此可以定位到能触发漏洞的路径为ReportServer/pages/ReportViewer.aspx

官方仅仅在使用LosFormatter类时开启MAC验证来修复该漏洞。

 
 
 
 
 

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-2-26 09:47 被有毒编辑 ,原因:
收藏
免费 2
支持
分享
最新回复 (14)
雪    币: 14517
活跃值: (17538)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
2
mark,楼主辛苦了,希望下次能有图,方便学习O(∩_∩)O哈哈~
2020-2-25 21:02
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
3
pureGavin mark,楼主辛苦了,希望下次能有图,方便学习O(∩_∩)O哈哈~
我这里是可以看到图片的,是不是因为图床加载太慢了。。
2020-2-25 21:12
0
雪    币: 300
活跃值: (2472)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
没有图,mark
2020-2-25 21:49
0
雪    币: 14517
活跃值: (17538)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
5
有毒 我这里是可以看到图片的,是不是因为图床加载太慢了。。
只能看到代码,没有图片。。。
2020-2-26 02:00
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
6
pureGavin 只能看到代码,没有图片。。。
重新上传了图片
2020-2-26 09:47
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
7
niuzuoquan 没有图,mark
已更新
2020-2-26 09:47
0
雪    币: 26245
活跃值: (63297)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
8
pureGavin 只能看到代码,没有图片。。。
其实原来图片是有的,图片在国外,要科学方法才能看到
2020-2-26 16:17
0
雪    币: 83
活跃值: (1087)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
9
获取浏览器的validationkey  validationalg  generator viewstateuserkey 这四个值 诱导服务器反序列化我们特制的ViewState数据 就可以以System权限任意执行指令 
2020-2-26 20:41
0
雪    币: 14517
活跃值: (17538)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
10
Editor 其实原来图片是有的,图片在国外,要科学方法才能看到
现在上看雪都要科学了么??
2020-2-26 23:52
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
11
你说的这个是CVE-2020-0688 Exchange的那个漏洞吧
2020-2-27 17:10
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
12
pureGavin 现在上看雪都要科学了么??
是我失误了,图放在图床了,好像图床国内不好加载。。
2020-2-27 17:11
0
雪    币:
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mark,对ReportingServicesWebServer.dll进行反编译,是用的dnSpy?
最后于 2020-4-12 17:00 被huri编辑 ,原因:
2020-4-12 16:32
0
雪    币: 15187
活跃值: (16852)
能力值: (RANK:730 )
在线值:
发帖
回帖
粉丝
14
huri mark,对ReportingServicesWebServer.dll进行反编译,是用的dnSpy?
是的,dnSpy
2020-4-13 09:29
0
雪    币:
活跃值: (103)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
你好,想问您几个问题:
你用burp的漏洞复现也是配置了NTLM验证吗?
能不验证RCE吗?
查了下微软官方的文档,默认情况下,reporting services就是用的NTLM验证,所以不更改配置的情况下,只能通过NTLM验证?
2020-4-17 19:54
0
游客
登录 | 注册 方可回帖
返回
//