各种社交媒体网站上的多个账户都在宣传可编程逻辑控制器(PLC)、人机界面(HMI)和项目文件密码破解软件。买家可以通过运行卖家提供的针对特定工业系统的可执行文件来找回被遗忘的密码。
这样的广告提出了一个问题:"谁会买这个?"任何信息安全专业人员都会提醒不要从不受信任的一方下载和运行软件。以下列情况为例:一位名叫特洛伊的工程师刚刚被提升为高级工程师,而他的老同事赫克托在一家电力公司工作了30年后退休了。特洛伊需要更新赫克托在Automation Direct的DirectLogic 06 PLC上写的一些梯形逻辑。在启动PLC编程软件DirectSOFT后,一个密码提示弹了出来。
特洛伊不知道密码,而赫克托几个月前离开了,现在在一艘没有服务的船上度假。特洛伊在网上寻找答案,看到一个PLC密码破解软件的广告,决定试一试。特洛伊有安全意识的同事卡桑德拉警告说,不要在他们的OT环境中引入这种不必要的风险。但特洛伊坚持认为这是一项时间紧迫的任务。他购买了该软件并在他的工程工作站上运行。
特洛伊成功地恢复了PLC的密码,但几分钟后,他发现工程工作站的系统出现了异常。Troy请Dragos对密码"破解"软件进行逆向工程,确定它根本没有破解密码,而是利用了固件中的一个漏洞,允许它按命令检索密码。此外,该软件是一个恶意软件投放器,用Sality恶意软件感染机器,将主机变成Sality点对点僵尸网络中的一员。
德拉戈斯的研究人员证实,嵌入在恶意软件投放器中的密码检索漏洞通过串行连接成功地恢复了Automation Direct的DirectLogic 06 PLC密码。从用户的角度来看,他们只需要从Windows机器连接到PLC,然后指定COM端口进行通信,并点击"READPASS"按钮。一两秒钟后,密码就会显示在用户面前。
以前针对DirectLogic PLC的研究已经产生了成功的破解技术。然而,Dragos发现,这个漏洞并没有像历史上流行的利用框架那样破解密码的加扰版本。相反,一个特定的字节序列被恶意软件投放者发送到一个COM端口。捕获利用程序发送的串行通信允许Dragos研究人员在恶意软件投放器之外重新创建它。
该恶意软件包含一个纯串行版本的漏洞,要求用户有一个从工程工作站(EWS)到PLC的直接串行连接。Dragos的研究人员能够成功地通过以太网重新创建该漏洞,大大增加了该漏洞的严重性。这个漏洞被指定为CVE-2022-2003,并被负责任地披露给Automation Direct。他们已经发布了一个固件更新来修复这个问题。