CVE-2020-0668漏洞分析:Windows Service Tracing任意文件移动漏洞
摘要:Windows Service Tracing任意文件移动漏洞,此漏洞将影响从Windows Vista到Windows 10的所有版本的操作系统,但是Windows XP也可能会受到此漏洞的影响,因为XP系统中也包含此功能。
Windows Service Tracing任意文件移动漏洞,此漏洞将影响从Windows Vista到Windows 10的所有版本的操作系统,但是Windows XP也可能会受到此漏洞的影响,因为XP系统中也包含此功能。
Windows Service Tracing
Service Tracing在Windows平台上具有悠久的历史,该功能早在XP上就已引入。该功能可以为分析人员提供有关当前正在运行的服务和模块的基本调试信息。任何本地用户都可以通过编辑注册表项(HKLM \ SOFTWARE \ Microsoft \ Tracing)来配置它。
在Windows中,每个服务或模块对应一个注册表项,每个项包含六个值,我们主要针对其中三个,即EnableFileTracing(启用/禁用“tracing”),FileDirectory(设置日志输出文件地址)和MaxFileSize(设置日志文件的最大文件大小)。
启用EnableFileTracing后,目标服务将开始将其日志文件写入我们选择的文件路径。当日志文件超过MaxFileSize的大小时,它将被移动(即原始的.LOG后缀替换为.OLD),并在适当位置创建一个新的日志文件。
安全研究员James Forshaw发布了一个符号链接测试工具,该漏洞利用非常简单。我们只需要将目标目录设置为挂载点,指向\ RPC Control对象目录,然后创建以下2个符号链接:
1.创建一个从MODULE.LOG到我们文件之一的符号链接(文件大小必须大于MaxFileSize);
2.创建从MODULE.OLD到系统中任何文件的符号链接,例如“ C:\ Windows \ System32 \ WindowsCoreDeviceInfo.dll”。
最后,我们需要使用以“ NT AUTHORITY \ SYSTEM”权限为目标运行的服务触发文件“ move”操作,然后使用Update Session Orchestrator服务获取任意代码执行权限。
服务Tracing功能
如本文开头所述,任何本地用户都可以通过编辑注册表项(HKLM \ SOFTWARE \ Microsoft \ Tracing)来配置Service Tracing功能。
此时,通过使用Windows Sysinternals工具集中的AccessChk工具,我们可以看到普通用户具有相关注册表项下几乎所有子项的读写权限:
接下来,我们将以RASTAPI模块为例来演示漏洞利用。IKEEXT服务使用此模块,因此我们可以通过启动任何VPN连接来触发事件日志记录行为。下图显示了相关注册表项的默认设置,其他服务和模块也使用完全相同的值:
从本地攻击者的角度来看,以下值很有用:
通过设置这些值,我们可以执行以下操作:
1.将EnableFileTracing修改为0或1,以强制特定的服务或模块启动/停止将调试信息写入日志文件。
2.通过FileDirectory设置日志文件的特定位置。
3.通过MaxFileSize设置最大输出文件大小。
应该注意的是,我们不能选择输出日志文件的名称。日志文件的名称取决于调用的服务或模块的名称,但是我们可以通过符号链接解决此问题。
任意文件移动漏洞
方案1:MaxFileSize是默认值
在这种情况下,我们将路径“ C:\ LOGS”设置为日志文件的输出目录,并启用“File Tracing”功能:
接下来,我们需要生成一些事件以触发目标服务以开始写入日志文件。在这里,我们可以使用rasdial命令并与PBK文件配合以初始化VPN连接:
成功!日志文件由“ NT AUTHORITY \ SYSTEM”写入。当前的日志文件大小约为24KB:
方案2:MaxFileSize-自定义值
在先前的测试中,我们可以看到输出日志文件的大小约为24KB,因此这一次,我们将MaxFileSize的值设置为“ 0×4000”(16384字节大小),然后重新测试:
从“Process Monitor”捕获的事件中,我们可以知道:
1.该服务将获取日志文件的基本信息。我们可以看到EndOfFile的偏移量是23906,这也是当前文件的大小。 由于我们设置的最大文件大小为16,384字节,因此系统将确定没有更多可用空间。
2.该服务调用SetRenameInformationFile,其中FileName = C:\ LOGS \ RASTAPI.OLD。因为当前文件被认为已满,所以它将“ C:\ LOGS \ RASTAPI.LOG”更改为“ C:\ LOGS \ RASTAPI.OLD”。
3.该服务将创建一个新的“ C:\ LOGS \ RASTAPI.LOG”文件并开始写入数据。
文件移动操作由“ NT AUTHORITY \ SYSTEM”完成。因此,我们可以使用它来将用户拥有的文件移动到目标系统上的任何位置,例如“ C:\ Windows \ System32 \”。
漏洞利用过程如下:
1.创建(或复制)一个大小超过0×8000(32,768)字节的文件。
2.创建一个新目录,例如“ C:\ EXPLOIT \ mountpoint \”,并将其设置为指向“ \ RPC Control”的挂载点。
3.创建以下符号链接:
\RPC Control\RASTAPI.LOG -> \??\C:\EXPLOIT\FakeDll.dll (owner = current user)\RPC Control\RASTAPI.OLD -> \??\C:\Windows\System32\WindowsCoreDeviceInfo.dll
4.在注册表中配置以下值:
FileDirectory = C:\EXPLOIT\mountpointMaxFileSize = 0x8000 (32,768 bytes)EnableFileTracing = 1
5.使用Windows API中的RasDial函数来触发与RASTAPI相关的事件。
6.触发Update Session Orchestrator服务,并使用“ NT AUTHORITY \ SYSTEM”权限加载相关的DLL。
相关热词搜索:CVE-2020-0668 漏洞分析 Windows Service Tracing 任意文件移动漏洞 重庆网络安全
上一篇:POC编写:CNVD-2020-10487/CVE-2020-1938漏洞,tomcat服务器端口8009上的ajp协议漏洞,未经授权用户可读取网站目录中任意文件。
下一篇:“Collide+Probe”和“Load+Reload”:AMD处理器漏洞两种新型侧信道攻击,利用L1D缓存预测变量访问原本不可访问的数据。
人机验证(Captcha)绕过方法:使用Chrome开发者工具在目标网站登录页面上执行简单的元素编辑,以实现Captcha绕过
牛创网络: " 人机身份验证(Captcha)通常显示在网站的注册,登录名和密码重置页面上。 以下是目标网站在登录页面中排列的验证码机制。 从上图可以
2020-01-26 12:44:09 )8872( 亮了
自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
牛创网络: "自动发现IDOR(越权)漏洞的方法:使用BurpSuite中的Autozie和Autorepeater插件来检测和识别IDOR漏洞,而无需手动更改每个请求的参数
2020-01-30 14:04:47 )6288( 亮了
Grafana CVE-2020-13379漏洞分析:重定向和URL参数注入漏洞的综合利用可以在任何Grafana产品实例中实现未经授权的服务器端请求伪造攻击SSRF
牛创网络: "在Grafana产品实例中,综合利用重定向和URL参数注入漏洞可以实现未经授权的服务器端请求伪造攻击(SSRF)。该漏洞影响Grafana 3 0 1至7 0 1版本。
2020-08-12 14:26:44 )4301( 亮了
Nginx反向代理配置及反向代理泛目录,目录,全站方法
牛创网络: "使用nginx代理dan(sui)是http响应消息写入服务地址或Web绝对路径的情况。 写一个死的服务地址是很少见的,但它偶尔也会发生。 最棘手的是写入web绝对路径,特别是如果绝对路径没有公共前缀
2019-06-17 10:08:58 )3858( 亮了
fortify sca自定义代码安全扫描工具扫描规则(源代码编写、规则定义和扫描结果展示)
牛创网络: "一般安全问题(例如代码注入漏洞),当前fortify sca规则具有很多误报,可通过规则优化来减少误报。自带的扫描规则不能检测到这些问题。 需要自定义扫描规则,合规性角度展示安全风险。
2020-02-12 10:49:07 )3505( 亮了
整理几款2020年流行的漏洞扫描工具
牛创网络: "漏洞扫描器就是确保可以及时准确地检测信息平台基础架构的安全性,确保业务的平稳发展,业务的高效快速发展以及公司,企业和国家 地区的所有信息资产的维护安全。
2020-08-05 14:36:26 )2536( 亮了
微擎安装使用技巧-微擎安装的时候页面显示空白是怎么回事?
牛创网络: "我们在公众号开发中,有时候会用到微擎,那我们来看一下微擎安装的时候页面显示空白是怎么回事吧
2019-06-08 15:34:16 )2261( 亮了
渗透测试:利用前端断点拦截和JS脚本替换对前端加密数据的修改
牛创网络: " 本文介绍的两种方法,虽然断点调试比JS脚本代码替换更容易,但是JS脚本代码替换方法可以实现更强大的功能,测试人员可以根据实际需要选择适当的测试方法
2020-01-07 09:34:42 )1995( 亮了
从工业界到学界盘点SAS与R优缺点比较
牛创网络: "虽然它在业界仍然由SAS主导,但R在学术界广泛使用,因为它的免费开源属性允许用户编写和共享他们自己的应用程序 然而,由于缺乏SAS经验,许多获得数据分析学位的学生很难找到工作。
2019-07-13 22:25:29 )1842( 亮了
41款APP侵犯用户隐私权:QQ,小米,搜狐,新浪,人人均被通报
牛创网络: "随着互联网的不断发展,我们进入了一个时代,每个人都离不开手机。 但是,APP越来越侵犯了用户隐私权。12月19日,工业和信息化部发布了《关于侵犯用户权益的APP(第一批)》的通知。
2019-12-20 11:28:14 )1775( 亮了