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

协议分析

流量分析

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

常见的工控协议有:ModbusMMSIEC60870MQTT、CoAP、COTP、IEC104、IEC61850、S7commOMRON

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

CTF之协议分析文章合集

工控CTF之协议分析1——Modbus
工控CTF之协议分析2——MMS
工控CTF之协议分析3——IEC60870
工控CTF之协议分析4——MQTT
工控CTF之协议分析5——COTP
工控CTF之协议分析6——s7comm
工控CTF之协议分析7——OMRON
工控CTF之协议分析8——特殊隧道
工控CTF之协议分析9——其他协议
文中题目链接如下
站内下载
网盘下载:https://pan.baidu.com/s/1vWowLRkd0IdvL8GoMxG-tA?pwd=jkkg
提取码:jkkg

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—统计—协议分级中查看各协议占比

hngk是CTF (Capture The Flag)比赛中关于MMS(Multimedia Messaging Service)协议分析的题目。 MMS协议是一种用于在移动设备之间传输多媒体信息的协议。要解决这个hngk问题,我们需要先了解MMS协议的基本结构和特点。 MMS协议包括多个消息体,每个消息体都带有特定的头部和正文。在分析hngk题目时,我们需要检查MMS消息包的头部和正文,以确定其中所包含的信息。 首先,我们需要对MMS消息包进行解析,查看头部的字段信息。头部中通常包含了发送者和接收者的信息、消息的类型、MMS版本、时间戳等。通过分析头部信息,我们可以确定MMS消息的基本属性。 接下来,我们需要查看MMS消息包的正文内容。正文可以是文本、图片、音频、视频等多种媒体类型。我们需要仔细研究正文中的各个部分,以确定是否存在隐藏的信息。在hngk题目中,可能会有一些隐藏的命令、密码或者其他关键信息,通过分析正文内容,我们可以找到这些隐藏信息。 同时,我们还需要分析MMS消息包的编码方式。MMS消息可以使用多种编码方式进行数据传输,如Binary、Base64等。根据题目要求,我们可能需要对这些编码方式进行解码,以得到真正的数据。 总结来说,解决hngk问题需要对MMS协议的消息包进行逐层分析,包括头部字段、正文内容和编码方式。通过仔细研究这些信息,我们可以找到隐藏的命令或密码,从而解决这个题目。在这个过程中,需要运用MMS协议的相关知识和分析技巧。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Shadow丶S

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值