2023年江西省振兴杯工业互联网安全技术技能大赛线上预选赛部分题解
一.协议分析
0x01-modbus
观察数据包发现modbus协议里有data数据
使用命令进行过滤
使用tshark将data的数据导出到文本文件里
tshark -r modbus.pcapng -Y "modbus" -T fields -e modbus.data > output.txt
分析数据将多余数据去除
十六进制转成字符
得到flag
flag{We1c0meToZXB2023}
0x02-S7Error
s7comm协议分析,看题目提示应该是寻找s7comm的错误数据
wires hark分析s7数据没有错误的条件为0x00
所以只要数据包不等于 0x00即可
过滤出ack_data的数据为3 在判断不为0x00的数据
((s7comm) && (s7comm.header.rosctr == 3)) && (s7comm.header.errcod != 0x00)
观察数据找到0x83 代表的没有可用资源
对应的数据包编号为213056
flag{213056}
二.组态编程
0x01-工程的秘密
发现图片中的lsb数据
使用工具提取
得到压缩包数据
得到cmp文件
使用组态王恢复文件
点击交通灯得到flag
flag{zxb2023@758}
0x02-简单的计算
解压压缩包得到文件,ap16
使用博途打开项目
启动仿真
连接
根据题目修改模块,得到最后的值
flag{1.985294}
0x03-交通灯
下载附件得到一个word文档和两张图片
文档里并没有是没有用的信息
看到图片
结合题目给的做法
第一段程序运行时间为60秒
第二段程序运行时间为35秒
随后根据题目可以得出红灯开35秒关闭
根据程序3可以得出绿灯开27秒,闪3秒关闭
程序4可以理解为黄灯开8秒关闭
按照在这种解题思路,接下来可以理解为
Q0.0,Q0.1,Q0.2是一个红绿灯,Q0.3,Q0.4,Q0.5是一个红绿灯
最后根据题目给的提示,最终得到的flag是:
flag{EWRT22SF-GT27SL3SF-YT8SF-SNRT35SF-GT15SL3SF-YT7SF}
三.应急处置
0x01 登录日志分析
查看并过滤ssh登录成功的日志
依次尝试过滤出来的时间段flag
flag{19:07:25}
四.恶意程序分析
0x01-样本分析
64位程序使用IDA_64分析
shift+f12得到字符串观察字符发现py,猜测pyc反编译
使用pyinstxtractor 进行脱壳
再进行pyc反编译
使用在线pyc反编译得到flag
flag{iQP1ulwfHeA96IISk6pF}
0x02-恶意的指令
32位程序,IDA32进行观察
找到main函数
找到localhost进行f5反编译
看到v3数组,尝试转ascii字符
直接得到flag
flag{f30l7a1g}
五.固件分析
0x01-固件后门分析
没有识别出程序
拖进ida尝试分析
找了很久找到一个启动画面和两端RSA密钥
在第二段rsa下发现类似key的字符串
提交成功得到flag
flag{Ovation35}