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

news2025/1/31 22:58:48

协议分析

流量分析

主要以工控流量和恶意流量为主,难度较低的题目主要考察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

IEC60870

  • 子协议
    • IEC101(任务相关)
    • IEC102(电量相关)
    • IEC103(保护相关)
    • IEC104(101的网络版)
    • IECASDU(基于101/104的应用服务数据单元传输)
  • 主要技巧
    • 筛选iec60870_asdu
    • 关注IOA的值
    • 可尝试用type进行分类

例题1 HNGK-奇怪的工控协议

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-w3GWEErL-1671529464977)(https://picture-ssh.oss-cn-beijing.aliyuncs.com/img/WEB202212101509327.png)]

(图中应为一半以上涉及modbus)

筛选条件iec60870_104,iec60870_asdu,分别查看IOA的值并看数据书否有异常或奇怪的地方

发现flag

image-20221210151352374

例题2 HNGK-协议分析

发现此题目存在多个连接,按分组筛选iec60870_asdu && tcp.stream == 0

image-20221210155353399

发现有些数据包是报错的,正确的包应该含有IOA的值iec60870_asdu && tcp.stream == 0 && iec60870_asdu.normval

还有五百多条数据,剩下的可以以TypeID为条件筛选,一个一个筛过去

(((iec60870_asdu && tcp.stream == 0)) && (iec60870_asdu.normval)) && (iec60870_asdu.typeid == 34)发现IOA的值对应的基本都是乱码,或者发现还有三百多条数据判断他是正常的

最后在typeid=9处发现两个等号收尾的以两字节为一组的数据

((((iec60870_asdu && tcp.stream == 0)) && (iec60870_asdu.normval)) && (iec60870_asdu.typeid != 34)) && (iec60870_asdu.typeid != 9)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ur2BOPfZ-1671529464979)(https://picture-ssh.oss-cn-beijing.aliyuncs.com/img/WEB202212101614117.gif)]

将其提取出来解base64错误,发现开头mZhx,而flag的base64对应值为Zmxh,猜测是前后颠倒两两一组

得到flag

题目难点在于连接过多,筛选复杂,出题人还算良心第一条连接就有flag,否则还要多次筛选tcp.stream;对于数据敏感性也是难点,再翻数据的时候能发现数据异常或特征;筛选小技巧typeid

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

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

相关文章

关于要不要转行做程序员的问题

写在前边: 种一棵树,最好的时间是十年前,其次是现在。 什么时候开始都不晚。 这篇文章废话少说,我作为一个普通本科电气工程及其自动化专业的人转行作为Python程序员来说的经历到现在已经工作两年了,距离培训整整过…

LabVIEW使用硬件抽象层适应不同的接口

LabVIEW使用硬件抽象层适应不同的接口 在实验室工作时,拥有不同品牌/型号的各种设备,有时(或多或少)具有相同的目的。为了缩短开发时间,想创建一个硬件抽象层,允许使用所有相同类型的仪器,并具…

操作系统实验6:地址映射与共享

本次实践项目有两个基本内容: (1)用Bochs调试工具跟踪Linux-0.11的地址转换过程; (2)实现基于共享物理页框的进程间内存共享。 知识点补充 GDT和GDTR 和一个段有关的信息需要 8 个字节来描述&#xff0c…

【3D目标检测】Orthographic Feature Transform for Monocular 3D Object Detection

目录概述细节网络结构正交特征变换模块其余部分概述 本文是基于单目图像的3D目标检测方法。 【2018】【OFT-Net】 研究的问题: 在图像表示中,物体的比例会随着深度的变化而变化;物体的外观随着视点的不同而不同;物体的距离&…

看漫画也能学Python?小学生都能学会,《看漫画学python 2》PDF中文超清版,可分享

学习Python的小伙伴大部分应该都知道《看漫画学Python:有趣、有料、好玩、好用(全彩版)》这本书! 《看漫画学Python》进阶版,在第1版的基础上讲解Python进阶知识,帮助读者完善Python知识体系,提…

点云Delaunay三角剖分(三维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 四面体网格是一种三维非结构化网格,它划分了一个三维域。这种类型的分区有许多有利的性质。例如,它很适合具有任意复杂几何结构的领域,它可以很容易地在局部细化和粗化(没有悬挂节点),并且它可以完全自动地创建…

GitHub上超强Python零基础入门学习资源,让你的学习事半功倍

根据2020年StackOverflow开发者调查报告,Python是世界上最受欢迎的语言之一,排名仅次于Rust和TypeScript。更令人惊讶的是,Python是开发人员最想尝试的语言。 如果你是一位使用Python的开发人员,而且希望提高自己的技术水平&…

【Numpy基础知识】使用genfromtxt导入数据

使用Numpy进行I/O操作 来源:Numpy官网:https://numpy.org/doc/stable/user/basics.html 文章目录使用Numpy进行I/O操作导包【1】定义输入【2】将行拆分为列【3】跳过行和选择列【4】选择数据类型【5】设置名称【6】调整转换【7】快捷键功能NumPy 提供了几…

JAVA面试(不同类型的公司特点)

工作那么多年面试过很多公司,同时也面试过很多求职者。作为一个JAVA程序员,10年风雨路,10年技术路,一路走来,实属不易,JAVA语言从诞生,到发展起来,到风靡全球,到如今的混…

java回顾:私服搭建

目录 一、搭建私服 1.1、搭建私服原因 1.2、nexus软件的安装 1.3、私服的使用 1.4、仓库介绍 1.5、从私服下载资源 1.6、下载失败 1.7、将资源上传到私服 1.7.1 问题 一、搭建私服 1.1、搭建私服原因 公司开发了jar包,可供其他项目组使用、无网络使用…

次世代培训——我们从游戏美术发展历程讲起

自90后们记忆最初的小霸王游戏算起,中国游戏大致经历了从像素时代-预渲染时代-初世代-中世代-次世代这样几个阶段的变革。有趣的是,当主机、PC游戏早已跨过了像素时代,手游的兴起和发展却依然要遵从这一发展规律从头开始,当人们已…

FineReport智能报表工具- CSS修改控件样式

1. 概述 1.1 使用场景 在实际项目中,为了让 FineReport 报表中的控件和页面风格一致, 可以通过 CSS 修改控件的显示样式。 如下图所示,希望参数面板上文本框控件的边框变为红色,字体颜色变为蓝色。 除更换控件字体、修改边框颜色…

从风控中那些被标准化定义的问题谈起

说到风控业务中被标准化的定义问题,作为风控人最应该来谈谈这个内容,尤其是在数字化的风控内容上。数字化风控的标准化程度较高,在互金经过了一番喷薄的发展后,对于SOP守则,业务问题的定义及留给后续从业者可借鉴的资料…

足球人生:青春不过几届世界杯

🎉花有重开日,人无再少年。将近一个月的卡塔尔世界杯正式落帷幕,见证了最伟大的世界杯决赛,新老两代球王的巅峰对决,节奏拉满。诸神黄昏,球王加冕,最完美的结局。究竟怎样的颠沛流离才配得上这一…

web--拉灯泡切换黑天与白夜的精美动画

功能: 进入界面会出现一个灯泡(下面有可以自由飘动也可以自由拉动的绳子),鼠标左键按住不松开可以拉动绳子,松开变化亮起,同时有拉响的清脆声响,把它放在web作业的设计里面绝对是非常非常不错的…

SQL注入总结复习

SQL注入总结复习 一、前提 1、web三层架构 学习SQL注入,前提必须要了解web程序的三层架构。 数据访问层(DAL):主要负责对数据库进行增删改查,将存储在数据库中的数据提交给业务层,同时将业务层处理的数据…

第七章 集合相关知识

什么是集合 为了存储不同类型的多个对象, Java提供了一系列特殊的类, 这些类可以存储任意类型的对象,并且存储的长度可变,被统称为集合。集合可以简单理解为一个长度可变可以存储不同数据类型的动态数组。集合都位于java.uti包中,使用集合时必须导入java.util包。 …

前端二面必会手写面试题汇总

实现Vue reactive响应式 // Dep module class Dep {static stack []static target nulldeps nullconstructor() {this.deps new Set()}depend() {if (Dep.target) {this.deps.add(Dep.target)}}notify() {this.deps.forEach(w > w.update())}static pushTarget(t) {if …

LeetCode刷题复盘笔记—一文搞懂动态规划之300. 最长递增子序列问题(动态规划系列第二十七篇)

今日主要总结一下动态规划的一道题目,300. 最长递增子序列 题目:300. 最长递增子序列 Leetcode题目地址 题目描述: 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除…

想要月入过万?不防尝试一下Python这个职业!

自从20世纪90年代初发布以来,Python一直相当火爆,在这二十多年里,它的流行程度远远超过了C、C#、Java甚至Javascript。 Python为什么受欢迎? Python迅猛发展背后的一个主要驱动力是它学习起来相当容易,使用起来功能强…