2021年江西工业互联网安全技术技能大赛Writeup

Posted 末 初

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021年江西工业互联网安全技术技能大赛Writeup相关的知识,希望对你有一定的参考价值。


协议分析

S7协议分析

0300002402f080320100000003000e00050501120a100200010000830000000004000801。
请解读以上协议内容,并准确的拿到此报文返回值,flag即为返回值。提交格式:flag{xxx}。

写入报文的数据分析

03 00               报文头
00 24               数据总长度: 36
02 f0 80 32         固定长度: 4   
01                  命令类型: 发
00 00 00 03         标记序列号: 3
00 0e               固定长度: 2
00 05               有效数据长度: 5(从偏移量后第一位开始计算)
05                  命令起始符号
01                  写入数据块个数: 1
12 0a 10            固定长度: 3(返回数据前缀) 
02                  写入方式: 01按bit写入; 02按byte写入
00 01               写入数据个数: 1(byte方式可以写入多个,bit只能写入单个)
00 00               写入数据块编号: 0
83                  写入数据类型: M
00 00 00            写入地址偏移量: 0
00 04               写入方式: 03按bit写入; 04按byte写入
00 08               写入bit的个数
01                  写入的值: 1

写入报文的返回值

03 00               报文头
00 16               数据总长度: 22
02 f0 80 32         固定长度: 4
03                  命令类型: 收
00 00 00 03         标记序列号: 3
00 02
00 01
00 00
05 01
ff                  表示写入正常
flag{0300001602f0803203000000030002000100000501ff}

工控流量分析


用科来诊断数据包时发现几个TCP非法校验的包

查看数据包编号为33973398的包,发现这些包都带有data字段

然后在wireshark中分析33973398时发现了端倪

观察前后几个包,发现.34.99发的包长度都为64,唯独3399的长度包为103;查看发现3399包被直接附加了一段data字段之外的数据。发现一段连续的字符串,提取出来base64解码

flag{tq2ysds66}

异常流量分析



大部分为HTTP协议流量,但是查看http流和导出文件都没有发现flag的线索。继续查看少部分的Modbus协议

发现一个非法校验和的包,查看发现尾部附加了一段字符串

syntvfguvfZbqohffffff

经验比较丰富的手可能一眼就能看出来synt是字符flag的rot13编码

flag{flagisthisModbussssss}

OPC流量分析


使用科来网络分析系统分析流量包

打开之后发现很多非法校验的包,点击诊断之后点所有诊断;然后点击源IP地址排序,发现了唯一的192.168.0.46192.168.0.43发的包
PS:点击排序不了的,取消勾选超过2000不排序

查看包的内容,发现

很明显是十六进制的ASCII码

53554E54616E68414D6A41794D513d3d
>>> from binascii import *
>>> hexdata = "53554E54616E68414D6A41794D513d3d"
>>> unhexlify(hexdata)
b'SUNTanhAMjAyMQ=='
>>>
>>> base64_data = unhexlify(hexdata)
>>>
>>> from base64 import *
>>>
>>> b64decode(base64_data)
b'ICSjx@2021'
>>>
flag{ICSjx@2021}

应急处置

图片的秘密



secret.jpg根据文件名猜测为OurSecret隐写

下一步就是获取密码

程序逻辑有比较用户输入和内部秘钥的函数strcmp,所以这里打个断点,调试就能看到正确秘钥和用户输入秘钥了

得到密码:my_m0r3_secur3_pwd

肉眼分辨不出来什么编码,对着我之前写的:收录CTF中MISC常用的在线工具网站

里面的编码一个个试,发现是XXencode

flag{0nly_u5_Kn0w_17_D0nO7_T3l1_o7hers}

现场数据采集


根据题目意思猜测可能为视频流量数据,发现流量包中含有大量h264协议的包

搜索引擎查阅发现可以Wireshark加载lua脚本提取出h264数据流,然后利用Elecard StreamEye分析

将下载好的rtp_h264_extractor.lua脚本放入WireShrak的目录中

修改init.lua,在最后面添加一行:dofile(DATA_DIR.."rtp_h264_extractor.lua")
重启WrireShark,打开流量包;工具->Extract h264 stream from RTP


会在流量包的当前路径生成一个dump.264

使用Elecard StreamEye打开它

PS:这里使用的版本是Elecard StreamEye 4.7,算是比较新的版本,之前用2.9的版本打开发现看不清楚

flag{GOODFORYOU}

应急恢复


DiskGenius一把梭;磁盘->打开虚拟磁盘文件->选中磁盘点击恢复文件


flag{73D3DA963F7505E9}

文件分析



010 Editor打开,看到IDATIEND字样从而确定这应该是一张png图片


开头的这几个字节很明显应该是PNG图片的长宽位置,或者对比其他的PNG图片;不难发现该文件缺少了PNG开头的十六个字节

89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52


保存为what.png,发现图片貌似长宽显示不完全,再次用010 Editor打开发现CRC校验报错,修改高度
高度任意修改,能看到flag就行,或者使用脚本去爆破原来的宽高

flag{welcome@2021}

组态编程

探索组态密码


上位监控软件密码破解20190510.PCZ,利用北京力控组态软件ForceControl V7.0打开


然后点击开发

选择忽略

选择功能->用户管理

设置登登陆方式选择本地方式;发现一个admin的系统管理员

发现admin账户的密码,但是是星号,看不到,可以利用网上的星号密码查看器


得到密码:elexadmin

flag{elexadmin}

恶意程序

恶意app分析


spyNote_client_easy2.apk改为spyNote_client_easy2.zip解压,然后直接在目录下用grep全局找

root@mochu7-pc:/mnt/c/Users/Administrator/Desktop/工业互联网附件/恶意程序/恶意app/spyNote_client_easy2# ls
androidManifest.xml  com     javamail.charset.map          javamail.default.providers  javamail.pop3.provider     javamail.smtp.provider  mailcap.default  mimetypes.default  res
classes.dex          dsn.mf  javamail.default.address.map  javamail.imap.provider      javamail.smtp.address.map  mailcap                 META-INF         org                resources.arsc
root@mochu7-pc:/mnt/c/Users/Administrator/Desktop/工业互联网附件/恶意程序/恶意app/spyNote_client_easy2# grep -rn '@.*\\.com' ./*
grep: ./classes.dex: binary file matches
root@mochu7-pc:/mnt/c/Users/Administrator/Desktop/工业互联网附件/恶意程序/恶意app/spyNote_client_easy2# strings classes.dex | grep -E '@.*\\.com'
CONTACT javamail@sun.com
hahaha_wtf@163.com
testmail0917@163.com
root@mochu7-pc:/mnt/c/Users/Administrator/Desktop/工业互联网附件/恶意程序/恶意app/spyNote_client_easy2#

找出来的三个邮箱,第二个就是对的

flag{hahaha_wtf@163.com}

恶意程序分析


给了一个exejpg

jpg010 Editor打开啥也看不出来,猜测应该是被exe文件处理过的

ida打开exe文件

跟进主函数下做处理的sub_401302()函数,看到了对原图每个字节做异或0x61处理

使用010 Editor打开sc.jpg;然后工具->十六进制运算->二进制异或

异或出来的内容,从末尾看已经看出来有flag字样的十六进制字符

E8 FF FF FF FF C0 5F B9 57 03 02 02 81 F1 02 02
02 02 83 C7 1D 33 F6 FC 8A 07 3C 02 0F 44 C6 AA
E2 F6 E8 02 02 02 02 5E 8B FE 81 C6 16 01 02 02
B9 03 02 02 02 FC AD 01 3C 07 E2 FA B9 8D 10 B7
F8 E8 4D 02 02 02 68 22 01 02 02 FF D0 B9 9E 78
78 CD E8 3C 02 02 02 6A 02 68 44 01 02 02 68 2D
01 02 02 6A 02 FF D0 33 C0 C3 53 56 8B F1 33 D2
EB 12 0F BE CB C1 CA 0D 80 FB 61 8D 41 E0 0F 4C
C1 03 D0 46 8A 1E 84 DB 75 E8 5E 8B C2 5B C3 8D
41 F8 C3 55 8B EC 83 EC 14 53 56 57 89 4D F4 64
A1 30 02 02 02 89 45 FC 8B 45 FC 8B 40 0C 8B 40
14 8B F8 89 45 EC 8B CF E8 D2 FF FF FF 8B 3F 8B
70 18 85 F6 74 4F 8B 46 3C 8B 5C 30 78 85 DB 74
44 8B 4C 33 0C 03 CE E8 8E FF FF FF 8B 4C 33 20
89 45 F8 03 CE 33 C0 89 4D F0 89 45 FC 39 44 33
18 76 22 8B 0C 81 03 CE E8 6D FF FF FF 03 45 F8
39 45 F4 74 1C 8B 45 FC 8B 4D F0 40 89 45 FC 3B
44 33 18 72 DE 3B 7D EC 75 9C 33 C0 5F 5E 5B C9
C3 8B 4D FC 8B 44 33 24 8D 04 48 0F B7 0C 30 8B
44 33 1C 8D 04 88 8B 04 30 03 C6 EB DF 20 02 02
02 33 02 02 02 38 02 02 02 75 73 65 72 33 32 2E
64 6C 6C 02 66 6C 61 67 7B 34 39 62 61 35 39 61
62 62 65 35 36 65 30 35 37 7D 02 79 6F 75 20 67
6F 74 20 69 74 21

flag{49ba59abbe56e057}

固件分析

丢失的密码



Squashfs filesystem


unsquashfs takeme.bin可直接解压


解压后得到一个squashfs-root文件夹,下面有很多文件;还是老方法

grep -rn '^password.*' ./*


ifconfig.cfg文件很明显是配置文件,提交flag

flag{WldOb2J5NWllV1YwZER4}

工业固件分析



修改后缀为zip解压,在\\firm\\Web\\wwwroot\\classes发现一堆jar文件

使用jd-gui之类的反编译软件来反编译jar

一个个看看吧,我也不知道有什么技巧这里,找出来了的
SAComm.jar包发现了ftp的账户和密码

flag{sysdiag+factorycast@schneider}

以上是关于2021年江西工业互联网安全技术技能大赛Writeup的主要内容,如果未能解决你的问题,请参考以下文章

2021年江西工业互联网安全技术技能大赛线下决赛部分Writeup

2021年江西工业互联网安全技术技能大赛线下决赛部分Writeup

2021年职业院校技能大赛“网络安全”项目江西省A模块

国家级网络安全证书!移动云晒出亮眼成绩单!

2022 年江西省职业院校技能大赛高职组信息安全管理与评估赛题 02

第四届江西省高校网络安全技能大赛 复现 2021-09-30