工控CTF之协议分析6——s7comm

这篇具有很好参考价值的文章主要介绍了工控CTF之协议分析6——s7comm。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

协议分析

流量分析

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

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

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

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

S7comm

西门子设备工控协议,基于COTP实现,是COTP的上层协议,主要由三种类型(ROSCTR):Job(1)、Ack_Data(3)/Ack(2)、Userdata(7)

Job:下发任务/指令,机器收到任务/指令后回传数据确认收到,回传的内容就是Ack/Ack_Data

Ack_Data:带有返回数据,例如指令是查询内容,返回的就有要查询的东西

Ack:单纯确认,不含有数据

  • Job,主要有10种功能(Function)

    • Setup communication (0xf0) 启动、初始化
    • Read Var (0x04) 读参数
    • Write Var (0x05) 写参数
    • 下载
      • Request download (0x1a) 请求下载
      • Download block (0x1b) 要下载的数据,可能出现多次
      • Download ended (0x1c) 表示数据已发送完毕
    • 上传
      • Start upload (0x1d) 表示要上传东西,读取文件
      • Upload (0x1e) 上传内容
      • End upload (0x1f) 表示上传完成
    • PI-Service (0x28) 控制指令,控制一些程序,在题目中很少见
  • Userdata,用户自定义数据区,也包含功能指令,主要有6种功能组(Function group)

    • Mode-transition (0) 模式转换
    • Programmer commands (1) 执行
    • Block functions (3)
    • CPU functions (4)
    • Security (5) 安全相关
    • Time functions (7) 定时任务相关

例题1 2020ICSC湖州站—工控协议数据分析

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

发现不仅有s7,还有很多COTP,因为s7是COTP上层协议,s7数据都是通过COTP传输

筛选s7,读参数的请求内容会在返回数据中,写请求内容一定在发送数据中,根据不同功能分析数据包

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

看第二个写请求,发现参数转码为l,判断flag藏在写请求中,筛选所有写请求

(s7comm) && (s7comm.param.func == 0x05) && (s7comm.header.rosctr == 1)

提取所有写请求参数,转码得到flag

例题2 2020ICSC济南站—被篡改的数据

直接筛选s7comm,根据题目提示,篡改的数据,那么优先筛选写参数请求即write var

发现大量数据66,转码为f,猜测可能是flag的f字符,但是两千多条,先将其筛除,看剩下的

(((s7comm) && (s7comm.param.func == 0x05)) && (s7comm.header.rosctr == 1)) && !(s7comm.resp.data == 66)

剩下的数据可以直接看出就是flag,开头结尾有花括号,但是为了防止flag中含有f,重新筛一遍

直接看序号19987,即刚刚发现的l上一条,从这里开始提取得到flag

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

手动复制或者py脚本提取

例题3 枢网智盾2021—异常流分析

发现流量都是s7协议写入数据

(s7comm) && !(s7comm.header.rosctr == 3)

且发现写入数据内容都是ffff开头,先筛一下看看有没有不是ffff开头的

((s7comm) && !(s7comm.header.rosctr == 3)) && (s7comm.resp.data[0:2] != ff:ff)

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

这个就是异常流量,得到flag

例题3 枢网智盾2021—工控协议分析

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

前面初始化setup出错误,没有ack的setup,往后看也没有什么明显的异常了

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

发现本该是应答初始化的地方变成了返回read结果,且是明文

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

尝试解码

2020-工业信息安全技能大赛-湖州站-工控协议数据分析,CTF刷题,工控,安全,网络协议

得到flag文章来源地址https://www.toymoban.com/news/detail-781371.html

到了这里,关于工控CTF之协议分析6——s7comm的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 工控CTF之协议分析3——IEC60870

    流量分析 主要以工控流量和恶意流量为主,难度较低的题目主要考察Wireshark使用和找规律,难度较高的题目主要考察协议定义和特征 简单只能简单得干篇一律,难可以难得五花八门 常见的工控协议有:Modbus、MMS、IEC60870、MQTT、CoAP、COTP、IEC104、IEC61850、S7comm、OMRON等 由于工控

    2024年02月16日
    浏览(34)
  • 大尺寸工控机丨工控一体机丨工业计算机丨工业电脑与MES系统的联系

    MES系统是一种应用于制造业的生产管理系统。它将计算机技术、自动化技术和信息技术相结合,实现了生产线的数字化、智能化和自动化管理。MES系统可以实现对生产过程的实时监控、数据采集和分析、生产计划的制定和调整、生产过程的优化和控制、产品质量的保证和追溯

    2024年04月25日
    浏览(27)
  • RK3568工业开发板工控板说明

    HW356X-GKA是采用中高端的通用型 SOC,一款基于Rockchip公司RK3568处理器的工控主板。主板标配处理器为Cortex®-A55四核,最高主频2GHz的 RK3568 处理器, 内置4GB DDR4内存(最大8GB),32GB eMMC存储 。集成4核 arm架构 A55 处理器和Mali G52 2EE 图形处理器,支持 4K 解码和 1080P 编码集成了大量外

    2024年02月11日
    浏览(48)
  • 工业嵌入式电脑-5G智能工控机(功能及参数)

    产品概述              MGTR-W5121是唐山柳林推出的一款基于高通SM4350八核64位处理器的多网络制式高端 5G智能工控机 (工业嵌入式电脑),向下兼容4G/3G网络,同时支持Wi-Fi蓝牙无线传输功能。搭载Android+Linux双操作系统,10寸高清触摸屏,性能强大,多媒体功能丰富。该

    2024年02月10日
    浏览(38)
  • HDMI+钡铼ARM工控机:打造工业4.0时代的智能车间

    在深入探讨这款钡铼技术ARM工业计算机的功能特点时,我们发现其在实现车间实时管理、数据分析和决策支持方面的优势尤其突出: 通过HDMI接口连接至大型显示器或者智能电视,这款ARM工业计算机能够建立起一套完整的车间视觉管理系统,使复杂的生产数据转化为直观的可

    2024年04月14日
    浏览(38)
  • 工控安全—工控常见协议识别

    https://github.com/hi-KK/ICS-Protocol-identify 3.1 S7 3.2 Modbus 3.3 IEC 60870-5-104 3.4 DNP3 3.5 EtherNet/IP 3.6 BACnet 3.7 Tridium Niagara Fox 3.8 Crimson V3 3.9 OMRON FINS 3.10 PCWorx 3.11 ProConOs 3.12 MELSEC-Q 首先启动windows2003下的S7工控模拟器 启动完毕如下图: 可以看到相关的版本信息等等 使用kali进行探测 Kali: nm

    2023年04月15日
    浏览(25)
  • Linux comm命令教程:对比和分析文件内容(附案例详解和注意事项)

    comm ,又称为_compare common lines_命令,是一个简易的Linux文件比较工具,主要用于标识出两个已排序文件中的共同部分。该命令逐行比较两个文件,并以三列形式显示结果。 通常, comm 命令在所有的Linux发行版上都是可用的,这包括但不限于Ubuntu、Debian、CentOS,以及Fedora等。在

    2024年01月19日
    浏览(30)
  • 工控安全-Modbus协议

    Modbus协议是工业控制器网络协议的一种,此协议定义了一个控制器能够认识的消息结构,描述了一个控制器请求访问其他设备、回应来自其他设备以及侦测错误并记录的过程。 Modbus是一种应用层的报文传输协议,它既可以在物理层面上选择串口进行简单的串行通信,也可以使

    2023年04月24日
    浏览(34)
  • 2020年华数杯数学建模B题工业零件切割优化方案设计求解全过程文档及程序

    原题再现:    在大型工业产品中,如机床、轮船、飞机,常常需要很多的小零件,如螺钉、螺帽、螺栓、活塞等。在零件的生产过程中,第一步是需要依照零件产品尺寸从原材料中截取初级产品,这是零件制造的第一道工序。在这道工序中,不同的截取方案具有不同的材

    2024年02月05日
    浏览(43)
  • python通过S7协议读取西门子200smart数据

    发现网上很多关于python通过s7协议控制200smart的代码都失败,我猜应该是版本的问题。自己捣鼓了半天,终于测试成功   写PLC 写PLC用到的方法为 write_area(area,dbnumber,start,data) 说明如下:area表示往哪个区去写,如:plc.write_area(client.Areas.DB,1,2,bytes)                 dbnumber:如果是

    2024年01月25日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包