声明:本文所提到的所有问题均为虚构,环境也是自己搭的,使用的措辞轻浮、内容浅显、操作生疏,不足之处欢迎师傅们指点和纠正,感激不尽。
由于微信公众号推送机制改变了,快来星标不再迷路,谢谢大家!
0x00 前情提要
某十一前夕回家,发现家门口的地铁站修整施工一年多了,偷偷溜进去视察一下施工情况,已经进入调试阶段了,发现总控室的桌子上放着一份VPN使用说明,最后竟然附了一张连接的账号密码名单,好玩儿的这不就来了^_^(并没有)。
0x01 内网探测分析
1、进入该地铁站内网后,先简单进行内网探测,直接发现有多个开放102端口的设备(当时没截图,这次探测一个看一下吧),既然是地铁站,猜测该端口通常为运行S7comm/S7comm+协议的PLC所开放的通信端口;
2、既然端口都探测到了,不试一试怎么行,在不知道是否存在防火墙的情况下先浅浅尝试一些低危操作,进一步探测发现,设备都为西门子S7-300 PLC,其所使用的S7comm协议具有严重漏洞,所有的流量都为明文传输;
0x02 PLC流量分析
3、经过追踪,发现其中一个PLC的上级交换机,且该交换机为网管交换机;
4、直接随手一个弱账号密码admin/admin即可登录该网管交换机;
5、登录进入该交换机后,发现连接有多个PLC,并且有流量镜像的功能,于是将PLC的流量都镜像出来;
0x03 分析对应功能
6、经过几周陆陆续续的抓包分析,发现有上位机与PLC通讯,且偶有一些写入PLC内存地址的操作,使用布尔值作为功能的开关变量,猜想可能为控制的某些功能;
7、根据掌握的PLC读写的内存地址与值,构造攻击脚本并实地测试不同内存地址所控制的具体功能点;
0x04 发起总攻
8、设计一套非常可怕的破坏流程,实现站内信号灯变绿、列车发生事故后变成跑马灯,安全门在列车进站时打开、在列车发生事故后关闭禁止救援人员直接进入,列车出站时改变道岔使列车当场脱轨,然后控制按下紧急停止按钮。
0x05 总结
9、该地铁站暂未安装安全防护设备,且由于西门子S7-300
PLC使用的S7comm协议通信为明文传输,因此将其作为控制单元极具安全隐患,考虑到控制单元一般不宜更换,建议该地铁站将生产区使用防火墙进行隔离保护。
10、以上研究分析与渗透均在合法、授权范围内,此次渗透未造成任何事故发生。
攻击结果附图:
免责声明:
对于因使用、参考、传播本公众号安诺信安所提供的信息而导致的任何直接或间接损失、损害及后果,均由使用者本人承担和负责,公众号安诺信安及作者不为此承担任何责任。本信息的发布不代表任何形式的支持或认可,也不构成任何形式的建议或建议的依据。本信息的使用者应自行承担风险,并自行负责核实信息的准确性、完整性和适用性。本信息可能包含第三方的资料、链接或内容。这些第三方资料、链接或内容不受本公众号安诺信安及作者的控制,本公众号安诺信安及作者对其准确性、完整性、及时性、合法性、安全性等不作任何保证或承诺,也不对其内容的真实性、合法性、适用性、完整性、准确性、安全性等作出任何声明或保证。使用或参考这些第三方资料、链接或内容所造成的任何损失或损害,本公众号安诺信安及作者不承担任何形式的责任。本信息的内容可能会根据实际情况进行更改、更新、删除或修正,本公众号安诺信安及作者有权自行决定对本信息进行任何形式的修改、更改或删除,不另行通知。任何人士或单位如需要使用或参考本信息,应该事先确认本信息的适用性,并采取必要的预防措施,以避免因使用或参考本信息而导致的任何损失或损害。最后,本公众号安诺信安及作者保留对本信息及其免责声明的最终解释权,如有侵权烦请告知,我们会立即删除并致歉,谢谢!
★
欢 迎 加 入 星 球 !
代码审计+免杀+渗透学习资源+各种资料文档+各种工具+付费会员
进成员内部群
星球的最近主题和星球内部工具一些展示
加入安全交流群
关 注 有 礼
还在等什么?赶紧点击下方名片关注学习吧!
推荐阅读