前言: 最近从一名技术潜移默化的成为了文档工程师,心情复杂的去当初我奔着来的工控实验室。
0x001 灵感一现
从网线的走向,到交换机路由,到上位机,到HMI,到PLC。一根根网线在我脑海里串起,突然灵光一闪回忆起正常部署PLC的时候身份验证环节好像很脆弱,建立连接时没有严格的身份认证,只需要有订货号(类似于产品序列号)就可以了。
那么我在内网中选择一台PC机当作上位机,安装博途组态软件(针对西门子Siemens-PLC进行管控的应用程序)是不是就可以对PLC进行操作了?如果可行的话,可能会导致PLC停止工作。
0x002 思路构想
首先使用博途(组态软件)正常连接PLC,需要新建项目→添加新设备→重点是订货号要匹配上。
重点就在这个订货号上,当时在想有没有可能通过其他方式获取到订货号?这个订货号感觉就是产品的序列号,有了它就能与PLC建立会话?
思路如下:
- 悄摸摸去现场设备上看;(可能性很小)
- 机房门口蹲守垃圾堆,捡包装盒;(需要碰运气,而且有些脏)
- 使用工具探测;(可行)
0x003 Goby探测信息实现管控
经过Google了半天,发现还真有这样的工具,首先发现的是Python写的,叫ISF。但是需要安装第三方库,折腾了好一会才搞好。然后我发现Goby也有识别工控设备的这个功能……而且在报文细节上做的更棒,还有端口扫描功能,Web页面浏览功能等。
有了订货号可以跟PLC交互后,理论上说是不是就可以任命一台同网段内主机做上位机了?经过测试还真行…完全新建一个项目后,利用Goby探测出的资产信息进行添加PLC,可以成功管控!(吃惊)
测试一下stop命令…
成功停掉了!告警灯疯狂闪烁!
事实证明事先的想法是可行的,如果打进内网了运气好可以直接拿到PLC,如果运气不好也能通过渗透同网段机器,任命上位机的方式拿掉PLC,起码多了一条思路。
0x004 亮眼的工控实验室
最后附一张工控实验室照片,上面好多设备被同事拆走带北京研究了。
文章来自Goby社区成员:Alert,转载请注明出处。
下载Goby内测版,请关注公众号:Gobysec
下载Goby正式版,请访问官网:http://gobies.org