工控 ·

关于施耐德PLC以太网固件后门漏洞CVE-2011-4859的学习

初识工控安全,一星期来搜罗了百度几乎全网的工控安全的案例和相关文章,发现一次施耐德事件的血泪史尤其诱人。

实际测试了一下,通过语法“Schneider+Web”或者“NOE 771”在zoomeye或者shodan上搜索到了大批量的此类设备,并且选择国家为咱们的友国RU进行检测,发现结果还是很乐观的。

选择了一个目标进行查看,根据已有漏洞报告我们拿来主义,直接ftp上目标,使用漏洞公开信息中的默认账号密码进行登录。

控制器内文件一览无余,并且在/wwwroot/conf/下有权限可以任意新建文件:

访问web也可以使用公开漏洞信息中的默认账号密码进行登录查看基本的设备状况:

首次登陆“友情提醒”修改默认密码。

那么回归刚才ftp的测试结果,我们在conf目录下简历exec目录,此目录下上传一个通过逆向汇编修改过核心代码的bin固件,当厂商默认更新或者系统自动更新的时候自动下载我们的bin文件进行固件更新,后果可想而知,然而导致这样的更新只需要通过泛泛的网络攻击造成设备性能迟缓固然就会引起维护人员警觉,之后下意识既会更新固件。

这是老固件地址:https://github.com/ameng929/NOE77101_Firmware。可以用来分析,修改,上传测试。

也可以控制他升级。

Unity Pro是施耐德系列PLC的编程软件,Unity Pro 附带的 OSLoader软件可以完成PLC的操作系统固件升级。

选择FTP协议后,固件可以选择ftp以太网的方式下载,针对现已运行的低版本固件,输入IP后不需要验证(部分新版本以太网模块需要输入MAC地址确认)

OSLoader登录设备后会尝试远程读取文件系统,这样即可实现远程上传下载,攻击者可以通过替换固件的方式轻松让PLC宕机。

那么也达到了我们的目的。

至此,一次非常切身的模拟工控攻击的第一步完成。

参与评论