【实战】记一次某地铁站的沦陷

admin 2024年11月14日22:22:55评论5 views字数 890阅读2分58秒阅读模式

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

攻击结果附图:

【实战】记一次某地铁站的沦陷

【实战】记一次某地铁站的沦陷

原文始发于微信公众号(红队蓝军):【实战】记一次某地铁站的沦陷

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月14日22:22:55
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【实战】记一次某地铁站的沦陷https://cn-sec.com/archives/1639680.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息