利用固件修改攻击实施对西门子S7 PLCs的远程调试

在BLACKHAT 2024 ASIA大会上,以色列理工学院Eyal Semel等研究人员发表了题为《Debug7: Leveraging a Firmware Modification Attack for Remote Debugging of Siemens S7 PLCs》(利用固件修改攻击实施对西门子S7 PLCs的远程调试)的演讲,披露了他们对西门子软件PLCET 200SP和西门子S7-1500固件的突破性成果。
据介绍,在Black Hat USA 2022上展示的SOfT7研究中,研究人员发现西门子领先的软件PLC ET 200SP使用管理两个虚拟机的虚拟机监视器:一是与普渡模型上层通信的嵌入式Windows;二是运行可编程控制逻辑并操作现场设备的加密Adonis Linux(SWCPU)。研究人员提出了一种解密SWCPU的方法,并在Black Hat Europe 2023的研究中发布了实现该方法的工具。在此后的研究进展显示,远程攻击者若控制了Windows虚拟机,即可在运行时修改软件PLC(SWCPU),并用于远程调试西门子S7-1500固件。这一进展揭示了一种新的调试西门子S7 PLC固件版本的方法,并发现了一个被遗忘的调试标志,允许攻击者用任意ELF文件替换加密的SWCPU。利用此漏洞,研究人员通过挂钩系统调用和利用西门子专有Web服务器暴露的现有HTTP会话,修改了固件,实现了与SWCPU的远程通信和控制。Eyal Semel等人开发了一种新型调试器,可在SWCPU运行时设置断点并读写内存和寄存器内容。由于缺乏启动时的安全机制,便利这个调试器的安装得以持久化。这项研究对西门子S7 PLC产品线的未来发展研究具有重大影响,因为研究分析的S7-1500固件,几乎在所有西西门子的控制器产品中使用。此外,任何控制Windows虚拟机的远程攻击者都可以替换SWCPU,并使用已实现的通信渠道(WEB服务)与恶意C&C服务器建立连接并控制PLC。
这项研究成果的之所有具有较大的影响,不仅仅是涉及全球工业自动化企业西门子的看家产品,更在于其可能对S7系统的控制器的广泛危害。
其一就是影响范围广泛;研究人员开发的新型调试器是当前唯一已知能够动态分析西门子SWCPU固件的方法。这个可以被深入研究分析的SWCPU固件,该固件代码在西门子所有Simatic S7产品线中都有共享。可以断言西门子S7 PLC全线产品的安全性面临威胁。
其二,研究者还展示了如何开发一个持久性的PLC木马/病毒,而这个恶意软件不易被检测,能够在设备重启后仍然能够生存。

其三,当前对西门子PLC的保护措施还很弱,而且存在问题的PLC进行漏洞修复几乎是不可能的;

其四,这种攻击技术、路径和木马,正是恶意行为者关注的重点或说正在寻求的能力。

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试

利用固件修改攻击实施对西门子S7 PLCs的远程调试


原文始发于微信公众号(网空闲话plus):利用固件修改攻击实施对西门子S7 PLCs的远程调试

版权声明:admin 发表于 2024年5月21日 上午7:00。
转载请注明:利用固件修改攻击实施对西门子S7 PLCs的远程调试 | CTF导航

相关文章