【实战】记一次某地铁站的沦陷
2023-3-30 14:26:36 Author: 红队蓝军(查看原文) 阅读量:22 收藏

声明:本文所提到的所有问题均为虚构,环境也是自己搭的,使用的措辞轻浮、内容浅显、操作生疏,不足之处欢迎师傅们指点和纠正,感激不尽。


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、以上研究分析与渗透均在合法、授权范围内,此次渗透未造成任何事故发生。

攻击结果附图:



文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2NDY2MTQ1OQ==&mid=2247507655&idx=1&sn=861c114797aed65bc5390d554e9d9836&chksm=ce67647bf910ed6dbf46f07401b326a5fc7e6af608632766734f7646321153298ca3ab07dca5#rd
如有侵权请联系:admin#unsafe.sh