先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
正文
定位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 (备注网络安全)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**