众所周知,Windows系统为了防止胡乱对系统文件进行改动,对不同的组或用户名
对系统文件的权限进行了限制。
Windows将所有系统文件的所有者都设置为NT SERVICE\TrustedInstaller
,并默认仅允许Administrators
对系统文件读取
和读取和执行
,而没有允许完全控制
、修改
、写入
和特殊权限
。
有时,恶意程序为了更改系统文件,会先重新设置系统文件的权限。
360安全卫士在遇到这种情况,会弹出一个黄色的提示窗口,警告可能会有风险发生。然而,火绒安全软件个人版似乎对此风险行为的拦截存在漏洞。
为了简单地测试,我们使用一段简短的Windows批处理脚本,模拟一个恶意程序试图修改C:\Windows\System32\cmd.exe
的权限,以便之后对它进行某种更改。
@echo off
takeown /A /F C:\Windows\System32\cmd.exe
icacls C:\Windows\System32\cmd.exe /grant Administrators:F
echo 篡改权限完毕。
pause >nul
exit
使用管理员身份执行此批处理脚本。该脚本先更改了C:\Windows\System32\cmd.exe
的所有者,以便之后可以对其权限进行编辑,获取更多的控制权限。之后,再赋予了管理员组对cmd.exe
所有的权限。
执行后,火绒没有任何提示或反应,日志内也无任何记录。然而,我们在测试时却已开启了下图中高亮表示出的火绒自带系统加固
文件防护
规则,以及其它可能相关的规则。
很明显,这是火绒的一个疏漏。
目前,该问题已被反馈在火绒安全论坛上上。并且,之后,官方似乎也意识到了这个问题,对该漏洞设置了Bug ID 38826。
幸运的是,在官方将此漏洞修复前,我们并非束手无策。通过在火绒自定义规则
中导入一个自定义规则,我们将能够阻止部分类似行为,但仅限于来自命令行的权限篡改行为。