CVE-2016-20026CVE-2016-20026是ZKTeco ZKBioSecurity 3.0软件中的一个严重安全漏洞。该漏洞源于软件捆绑的Apache Tomcat服务器中包含硬编码凭证。攻击者可以利用这些硬编码凭证无需任何认证即可访问Tomcat Manager应用。一旦成功访问Manager,攻击者可以上传包含恶意JSP应用的WAR档案文件。由于Tomcat服务以SYSTEM权限运行,攻击者上传的恶意代码将以最高系统权限执行,从而完全控制受影响的服务器。该漏洞的CVSS评分高达9.8分,属于紧急严重级别,影响机密性、完整性和可用性三个方面。ZKBioSecurity是一款广泛应用于企业门禁和考勤管理的生物识别安全解决方案,因此该漏洞可能影响大量使用该系统进行人员管理和访问控制的企业和机构。攻击者利用此漏洞可以窃取敏感的员工生物识别数据、修改门禁权限设置,甚至将受感染系统作为进一步攻击内网的跳板。
该漏洞的根本原因在于ZKTeco ZKBioSecurity 3.0在打包Apache Tomcat服务器时未修改默认或预设的凭证配置。具体而言,Tomcat的tomcat-users.xml配置文件包含了硬编码的管理员凭证。攻击者首先需要识别目标服务器上运行的ZKBioSecurity服务,然后使用这些硬编码凭证向Tomcat Manager应用发起认证请求。认证成功后,攻击者可以通过Manager的WAR文件上传功能将包含恶意JSP webshell的WAR档案部署到服务器。JSP webshell允许攻击者执行任意系统命令,由于Tomcat进程以SYSTEM权限运行,攻击者获得的是服务器的最高控制权限。攻击者可以利用此权限执行任意操作,包括但不限于:读取敏感文件、植入后门、横向移动到内网其他系统、窃取存储在ZKBioSecurity数据库中的员工指纹和人脸数据等生物识别信息。整个攻击过程不需要任何用户交互,也不需要事先获取任何有效凭证,完全依赖于软件中遗留的硬编码凭证。