2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP

文章目录

    • 一、协议分析 - modbus
    • 二、协议分析 - 异常的流量
    • 三、协议分析 - S7Error
    • 四、协议分析 - OmronAttack
    • 五、组态编程 - 工程的秘密
    • 六、组态编程 - 工程的秘密
    • 七、组态编程 - 简单的计算
    • 八、组态编程 - 交通灯
    • 九、组态编程 - 有趣的转盘
    • 十、应急处置 - 登录日志分析
    • 十一、应急处置 - 设备运行状态分析
    • 十二、恶意程序分析 - 样本分析
    • 十三、恶意程序分析 - 恶意的指令
    • 十四、固件分析 - 固件后门分析
    • 十五、固件分析 - 固件加密分析

入职的第一场比赛,最后一分钟被超10多名,心态崩了,神仙打架,未进决赛。最终团队排名 25+,个人得分 2015分,排名第 9。

一、协议分析 - modbus

黑客通过modbus协议向他的同伙发送了一条秘密信息,通过流量设备我们抓取到了相关的流量包,你能根据流量包找到这条信息么?

题目分析 modbus 协议,先筛选 modbus 协议,然后随便选择一条数据包右键进行 TCP 流跟踪,如下:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第1张图片

可以直接看到 flag 字样,直接筛选即可。
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第2张图片


二、协议分析 - 异常的流量

请对提供的流量进行分析,发现可能存在的异常,找出flag,提交格式:flag{xxx}。

第一步:对长度排个序,看异常数据包的长度会不会跟别的数据包有差异。发现长度都是 861,看不出什么。
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第3张图片

随便截图里找一条数据包,右键TCP流跟踪:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第4张图片

分离TCP 流查看,发现几段16进制片段:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第5张图片

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第6张图片

拼接后 Hex 解码得:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第7张图片

提交 flag {EnergyRevolution} 答案正确。


三、协议分析 - S7Error

某工厂的工程师发现有一台西门子设备存在资源异常,请分析并找出异常流量的数据包编号。

题目提示是资源异常,说明响应包有对应错误状态码:

回包 error code 分类:

0x00 No error 没有错误
0x81 Application relationship 应用关系
0x82 Object definition 对象定义
0x83 No resources available 没有可用资源
0x84 Error on service processing 服务处理中错误
0x85 Error on supplies 请求错误
0x87 Access error 访问错误

对照状态码,所以应该去筛选 0x83, 筛选命令为:s7comm && s7comm.header.errcod == 0x83

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第8张图片

得 flag{213056}, 答案正确。


四、协议分析 - OmronAttack

某工厂的工程师发现有一台设备存在异常,抓取流量后发现了黑客的端倪,你能协助他分析黑客留下的痕迹吗?

这道题是赛后做出来的。题目标题为 OmronAttack, 自然先筛选 Omron 协议数据包:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第9张图片

我有个习惯喜欢先对数据包长度排个序,看看有没有长度不同的数据包

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第10张图片

看到8条可疑数据包

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第11张图片

不像是简单的 HEX 解码,先根据流量包编号从小到大拼接数据

在这里插入图片描述

分析最后一个数据包的 ahevf nu): ,两两交换发现是 have fun:) , 这里可能是在提示我们对上面加密字符串字母进行两两交换,编写脚本得:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第12张图片

f94ScF/rv0jUS2+fs04MH+xChkzBMy4dI7R7BucEM1CkzcyJU1Au3XnH 这串密文如何解密呢?秘钥肯定是在流量里,我习惯开启 tcp 流跟踪去过滤筛选一下:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第13张图片
发现特别多 FINS………, 分流导出两份数据文本 :

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第14张图片

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第15张图片
Vscode分别打开这两个文件把 FINS………等大量相同的字符串全局替换成空字符得如下:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第16张图片

9600 端口 -> 49921 端口发现一串可疑字符串。5ae1e174746f6f64647373a5a56b

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第17张图片

(tips: 无头绪的时候不妨试试流跟踪, 刚才找的加密字符串通过流跟踪也很快能找到)

5ae1e174746f6f64647373a5a56b 看着像md5编码,但是数了一下一共有24个字符,md5常见是16或者32个字符,发现中间有好多重复的,去重复得 5ae1746f6473a56b,刚好是16位,拿去md5 解密一下:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第18张图片

按理来说,出题方给的 md5 肯定能解开,是不是漏了什么信息。回想一下,我们密文之前做了两两交换,是不是说这串 md5 也需要两两交换才是正确的?使用刚才编写的脚本得:
a51e47f646375ab6,再拿去解密一下:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第19张图片

解密成功,提示rabbit, 说明是现在密码学中的 rabbit 加解密,使用 CyberChef 工具进行解密:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第20张图片

为什么解密不了?试了好几次,都没效果。回想自己开发数据加密如AES, RSA 加密,喜欢把加密数据再 Base64 编码,或许这里也对加密数据做了一次 Base64 加密,最终结果如下:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第21张图片

成功解开此题 flag{40d3b450-8ea3-46bb-b2b8-e69a3d7a50b3}


五、组态编程 - 工程的秘密

小李刚入门自动化领域,学习了组态编程技术,他将一段秘密信息放在了组态文件中并把他藏了起来,你能把他找出来么?

题目给了一张图:
看图片大小,可以排除是图片宽高遮挡问题。使用 binwalk 看下 png 是不是藏了东西:
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第22张图片

啥也没有。试试 CTF的图片隐写题中有一种常见的题型——基于LSB原理的图片隐写。使用zsteg 工具,输入 zsteg -e b1,rgb,lsb,xy flag.png -> res.zip,解压res.zip 里面有一个12.cmp 的文件。

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第23张图片

结合题意,是组态王软件的备份文件,使用组态王恢复工程:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第24张图片2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第25张图片


六、组态编程 - 工程的秘密

组态工程文件被黑客篡改,导致程序画面功能出现问题,请协助分析组态程序,修复画面功能至正常。答案为flag{修复画面的脚本命令内容转换成HEX格式的前8位}

这类工控题要下载各种工控软件,这类软件还大装半天,比赛装软件就半天。这题是别的师傅做的,temp.MCP 查找一下对应软件打开,题干提示,画面出错,要修复画面的脚本命令内容,属性可以看到启动脚本、循环脚本、退出脚本这种。使用McgsPro版本组态软件打开, 仿真跑起来后测试功能,发现 有个窗口无法关闭

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第26张图片

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第27张图片

还可以看到这里脚本程序

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第28张图片看官方文档找到关闭窗口的脚本函数是这个

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第29张图片
然后hex一下 前八位就是 21436C6F, 即 flag{21436C6F}


七、组态编程 - 简单的计算

初入自动化的小王被单位的工程师出题,假设FC1块的IN1接口DB1.DBW0数值为900,IN2接口为360,IN3接口为20后,FC块将获取到接口的数据并加以计算最终由OUT接口DB1.DBD6输出结果是什么? flag格式为flag{}。

打开文件发现有一个.ap16的文件,使用博途V16打开该文件:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第30张图片
该题去年振兴杯考过一模一样的题,签到题。打开PLCSIM Advanced软件,以及博途v16软件。

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第31张图片
将题目中的FC1块的IN1接口DB1.DBW0数值为900带入其中运行仿真程序计算出结果:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第32张图片
得到flag: flag{1.985294}


八、组态编程 - 交通灯

附件是一个交通信号灯的一些资料,请你分析出当按下启动按钮后,信号灯启动控制过程中,信号灯亮、闪、灭的情况。方向及状态代号如下:东西:EW, 南北:SN, 红灯:R ,绿灯:G ,黄灯:Y, 亮:T ,闪:L 灭:F ,时间:S (1S,2S,3S,4S,5S),交通灯在一个周期内,按红绿黄灯顺序依次找出东西南北红绿黄灯的亮灭情况。如流程:南北红灯亮20S灭,绿灯亮10S闪烁灭,黄灯亮4秒闪烁3秒灭,可写为:SNRT20SF-GT10SF-YT4SL3SF。注:正确答案写成EWXX-XXXX-XXXX-SNXX-XXXX-XXXX为正确的flag。Flag格式为:flag{}

给了两张图,一份交通灯.doc 资料,但是word资料打不开。010editor 查看交通灯.doc发现文件头为 AC1024, 是 CAD (dwg),文件头:41433130。

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第33张图片

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第34张图片
word 转换为 dwg 后缀拿去在线 cad 转 png 网站进行转换得:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第35张图片
东西红灯Q 0.5, 东西绿灯 Q 0.3, 东西黄灯Q 0.4,南北红灯Q 0.2,南北黄灯 Q0.1, 南北绿灯Q 0.0,

结合这篇文章理解:https://www.wolai.com/ctfhub/s3A1zqErH54BGuyeWbWFgX

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第36张图片
程序段遇到 T37 就会激活定时器。程序段2、6、7为连续时间,3、4、5为连续时间

程序段2:0~35s --> T35F
程序段6: 35 ~ 50s亮, SM0.5 提供一个周期为1秒钟的时钟脉冲,50 ~ 53s 闪烁 -->T15SL3SF
程序段7:53~60s亮 -->T7SF

程序段3:0 ~ 27s亮,27~30s闪烁 -->T27SL3SF
程序段4:30~38s亮 -->T8SF
程序段5:38-60s亮 -->T22SF

考虑到不确定的道路方向以及黄灯时间较短的情况,我们可以做出如下猜测:在第一组,可能为东西方向,红灯亮35秒,绿灯亮15秒并闪烁3秒,然后黄灯亮7秒。在第二组,同样可能为东西方向,红灯亮22秒,绿灯亮27秒并闪烁3秒,接着黄灯亮8秒。

两种情况都提交一下,发现 flag{EWRT22SF-GT27SL3SF-YT8SF-SNRT35SF-GT15SL3SF-YT7SF} 正确。


九、组态编程 - 有趣的转盘

车间最新设计了一个可转动圆盘设备,并设计控制程序使得转盘由西门子1200系列控制,该设备由一个转盘主体、启动程序按钮和三个限位开关组成;设备初始状态如图所示,当按下启动按钮后程序启动,限位开关1-3分别控制输入点位I0.1-I0.3,当触点与限位开关接触时,对应输入点位通电;启动按钮控制输入点位I0.0;设备转动分为内圈和外圈,转盘以逆时针转动,Q0.0输出点位控制内圈转动,Q0.1控制外圈转动,内圈转动会带动外圈一起转动,外圈转动是与内圈的相对转动(例如外圈内圈均转动90度;,则内圈转动90度;,外圈在内圈带动转动的90度;之外还要再相对于内圈转动90度;也就是总共转动180度;),触点1镶嵌在内圈上与内圈一同转动,触点2镶嵌在外圈上同外圈一同转动,转盘转动一圈所需时间为12s,操作员需要使用启动按钮方可启动程序;现在指定操作员对转盘进行模拟转动测试,操作员需要在转盘停止后按下启动按钮令转盘设备启动,直至转盘设备与图中初始位置相同后方可不再运行(即触点1、2对应如图位置)。flag格式为:10#flag{启动所需长按最短时间_总共按下按钮次数_mw3_设备停止时两个触点与中心连线最大夹角(小于等于180度;)}


2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第37张图片
开局一张图,一脸懵,无思路。


十、应急处置 - 登录日志分析

黑客通过爆破SSH的方式成功入侵了工控服务器,请从日志中分析出攻击者的IP地址,确定成功爆破出登录名/密码的时间,flag即为该时间,如9:36:33。flag提交形式为flag{xxxx}

签到题。 筛选Accpted 查看黑客爆破登录成功的日志,发现有5条。

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第38张图片

那么是哪一条呢?里面登录成功的日志有可能是正常用户登录的。 我们要想到黑客爆破自然先会有很多密码错误的日志,然后再有一条密码正常的日志。从而排除得到 19:32:01 是黑客首次爆破成功的时间。

答案为 flag{19:32:01}


十一、应急处置 - 设备运行状态分析

操作员打开设备后,发现点击设备运行按钮后,设备不能正常启动,请帮助操作员分析程序,修复其中的问题。flag为导致设备故障的控制点所直接关联的两个子程序名称_按钮控制点名称的组合,例如:flag{[PID_count(SBR6)]_[PRT(SBR19)]_M0.0}。

看不懂,不会做


十二、恶意程序分析 - 样本分析

某电力系统部门发现来历不明的病毒攻击,样本中包含可疑攻击行为,请对样本协助分析,找到隐藏在攻击代码中的flag。提交格式:flag{xxx}

使用 64 位IDA打开,字符串搜一下flag试试,发现Py字样,是python打包的程序。
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第39张图片

使用开源的工具 pyinstxtractor.py, 下载链接 https://github.com/extremecoders-re/pyinstxtractor

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第40张图片
2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第41张图片
看到一个 control 控制文件,可能是黑客留下的,记事本查看发现flag:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第42张图片


十三、恶意程序分析 - 恶意的指令

安全公司截获了某个针对电力系统攻击的样本,样本会向指定设备的8个IOA发送控制命令,flag就隐藏在IOA中。提交格式:flag{xxx}

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第43张图片
32 位的文件, 使用32位的IDA工具打开进入main函数:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第44张图片
查看伪代码。经过分析发现,将v3数组的值作为shellcode传入,结合题目意思分析, 看到v3数组类似flag,R键转字符观察并提取出来。

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第45张图片

得:flag{f30l7a1g}


十四、固件分析 - 固件后门分析

一些厂商为方便调试和监测,可能会在产品上保留“后门”,这也为产品带来了较大安全隐患。请对提供的固件进行分析,找出其中可能存在的后门口令。flag即为口令字符串,提交格式:flag{xxx}。

题目提供一个 OCR 文件,放入 ida 中。黑客留后门,可以猜测可能存在ssh 连接,字符串搜索SSH 可以看到如下截图:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第46张图片
点击SSH 跳转如下:

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第47张图片
发现了存在 SHH 的公钥和私钥, 下面还有一个secret 字符串。
在这里插入图片描述
查看该函数,可以断定这是黑客后门行为,该秘钥就是flag

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP_第48张图片
故答案为 flag{Ovation35}


十五、固件分析 - 固件加密分析

某公司收到勒索邮件,经过分析查验后发现内网中并没有勒索病毒的痕迹,网管小张研究后发现疑似黑客对工控路由器进行了攻击,通过技术手段获取到了路由器固件,请帮助小张分析出固件并且尝试找出被加密的文件,提交格式:flag{xxx}。

一脸懵,不会做…

你可能感兴趣的:(漏洞复现与原理分析,网络,服务器,linux)