PLC漏洞

对菲尼克斯ProConOs认证缺陷的一个全球统计报告(Phoenix Contact Software ProConOs Authentication Vulnerability Global Census Report)

概述

在1月13日,ICS-CERT通报了菲尼克斯ProConOS和MULTIPROG存在认证漏洞,该缺陷可以导致攻击者在接入网络的情况下远程改变PLC内部的梯形图逻辑,缺陷的详细通报可以参阅(ICSA-15-013-03)。

关于缺陷的一些问题

ProConOS是德国科维公司(KW-Software GmbH)开发的用于PLC的实时操作系统,在菲尼克斯(PHOENIX CONTACT)的Inline系列中高端型号的PLC中,内部均使用了KW的ProConOS,在去年测试到过一台菲尼克斯Inline ILC 3XX的控制器,同样也发现了一些关键操作可以完成重放,以及没有认证、应用会话时序的问题,可以使用特定报文远程删除PLC内部工程,冷热启动PLC CPU等。

关于菲尼克斯Inline系列PLC的识别

菲尼克斯Inline系列PLC默认开放了较多的外部通用服务,比如Web,FTP,SNMP等服务,开放的服务均有较明显的Banner。Inline系列的PLC中存在一个PC WORX软件与PLC测试通讯状态的端口,通过向该端口发送特定报文,可以有效的识别Inline ILC整个系列的PLC设备,并从该端口返回当前设备类型,如下图
Phoenix_Contact_Inline_Enumerate1
Phoenix_Contact_Inline_Enumerate2
Inline系列的部分中高端使用ProConOS的PLC,数据操作、工程通信端口也使用了一个独立的TCP端口,正因为协议没有认证和时序的原因,我们构造特定的报文即可识别当前PLC使用的工程名、当前系统的版本等,可以更方便确认现场环境的信息。如下图
Phoenix_Contact_Inline_Enumerate3
Phoenix_Contact_Inline_Enumerate4

扫描情况简介

本次的扫描范围为全网IPv4地址,时间是在2014年12月上旬,识别全网存活的菲尼克斯Inline ILC的PLC有197条,使用ProConOS的菲尼克斯Inline ILC的PLC有108条。这也意味着数百台PLC将可以被远程删除工程或被替换工程。

菲尼克斯Inline系列PLC全网暴露数据统计

测试端口数据统计(TCP/xxxx):
国家 暴露数量
意大利 81
美国 18
西班牙 17
波兰 16
德国 15
土耳其 10
瑞士 9
比利时 4
瑞典 4
加拿大 4
荷兰 3
英国 3
俄罗斯 3
奥地利 2
法国 2
乌克兰 2
挪威 1
马尔代夫 1
捷克 1
保加利亚 1

图形化统计如下图:
Phoenix_Contact_Inline_PLC_ICSMAP_2014_12

 数据、工程通信端口(可以直接操作梯形图工程、停止冷热启动CPU的数据)(TCP/xxxxx):
国家 暴露数量
美国 72
意大利 9
加拿大 6
墨西哥 4
台湾 3
德国 3
捷克 2
法国 2
比利时 1
西班牙 1
波兰 1
韩国 1
日本 1
丹麦 1
埃及 1

情报分析

相信工程人员在做工程时,一般都是对PLC的名称或工程文件、变量点等按功能或用途来命名,那么一旦暴露在互联网可能就会被这个几个字符所出卖。来猜猜这是做什么的?
Phoenix_Contact_Inline_Enumerate5

About Z-0ne

Leave a Reply

Your email address will not be published. Required fields are marked *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据