对生物识别考勤机的一次简单渗透
在一次普通的红队行动中,我得到了客户的授权,对一个基于生物信息的考勤设备进行渗透。客户不仅用它来进行日常考勤记录,还用来控制某些特殊房间的人员流动。
虽然我以前并没有接触过这种品牌的机器,当然也更不可能有0day,但经过一番简单检测,我还是可以完全控制它。
以下就是我需要测试的设备。
在一开始,我就和该设备处于同一网络,而且已经清楚知道了它的IP地址。
就像往常一样,我利用nmap对设备进行了端口扫描,发现目标上运行着telnet和web服务。
看样子攻击只能从Telnet
或Webserver
开始,此外,我未能获得telnet的指纹。一开始我尝试使用默认凭证登录telnet服务,但是并没有用。于是,我开始瞄准Web服务。
从扫描信息来看,web服务的指纹是ZK Web Server 3.0
。
通过对用户手册的阅读,我更好地理解了ZK Web Server 3.0
的工作原理和内部架构。
随后在研究目标机器后发现这个web服务充满了漏洞,例如访问控制缺陷、会话固定缺陷、易受暴力破解的影响等等。
而危害最大的漏洞是这个web服务使用了默认凭证administrator:123456
,我借此以管理员身份登录了设备。
为了完全控制设备,我进入到备份设备数据的页面,看看是否有涉及敏感文件的操作。
很快我便发现,由于访问控制不当,在无需身份验证的情况下,你就可以直接访问系统数据的备份。
我利用这个数据备份页面下载一个.dat
文件,而该文件包含ZKConfig.cfg
文件的数据,而这个文件中记录了telnet服务的登录凭证。
现在,我能够以root身份登录telnet服务。
在登录后我迅速检索了下系统文件,发现固件已经在目标机器中被解压缩了。
于是我将整个文件系统挂载到本地机器上,慢慢分析所有文件。我可以看到webserver的所有源代码,可以对其进行仔细分析,看看是否有其他漏洞。
系统文件中还包含所有用户的敏感数据。下图是使用面部识别技术进入特殊房间的用户的照片。
此外还有一个SQLite数据库,记录了用户的详细信息,例如他们的身份凭证、指纹和其他生物信息。
我可以直接修改SQLite数据库中的数据,给任意用户进入特殊房间的权限。
我还使用了Firmwalker来提取固件中的一切敏感信息。
最后,这个考勤设备会使用API将所有数据备份到云服务器。因此,如果深入下去,也许可以对云主机进行一番渗透测试。当然,这并不在我的测试范围内,此次测试到此结束。
结论
像考勤机之类的物联网设备常常存在配置缺陷,任何人都可能通过简单的漏洞(例如默认密码、权限控制不严等)获取敏感数据,进而完全控制设备。物联网安全还有很长一段路要走。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
来源:https://medium.com/bugbountywriteup/pentesting-an-iot-based-biometric-attendance-device-10c0efd69392
最新评论