0x00 漏洞详情
2019年5月21日,sandboxescaper在github上传了一份win10任意文件删除的0Day代码:https://github.com/SandboxEscaper/polarbearrepo,这是从2018年8月开始sandboxescaper发布的第五个0Day。
该漏洞原理与sandboxescaper之前发布的漏洞原理类似(https://cert.360.cn/warning/detail?id=208606780533f78f0731544f1935f8b2)。 在Windows 10中有两个存放计划任务文件的目录:c:\windows\tasks和c:\windows\system32\tasks。第一个目录是因为历史原因保留的,第二个目录是现在使用的目录。
在较老的windows系统上计划任务文件会被放在c:\windows\tasks目录,后缀为.job。如果在Windows 10中想要导入较老系统的.job文件,需要把它放在c:\windows\tasks目录,使用较老系统的schtasks.exe和schedsvc.dll运行schtasks /change /TN taskname /RU username /RP password命令。
tsched::SetJobFileSecurityByName会对c:\windows\system32\tasks中创建的计划任务调用SetSecurityInfo函数, 而它是以system权限运行的,所以通过创建硬链接可以修改系统文件的权限,达到任意文件删除的效果。 sandboxescaper也发布了一段演示视频:
0x01 影响范围
该漏洞影响32位和64位的Window 10和Server 2016/2019。
0x02 防护建议
成功利用该漏洞需要知道一个普通权限的用户的用户名和密码。建议用户妥善保管用户名和密码,安装360安全卫士等终端防御软件拦截利用此类漏洞的攻击,不要打开来源不明的程序。
0x03 时间线
2019-05-21 漏洞详情公开披露
2019-05-22 360CERT发布漏洞预警