加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

工控安全MMS协议分析

发布时间:2019-09-24 16:10:41 所属栏目:教程 来源:佚名
导读:最近看了看工控安全相关内容,在此进行简单分析。 MMS简介 MMS(Manufacturing Message Specification)中文翻译为制造报文规范,在介绍MMS之前我们先简单科普一下IEC61850标准。 IEC61850是电力系统自动化领域唯一的全球通用标准,而本文主要介绍的MMS就是

对于结构类型数据,如SEQUENCE OF内容Value字段中是一个或多个数据的TLV,形成分层结构,从外层开始层层嵌套最后嵌套成最简单的数据类型为止。如下图所示。

工控安全MMS协议分析

最后一部分是MMSInitRequestDetail(MMS初始请求详细信息)主要由proposedVersionNumber、proposedParameterCBB、services Supported Calling组成,分别标识 相关参数和服务支持的参数,我们着重看一下最后一部分,存在着identify、fileopen等参数,很明显这部分就是标记着全包内容的管理。

2. initiate-ResponsePDU

工控安全MMS协议分析

我们再来看看initiate-ResponsePDU的内容,总体结构和initiate-RequestPDU相似,重复之处就不再多说了,这里重点看一下这几个部分。

  • negociatedMaxServoutstandingCalling:议最大服务端呼叫
  • negociatedMaxServoutstandingCalling:议最大服务端被呼叫
  • negociatedDataStructureNestingLevel:相关的数据结构嵌套级别

我们可以发现,initiate-ResponsePDU的这三条和上面initiate-RequestPDU的内容是相对应的,这是因为initiate-ResponsePDU的作用就是对initiate-RequestPDU的内容进行应答,所以要将传递内容进行检测,这也是为什么连这三条后面参数也是一致的。

再看mmsInitResponseDetail的内容,前两条也是作为对之前内容回答,内容一致就不分析了。直接看最后的serviceSupportedCalled,这一段内容里存在很多参数,主要作用就是对之前包中内容的回应,传递一个回复服务端呼叫的内容。

3. confirmed-RequestPDU

相比于之前的两个包,剩下的就简单多了,还是先看内容。

工控安全MMS协议分析

  • invokeID:调用者ID,作为数据包唯一标识存在
  • confirmedServiceRequest:确认服务请求,后接服务内容,如本次就是getNameList,像这样的服务还有诸如read、write、getVariableAccessAttributes、getNamedVariableListAttributes、fileOpen、fileRead、fileClose、fileDirectory接下来就是getNameList内容参数,如扩展对象类和扩展范围。

4. confirmed-ResponsePDU

工控安全MMS协议分析

基本内容和confirmed-Request一样,只是由confirmed-RequestPDU->confirmed-ResponsePDU、confirmedServiceRequest->confirmedServerResponse,具体的内容也由上个包的提出变成回答,这两个包都是相对应的,一问一答的形式存在。

2018年工业信息安全技能大赛(东北赛区)协议分析

关于MMS的基础知识上文已经介绍完毕了,下面我们来看一下一个工业协议分析题目。题目首先给出了一个智能电厂项目的IEC61850数据包,由于题目中已经提示MMS了,所以我们直接筛选所有MMS。一共不到两千个MMS数据包

工控安全MMS协议分析

首先尝试搜索flag关键字。

工控安全MMS协议分析

发现存在flag.txt,接着搜索,在1771包处发现一个confirmed-Request数据包,这个包的作用是fileopen,这只是告诉了我们存在这样一个有着flag.txt的文件,我们暂时没法看到,还得找到fileread或者filewrite,根据fileopen后面的72我们可以推测一下fileread和filewrite的位置,应该是在70~75之间,而且要在1764后面那么我们尝试找一下73。

工控安全MMS协议分析

可以看到invokeID=527,我们之前已经介绍过了invokeID的作用,所以直接根据这个查找对应的confirmed-Resonse包。

工控安全MMS协议分析

可以看到fileData,进行asc解码即可得到答案。

这题的另一种解法是通过MMS协议的结构编写脚本得到答案,像S7comm等协议相关题目都可以通过这样实现。

总结

MMS协议作为一个公有协议,但实施时间还不是很长,还有许多漏洞点可以挖掘,这篇文章只是按照我个人的思路基本的介绍了一下MMS这个协议,有一部分内容是根据相关资料自行总结猜测得出,有不对的地方希望各位可以指出。

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读