工控CTF之协议分析2——MMS

news2025/2/3 21:08:36

协议分析

流量分析

主要以工控流量和恶意流量为主,难度较低的题目主要考察Wireshark使用和找规律,难度较高的题目主要考察协议定义和特征
简单只能简单得干篇一律,难可以难得五花八门

常见的工控协议有:Modbus、MMS、MQTT、CoAP、COTP、IEC104、IEC61850、S7comm、OMRON等

由于工控技术起步较早但是统一的协议规范制定较晚,所以许多工业设备都有自己的协议,网上资料数量视其设备普及程度而定,还有部分协议为国家制定,但仅在自己国内使用,网上资料数量视其影响力而定

MMS

工控领域的TCP协议,有时wireshark会将response包解析为tcp协议,影响做题,如果筛选mms时出现连续request包,考虑wireshark解析错误,将筛选条件删除手动看一下

  • initiate(可以理解为握手)

    initiate-RequestPDU

    initiate-ResponsePDU

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

    confirmed-RequestPDU

    confirmed-ResponsePDU

通常情况为

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

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

交互时的指令称为confirmedService

常见的confirmedService有

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

例题1 HNGK-MMS

image-20221210011846343

经过“握手”“分手”后开始传输数据,发现confirmedService的值均为4,查看是否有不是4的数据包(mms) && (mms.confirmedServiceRequest != 4)

发现均为4,无异常,那么flag基本就藏在数据流中了,一层一层查看数据

image-20221210012225855

发现domainID和itemID,分别对其过滤查看

((mms)) && (mms.domainId != "IEDRelay1") 发现domainID都是一样的值

再对itemID过滤,这里发现虽然itemID均不相同,但是都是LLN0开头的

image-20221210012841254

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

image-20221210013049220

66是flag中f的ascii码,猜测可能是十六进制,但是i、j明显不在此范围内,猜测可能存在偏移,这里猜测偏移6,因为字母l的十六进制为6c

image-20221210014759774

发现fl和ag,猜测前后每两字节取值,因为两数据取自不同的itemID,拼接flag并加上{}即可

例题2 HNGK-流量分析

image-20221210143411216

发现大部分均为getNameList获取对象名,回复包也是get到的数据,先查询有无包含flag字符串

image-20221210144138180

既然有列出目录再往后找,找到fileopen flag.txt

查看返回值,得到一个打开该文件的句柄或者ID

image-20221210144307835

往后发现再次列出目录打开flag.txt,尝试找是否有读文件操作即fileOpen,mms.fileOpen == frsmID,依次尝试得到的几个id,在第二次打开中即frsmID=87504092找到读文件操作

image-20221210144923154

找到这串请求的返回包即序号1801,得到一串图片base64

image-20221210145042684

将base64转图片得到flag

image-20221210145252975

判断题目类型

可以在wireshark—统计—协议分级中查看各协议占比

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103495.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于3D可视化的几个知识点

3D可视化,运用三维仿真技术实现信息感知、智能调度以及主动式运营维护,把复杂抽象的数据信息,以合适的人们视觉元素及视角用3D立体方式进行一比一还原呈现! 近些年,将繁琐的信息通过可视化的图表视觉化展现出来的应用场…

惠普Elite蜻笔记本系统损坏怎么U盘重装教学

惠普Elite蜻笔记本系统损坏怎么U盘重装教学,有用户使用的惠普Elite蜻笔记本系统受到了其他恶意程序的损坏,导致无法正常的开启使用。所以想要去进行电脑系统的重装。那么如何U盘重装电脑系统,一起来看看详细的重装步骤吧。 准备工作&#xff…

有哪些实用的软件开发项目管理工具?

给大家介绍下,目前最新的免费项目管理工具,希望对大家有所帮助。 1、 Co-Project智能项目管理工具 智能项目管理平台,是CoCode旗下的软件开发全生命周期的项目管理平台,涵盖了从需求、计划、设计、开发、测试再到交付的整个项目周…

青少年关联网络功能地形的性别差异

我们发现了个性化联想网络功能地形的规范性性别差异,包括腹侧注意、默认模式和额顶网络。此外,染色体富集分析显示,功能地形多变量模式的性别差异在空间上与x连锁基因的表达以及星形细胞和兴奋性神经元细胞类型的特征相耦合。这些结果突出了性…

实景三维模型色彩差异大,用模方与DasViewer直接对模型调色

在实际项目生产过程中,由于受到采集天气、设备、时间、季节、航高等各类因素的影响,重建后的三维模型尤其是大面积模型中,纹理不可避免的出现明暗不一、颜色不均匀的现象,导致后期处理时间与成本增高,影响项目工期。 三…

Apache Flink

目录 处理无边界和有边界数据 数据可以作为无边界流或有边界流处理 随时随地部署应用程序 以任何规模运行应用程序 利用内存性能 Apache Flink 起源于一个叫作 Stratosphere 的项目,它是由 3 所地处柏林的大学和欧洲其他一些大学共同进行的研究项目&#xff0c…

[附源码]计算机毕业设计Node.js湖南旅游景点网站(程序+LW)

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

Java码客过去的一周年

入坑伊始 2021年12月20日 我本身就是一名计算机科学与技术的大学生,应该也算是行内的科班出身,但是在2021年12月20日之前,也就是离19届大学生考研差不多一年的时间,那时候有一周的SSM网站编程实训课程,惊讶的是虽然学…

别再用 JWT 作为 Session 系统了,问题重重,后果很危险!

SON Web Tokens,又称 JWT。本文将详解:为何 JWT 不适合存储 Session,以及 JWT 引发的安全隐患。望各位对JWT有更深的理解! 十分不幸,我发现越来越多的人开始推荐使用 JWT 管理网站的用户会话(Session&…

从头到尾Spring概念,家族,核心技术使用,事务这一篇就够了!!!

目录 1.了解Spring家族 家族成员 Spring常用项目介绍 2.Spring Framework体系结构 概述 体系图 3.Spring框架提供的核心技术 IOC控制反转 1.IOC与Spring的关系 2.什么是Bean DI 依赖注入 IoC/DI技术实现 1.基于XML的实现 2.基于注解的实现 3.基于java的实现 AO…

【案例实践】InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作中的应用

【查看原文】InVEST实践与进阶及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中的具体应用 【专家】: 白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作;重点围绕生…

使用 .NET MAUI 开发 ChatGPT 客户端

最近 chatgpt 很火,由于网页版本限制了 ip,还得必须开代理,用起来比较麻烦,所以我尝试用 maui 开发一个聊天小应用,结合 chatgpt 的开放 api 来实现(很多客户端使用网页版本接口用 cookie 的方式&#xff0…

含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入)

所谓文无第一,武无第二,云原生人工智能技术目前呈现三足鼎立的态势,微软,谷歌以及亚马逊三大巨头各擅胜场,不分伯仲,但目前微软Azure平台不仅仅只是一个PaaS平台,相比AWS,以及GAE&am…

【云原生】k8s的pod基础

内容预知 1.pod的相关知识 1.1 pod的基础概念 1.2 k8s中pod的两种使用方式 1.3 pod 容器的常规使用流程 1.4 k8s中pod结构设计的巧妙用意 通常把Pod分为两类 2. 容器的分类 2.1 pause基础容器(infrastructure container) (1&#xf…

安装ZIMG 图片服务器

简介:zimg是图像存储和处理服务器。您可以使用URL参数从zimg获取压缩和缩放的图像。 zimg的并发I / O,分布式存储和时间处理能力非常出色。 您不再需要在图像服务器中使用nginx。在基准测试中,zimg可以在高并发级别上处理每秒3000图像下载任务…

【性能篇】29 # 怎么给Canvas绘制加速?

说明 【跟月影学可视化】学习笔记。 方法一&#xff1a;优化 Canvas 指令 例子&#xff1a;实现一些位置随机的多边形&#xff0c;并且不断刷新这些图形的形状和位置 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"…

openGauss的WDR报告解读

文章目录1.执行以下SQL命令,查询已经生成的快照信息。2.生成WDR报告。3.手工创建快照信息4.WDR涉及的数据表5.WDR报告解读在Oralce数据库中&#xff0c;遇到性能问题&#xff0c;我们通常会查看有无对应时间段的快照&#xff0c;生成awr报告并进一步分析&#xff08;AWR是Autom…

海量数据小内存!只出现两次的数以及中位数怎么找

文章目录题目一题目二实际上类似的题目类似的解法在之前已经有介绍过海量数据小内存&#xff01;如何找到高频数 海量数据小内存&#xff01;从未出现过的数在哪里 题目一 如何在 40 亿个无符号整数中找到出现次数只有两次的那些数&#xff0c;在只提供 1 G 内存的条件下 解…

Map集合概述、API 遍历方式(键值对集合)

注意&#xff1a; Map集合和Collection集合是两个不同类型的集合 Map集合体系特点&#xff1a; 常用API&#xff1a; 根据键找出值&#xff1a; map.get(key); 取所有键的集合和取所有值得集合&#xff1a; 因为key是无序不重复无索引&#xff0c;所以放入set集合&#xff…

锂电池电压和电量的关系

锂电池电压和电量之间,有一定的对应关系,通过对开路电压的测量,可以大致得出电池的剩余电量。不过用电压测量电量的方式有一定的不稳定性,例如放电电流、环境温度、循环、放电平台、电极材料等,都会给最后结果的准确与否带来影响。 电压和电量的对应关系是: 100%----4.…