CVE-2016-20025CVE-2016-20025是ZKTeco公司开发的门禁管理系统ZKAccess Professional中存在的一个高危安全漏洞。该漏洞属于不安全的文件权限(Insecure File Permissions)类型,CVSS评分达到8.8分,具有较高的安全风险。漏洞根源在于ZKAccess Professional安装目录下的可执行文件权限配置不当,Authenticated Users组被赋予了Modify(修改)权限,这使得低权限用户可以修改、替换系统关键的可执行文件。攻击者通过利用这一权限配置缺陷,可以将原始的合法可执行文件替换为包含恶意代码的二进制文件。当系统管理员或更高权限用户再次执行这些被篡改的程序时,恶意代码将以管理员或SYSTEM权限执行,从而实现权限提升。攻击者可以利用获得的最高权限执行任意操作,包括安装后门、窃取敏感数据、修改系统配置或进一步渗透内网。由于该漏洞需要认证用户身份才能利用,因此主要威胁来自于内部恶意员工或被入侵的合法账户。此类权限提升漏洞在企业内网环境中尤为危险,因为攻击者获得管理员权限后可以绕过许多安全控制措施。
该漏洞的技术本质是Windows文件系统权限配置错误。ZKTeco ZKAccess Professional 3.5.3在安装过程中将程序文件安装到默认目录(通常为C:\Program Files\ZKTeco\或类似路径),但安装程序未正确配置NTFS访问控制列表(ACL)。具体表现为:Authenticated Users组对安装目录下的可执行文件(如ZKAccess.exe、Plateserver.exe等)拥有Modify权限,而非仅限Read和Execute权限。Modify权限包含Write权限,使得攻击者可以覆盖原有文件。攻击者首先需要获取目标系统的低权限账户访问权限,然后定位ZKAccess Professional的安装目录。通过检查文件权限确认Authenticated Users组具有写入权限后,攻击者准备一个精心构造的恶意可执行文件,该文件在执行时会在后台创建新的管理员账户或直接启动一个高权限的shell会话。随后,攻击者使用低权限账户的身份将恶意文件写入目标位置,覆盖原始可执行文件。由于Windows系统允许文件在执行时被覆盖(只要没有进程正在使用该文件),攻击者只需等待系统重启或管理员下次手动启动程序即可触发恶意代码。整个攻击过程不需要任何高级黑客工具,仅需利用Windows内置的icacls、copy等命令即可完成。