工控CTF_MMS

参考文章

https://blog.csdn.net/song123sh/article/details/127358610

概况

MMS工控协议是基于MMS和TCP等的基础上,开发的一套移动消息交互解决方案

基本信息:

  • initiate(可以理解为握手)

initiate-RequestPDU

initiate-ResponsePDU

  • confirmed(可以理解为交互,即传数据)

confirmed-RequestPDU

confirmed-ResponsePDU

通常情况为

1轮initiate:即发送1个initiate-RequestPDU,接收1个initiate-ResponsePDU

n轮confirmed:直到会话主动关闭或被动断开即confirmed-RequestPDU和confirmed-ResponsePDU交替发送和接收

工控消息分类

在MMS工控协议中,对工控消息进行分类,引入了confirmedService和unconfirmedService两种消息服务类型

confirmedService:确认型消息服务。这类消息会在接收方产生确认信息,发送回发送方。

它包含以下3种消息类型:

  1. Acknowledgement:消息确认。发送方发送一条消息后,接收方返回的确认信息。它确认接收方已经正确接收该消息。

  2. DeliveryReport:投递报告。当接收方用户 확定已阅读某条消息时,可以选择返回一条投递报告给发送方。它报告消息的阅读状态。

  3. ReadReplyReport:阅读回复报告。接收方在阅读完一条消息的全部内容后,可以选择返回一条阅读回复报告,表明消息的阅读进度。

所以,confirmedService类型的消息都会在接收方产生某种形式的确认响应,并发送回发送方。这可以让发送方确定重要消息的接收、阅读等状态,实现可靠的消息交互。

常见的confirmedService有

对象操作
getNameList (1)
read (4)
write (5)
getVariableAccessAttributes (6)
getNamedVariableListAttributes (12)
文件操作
fileOpen (72)
fileRead (73)
fileClose (74)
fileDirectory (77)

在wireshark显示为 confirmedServiceRequestconfirmedServiceResponse

unconfirmedService表示非确认类型消息服务。这类消息在接收方不产生任何确认信息返回给发送方。

它包含以下2种消息类型:

  1. SIMPLE:简单消息。用于发送一般性消息,没有要求返回确认信息。
  2. ENHANCED:增强消息。支持发送富文本、图片、视频等多媒体消息,也没有要求返回确认信息。

所以,unconfirmedService类型的消息发送后,发送方无法确定其接收状态和阅读状态。这类消息主要用于发送一般性信息,没有严格要求可靠送达

实例

HNGK-MMS

经过“握手”、“分手”后开始传输数据

具体分析一条MMS

MMS
confirmed-RequestPDU
invokeID: 1
confirmedServiceRequest: read (4)
read
variableAccessSpecificatn: listOfVariable (0)
listOfVariable: 1 item
listOfVariable item
variableSpecification: name (0)
name: domain-specific (1)
domain-specific
domainId: IEDRelay1
itemId: LLN0$DC$Diag$dU
  1. 消息类型:Confirmed-RequestPDU。这是一条确认消息,属于confirmedService消息类型。

  2. invokeID:1。该消息的唯一标识,用于匹配确认响应。

  3. 服务类型:read (4)。这是一条读变量值的请求消息。

  4. 变量访问规格:listOfVariable (0)。消息请求读取的变量采用listOfVariable类型的变量访问规格。

  5. 变量数量:1 item。消息请求读取的变量有1个。

  6. 变量规格:name (0)。该变量使用name类型的变量规格进行表示。

  7. 域ID:IEDRelay1。该变量对应的域ID为IEDRelay1,表示它属于IEDRelay1这个设备或系统。8.

  8. 项ID:LLN0$DC$Diag$dU。该变量的项ID为LLN0$DC$Diag$dU,表示其全路径名称。

多查看几条,发现confirmedService的值均为4,这时就要用筛选语句了

(mms) && (mms.confirmedServiceRequest != 4)

无数据,说明信息藏在数据流里

那就对domainID和itemID进行筛选

(mms) && (mms.domainId != "IEDRelay1")

无数据,说明domainID都是一样的值

itemID不同,但开头都是LLN0

(mms) && (mms.domainId == "IEDRelay1") && !(mms.itemId contains "LLN0")

将结果拼接处理得到flag

工控CTF_MMS的更多相关文章

  1. Wireshark工控协议

    Wireshark是一个强大开源流量与协议分析工具,除了传统网络协议解码外,还支持众多主流和标准工控协议的分析与解码. 序号 协议类型 源码下载 简介 1 Siemens S7 https://git ...

  2. 【转】工控老鬼】西门子S7200入门&精通【1】S7200硬件大全

    转载地址:http://blog.sina.com.cn/s/blog_669692a601016i5f.html     工控老鬼提醒以下的信息和资料可能不全或者不准确,如有疑问可以查阅西门子中国网 ...

  3. 基于HTML5的Web SCADA工控移动应用

    在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在 ...

  4. 基于HT for Web的Web SCADA工控移动应用

    在电力.油田燃气.供水管网等工业自动化领域Web SCADA的概念已经提出了多年,早先年的Web SCADA前端技术大部分还是基于Flex.Silverlight甚至Applet这样的重客户端方案,在 ...

  5. 开源纯C#工控网关+组态软件

    一.   前言 在园子潜水也七八年了.说来惭愧,这么多年虽然一直自称.NET铁杆粉丝,然仅限于回几个不痛不痒的贴,既没有发布过代码,也没有写过文章. 看着.NET和C#在国外风生水起,国内却日趋没落, ...

  6. 开源纯C#工控网关+组态软件(七)数据采集与归档

    一.   引子 在当前自动化.信息化.智能化的时代背景下,数据的作用日渐凸显.而工业发展到如今,科技含量和自动化水平均显著提高,但对数据的采集.利用才开始起步. 对工业企业而言,数据采集日益受到重视, ...

  7. 开源纯C#工控网关+组态软件(八)表达式编译器

    一.   引子 监控画面的主要功能之一就是跟踪下位机变量变化,并将这些变化展现为动画.大部分时候,界面上一个图元组件的某个状态,与单一变量Tag绑定,比如电机的运行态,绑定一个MotorRunning ...

  8. Web SCADA 电力接线图工控组态编辑器

    前言 SVG并非仅仅是一种图像格式, 由于它是一种基于XML的语言,也就意味着它继承了XML的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步.如SVG可以内嵌于其他的XML文档中,而SVG文档中 ...

  9. 电力 Web SCADA 工控组态编辑器

    前言 SVG 并非仅仅是一种图像格式, 由于它是一种基于 XML 的语言,也就意味着它继承了 XML 的跨平台性和可扩展性,从而在图形可重用性上迈出了一大步.如 SVG 可以内嵌于其他的 XML 文档 ...

  10. 开源纯C#工控网关+组态软件(十)移植到.NET Core

    一.   引子 写这个开源系列已经十来篇了.自从十年前注册博客园以来,关注了张善友.老赵.xiaotie.深蓝色右手等一众大牛,也围观了逗比的吉日嘎啦.精密顽石等形形色色的园友.然而整整十年一篇文章都 ...

随机推荐

  1. Linux部署Apache 网站服务器(httpd服务)

    一.项目导入: 某学院组建了校园网,建设了学院网站.现需要架设Web服务器来为学院网站安家,同时在网站上传和更新时,需要用到文件上传和下载,因此还要架设FTP服务器,为学院内部和互联网用户提供WWW. ...

  2. P2421-荒岛野人Savage题解

    好久没写题解了啊 洛谷P2421 荒岛野人 题目大意:有一个有很多洞的岛上,住了\(n\)个野人,每个野人的初始位置为\(c[i]\),换洞的速度为\(p[i]\),寿命为\(l[i]\).要求求出洞 ...

  3. sass 导入@import详解

    @import ​ Sass 拓展了 @import 的功能,允许其导入 SCSS 或 Sass 文件.被导入的文件将合并编译到同一个 CSS 文件中,另外,被导入的文件中所包含的变量或者混合指令 ( ...

  4. C#简易商城收银系统v1.1简单工厂实现(2-2)

    C#简易商城收银系统v1.1简单工厂实现(2-2) 当初: C#简易商城收银系统v1.0 现在: 用之前的工厂模式对商城收银系统v1.0进行升级 可以参考之前的 C#简易商城收银系统v1.0 随笔  ...

  5. 【昇腾开发全流程】AscendCL开发板模型推理

    前言 学会如何安装配置华为云ModelArts.开发板Atlas 200I DK A2. 并打通一个Ascend910训练到Ascend310推理的全流程思路. 在本篇章,我们继续进入推理阶段! 推理 ...

  6. 理解太阳辐射 DNI DHI GHI

    理解太阳辐射 DNI DHI GHI   DNI: Direct Normal Irradiance 阳光从太阳盘面直接照射到与光路正交的表面,称作直接辐射简写为 DNI. DHI: Diffuse ...

  7. nginx使用lua waf防火墙来做防CC配置

    nginx添加lua模块 启动和安装nginx yum install -y nginx systemctl daemon-reload systemctl enable nginx #为了实验方便这 ...

  8. Win11 LTSC 中文版来了,丝般顺滑,极速响应

    最近网络上出现了泄露的Win11的LTSC版本,版本号为Build 26100.1,据息,该泄露版是微软提供给OEM厂商测试用的,是今年下半年的Windows 11 LTSC RTM版的正式版本,却被 ...

  9. LeetCode 39. Combination Sum 组合总和 (C++/Java)

    题目: Given a set of candidate numbers (candidates) (without duplicates) and a target number (target), ...

  10. 腾讯视频遇到“前设备播放4K可能引发卡顿等异常,建议降低清晰度”

    腾讯视频遇到"前设备播放4K可能引发卡顿等异常,建议降低清晰度". 解决方法: 在菜单-设置-播放设置-勾选"开启硬件加速"-应用,然后退出腾讯视频,重新打开腾 ...