西门子S7系列中间人攻击:流量劫持和转发(一)_plc 中间人攻击

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

定位PLC和上位机:
废话不多说,我们得先对网络架构摸个底呀,得知道谁是PLC谁是上位机,但是既然是要偷偷地劫持流量,肯定不能用Nmap、Plcscan这些主动映射工具,来通过网络发送数据包并进行分析,这样不符合中间人攻击的特性,得悄咪咪的探测,那用什么呢?GRASSMARLIN!
在这里插入图片描述
GRASSMARLIN只是被动地对工业设备进行映射,来帮助系统管理员、审计员或其它人员完成深度分析的工作,因其检测方式被动,GRASSMARLIN不会在网络上产生任何流量。它只和传统的数据包分析器一样,嗅探网络上的流量。所以我们选择它,安装链接如下https://github.com/nsacyber/GRASSMARLIN/releases/tag/v3.2.1
在这里插入图片描述
安装完成后,GRASSMARLIN可以采用分析捕获的数据包或者实时检测,这里我们找到了需要的PLC和上位机的IP。
在这里插入图片描述
在这里插入图片描述

获取物理地址:
接下来是获取PLC和上位机的物理地址,为什么要知道它们的MAC地址呢?因为当上位机发送数据包给PLC,首先应用层下发指令消息,传输层指定端口号(源端口和末端口均为102),网络层封装IP包头(原始IP和目标IP),接着到数据链路层处理并找到网卡,网卡会在数据包前封装一个帧头和帧尾,封装目标MAC地址和原始MAC地址。
那目标的MAC地址是怎么来的呢?通过ARP(地址解析协议)的广播请求,PLC设备收到后通过ARP协议单播应答告诉上位机,上位机此时建立ARP缓存表。所谓地址解析(address resolution)就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。这就是ARP协议要做的事情。
在这里插入图片描述
如上图所示,我构造一个简单的脚本获取双方MAC地址并和之前GRASSMARLIN获取的比对,简单使用Scapy模块,需要注意的点是conf.iface是用来设置选择网卡接收流量的,Windows机器上设置网卡名称或者网卡驱动比较麻烦,如果只有一个网卡,完全可以不设置。conf.verb=0是关闭输出的意思。(踩坑)

ARP地址欺骗:
首先,我们说几句关于Scapy的唠嗑,Scapy是一个强大的交互式数据包处理程序(使用python编写)。它能够伪造或者解码大量的网络协议数据包,能够发送、捕捉、匹配请求和回复包等等。它可以发送无效数据帧、注入修改的802.11数据帧、在WEP上解码加密通道(VOIP)、ARP缓存攻击(VLAN)等。简直无敌!
如下图所示,定义两个简单的函数,一个是还原恢复之前的网络,另一个是发送ARP欺骗的包,其中要注意的是参数op,op=2代表响应报文,op=1代表请求报文,我们需要积极地回应PLC和上位机,我在这我在这!我带了这个MAC地址!利用这一ARP的特性。
在这里插入图片描述
然后运行脚本,设置抓取含有PLC设备IP的数据包500个,显示运行成功。
在这里插入图片描述

读取信息:
接下来就是读取数据包里的信息了,如下图所示,我等到了上位机给PLC发送指令进行数据包交互,这次的PLC是S7-1200或者S7-1500,所以抓到的是S7comm-plus的包,当然实际操作中抓取不到通信数据也是很正常的,毕竟不可能一直无缘无故的发送指令或者进行停启操作等。
在这里插入图片描述
在这里插入图片描述
针对一条有用的数据,我使用wirkshark追踪TCP流查看具体的通信过程,可以看到有一条关于PLC设备的CPU信息,可以判断出是S7-1500的设备,这就相当于提取到关键的基础信息啦。
在这里插入图片描述

总结:
由此可见,我们在抓取的流量中,就可以获取到一些PLC的关键信息,可以以此建立一张关于PLC的拓扑图,甚至可以修改抓到的包发送错误的指令。你可以将中间人攻击者想象成一个无赖的邮政工作人员,他坐在邮局里,拦截了两个人之间写的信。该邮递员可以阅读私人邮件,甚至可以编辑这些信件的内容,然后再将其传递给预期的收件人。
本文实验只用于测试区,禁止对工控生产环境进行实际操作,否则后果自负。接下来两篇文章我将主要讲述中间人攻击的后续阶段,如何扩大战果,例如PLC的指纹检测和读写功能权限爆破等,以及如何防御中间人攻击。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值