在互联网上经营假电厂一个月

2021-01-16 09:24:41

人们将互联网视为银行网站,博客和社交网络等服务的宿主。但是,这只是所有连接的一小部分。互联网也是众多物联网系统和机器的所在地。这些类型从简单的“智能”电灯开关到工业工厂中使用的机械,不一而足。

荷兰政府在年度出版物“ Cyber​​securitybeeld Nederland”(2019年)中指出的关注点之一是缺乏对关键数字基础设施的恶意数字(国家赞助)活动的了解。我们(荷兰人)不知道是谁在试图入侵我们的水坝,锁,堤防和桥梁。

通常用于获取有关数字攻击者的更多信息的系统之一称为蜜罐。这些机制检测未经授权使用计算机系统的尝试。您可以将其视为警察用来诱捕小偷的诱饵车的数字版本。对于这个特定的项目,我编写了一个小型的HoneyTrap侦听器(DTACT的开源项目),该侦听器可以与扫描s7comm协议上的设备的系统进行交互。

我决定模拟一个可编程逻辑控制器,简称PLC。特别是,PLC在核设施中的作用类似于价值调节器。 PLC与执行器和传感器连接以打开阀门,运行电动机和启动泵。从您当地主题公园的过山车到大型工业泵站的控制板,到处都可以找到它们。 PLC都在数字和物理空间中起作用。这对于恶意行为者可能非常有趣,因为有故障的系统可能会带来灾难性的物理后果。

我创建的模拟非常基础,不被视为“高交互性”。经过很少的互动,熟练的黑客就会知道该系统实际上是假的。但是,这不是我的问题,因为我的唯一目的是弄清楚谁负责最初的联系。尽管它很简单,但它仍然能够在伪造系统中断时欺骗简单的利用脚本。

西门子PLC使用SZL来显示其他机器的PLC类型。 SZL代表System Zustands Liste,而德语代表系统信息列表。 Internet扫描程序通过发出两个请求来利用此功能。模块ID请求和组件ID请求。然后,该响应由(互联网)扫描器解码,并用于编制索引。请参阅下面的Censys和Shodan的结果。

首先,使用三向握手建立TCP连接。之后,将COTP连接请求(CR)发送到机器。如果接受,则PLC将返回COTP连接确认响应。客户端系统现在将发送S7Comm作业请求,以建立名为s7comm的Siemens s7协议的连接。

现在一切就绪,客户端可以通过执行多个请求来开始检索有关PLC的信息。

上图显示了蜜罐需要设置为将其指纹识别为Siemens PLC的交互。它需要响应3个Read SZL请求。它们具有SZL ID 0x11和0x1c(模块ID和组件ID请求)。

除了实施SZL之外,还可以假冒执行漏洞以欺骗恶意行为者以为他们会破坏系统,这也很有趣。

一种禁用计算机的方法是使用CPU停止命令。这也是S7Comm协议的一部分,将禁用该单元。实施正确的响应后,我的蜜罐会假装被禁用。

对于所有Nmap用户:在蜜罐上进行网络扫描的结果,该蜜罐经过精心设计以模拟下面的工业PLC。

港口国服务102 / tcp打开iso-tsap | s7-info:|模组:6ES7 518-4AP00-0AB0 |基本硬件:6ES7 518-4AP00-0AB0 |版本:2.6.0 |系统名称:INTERN_VALVE_REG_O1 |序列号:S C-N5820302 |工厂标识:NUCL_POWER_GEN_05 | _版权所有:原始西门子设备服务信息:设备:已完成专用Nmap:在0.57秒内扫描了1个IP地址(1个主机已启动)

从蜜罐的角度来看,这就是Nmap探针的外观。

{“类别”:“ s7comm”,“日期”:“ 2020–12–08T21:23:32.541508039 + 01:00”,“目的地IP”:“ xxxx”,“目的地端口”:102,“有效载荷- hex”:“ 0300002102f080320700000000000800080001121120411440100ff09000400110001”,“有效载荷长度”:33,“ request.ID”:“ 17”,“ request.type”:“模块ID请求”,“ sensor”:“ services”,“ source-ip”: “ xxxx”,“ source-port”:53662,“ token”:“ bssglu3k2l04oeabnus0”,“ type”:“ ics”}

初始设置后,我等待通过扫描服务(例如Shodan和Censys)对系统进行索引。这些是实际机器而不是网页的搜索引擎。撇开这些差异,目标是相同的:将其记录在在线搜索引擎中以供所有Internet查找。优选作为实际的核反应堆而不是蜜罐。

第一个连接的系统是罗马尼亚的互联网扫描仪。机器解析为turtle.census.shodan.io,这意味着Shodan.io扫描仪开始索引假核反应堆中的阀门调节器!这在他们的网站上产生了以下记录:

当蜜罐在鲜为人知的托管服务提供商处运行时,它似乎还欺骗了Shodan创建的蜜罐探测器。

运营月份收到的大部分流量都来自美国。这是预料之中的,因为大多数Internet扫描程序都在此托管。特别是使用他们的ZGrab2扫描仪的Censys相当活跃,但是ipip.net每天平均两次扫描赢得了胜利。

当更深入地查看数据时,很明显,无法识别蜜罐收到的大多数请求。这可能有两个原因。首先,这种特定的蜜罐实施非常具体。最好用作内部网络的诱饵。这是因为它的交互性很低,并且尚未实现S7commPlus。其次,并非所有发送到蜜罐的流量都是发往设备本身的流量。甚至有人尝试将R​​DP数据包发送到计算机。

不幸的是,没有人试图通过向计算机发送CPU停止命令(例如https://www.exploit-db.com/exploits/19833)来主动损害PLC。

当过滤掉所有常规的大型互联网扫描仪时,我留下了一系列小型扫描仪和对模拟器真正感兴趣的人。

最引人注目的第一个域名是security.criminalip.com,这是一个规模较小的全球互联网扫描项目,因此并不特别针对蜜罐。

成绩最好的是来自telenet.be,这是比利时消费者的互联网提供商。这很有趣,因为它是有针对性的点击量。在查看请求时,很明显该系统尝试使用s7commPlus协议连接到我们的蜜罐。

接下来是来自瑞典托管公司的系统的流量。这是F-Secure提供的用于全球索引的系统。

第四个系统来自ovo.cs。它声称是服务提供商和提供服务的全球集合,其成员共享知识,资源和支持,旨在建立可持续,独立的在线业务。

最后,我们有一个指向cron.optisan.com.tw的系统,这很奇怪。网域无法解析,但是optisan.com.tw重定向到了出售武器的商店www.optisanoptics.eu。看来他们已经向端口102 / tcp上的蜜罐发送了多个GET请求,该请求不是s7comm协议的一部分。至少可以说很有趣。

Internet上正在积极扫描工业设备。不仅是对整个IPv4空间进行索引的大公司,而且对感兴趣的机器都可用的个人和组织也是如此。幸运的是,大多数研究人员收到的流量都是按照负责任的披露方式扫描整个IPv4空间的系统。但是,这并不排除也有人在互联网上寻找工业机器。

问:是否知道用于ICS安全的Purdue模型? 答:是的,但是设置3、4和5级会使这个小项目变得太大了。 问:您只跑了一个吗? 答:是的,至少对于这个项目。 作为DTACT项目的一部分,该模拟器也已成为更大的全球部署的一部分 问:很难创建模拟器吗? 答:实施吗? 不,HoneyTrap非常适合此类项目。 协议研究? 相当。 该协议知道多个迭代和实现… 问:为什么不使用Conpot? 答:我想要一个具有更多交互性,s7commPlus支持并且能够伪造系统漏洞的仿真软件。 另外,由于Conpot在其组件ID响应中使用一些静态值,因此变得易于检测。