CoDeSys是可编程逻辑控制PLC的完整开发环境(CoDeSys是Controlled Development System的缩写),它支持IEC61131-3标准IL 、ST、 FBD 、LD、 CFC、 SFC 六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑子程序,功能模块等。在PLC程序员编程时,CoDeSys为强大的IEC语言提供了一个简单的方法,系统的编辑器和调试器的功能是建立在高级编程语言的基础上(如Visual C++)。
可知此漏洞与CODESYS软件的“通知”功能有关,正常运行软件,可见右侧有“通知”栏:
因此,当处于相邻网络,便可劫持通知中心,当用户点击“获取更多…”的时候便会导致命令注入从而实现任意代码执行。劫持攻击的方式可以是dns欺骗,重定向notifications.codesys.com,指向恶意攻击地址,启动一个http server,返回的内容是恶意通知Jason,如将”link_url”的值指向某个特定文件。
1. https://www.zerodayinitiative.com/advisories/ZDI-23-1105
2.https://www.cisa.gov/news-events/ics-advisories/icsa-23-236-05
原文始发于微信公众号(博智非攻研究院):【漏洞复现】CODESYS远程代码执行漏洞