本次是线上赛,一共是10个固定题+5个远程渗透测试题目,只要当10个固定题都解出来之后才可以申请虚拟账号做远程渗透题目。但比较遗憾的是,没有一个队能完成解出10个题,下面是部分Writeup。
1. 隐藏的工艺
使用binwalk获取详细的信息
在这里可以看到有zip文件
使用AZPR对其进行爆破,密码如图所示
打开之后是一个next.PCZ文件,再打开之后是一个二维码文件,直接扫码即可
flag{qwerasd}
2. 被加密的系统日志
查看文件可知为GANDCRAB勒索病毒5.1版本
使用解密软件即可解除RSA加密。
使用记事本打开搜索flag即可得到答案
flag{2021_gkands_lv}
3. 异常的文件
改了ELF的文件头,改回来,放到ida
查md5 再 异或 得到程序启动的参数
a="4~F\\xc5|8w&"b=[0x63, 0x16, 0x29, 0x92, 0x15, 0x56, 0x48, 0x26,0x56,0x43,0x74] for i in range(8): print(chr(ord(a[i])^b[i]),end='')
带着参数跑,得到flag
flag{RobotWinTheGame}
4. 控制器数据备份失败
根据提示和分析做下过滤:
cotp&&ip.dst==192.168.1.188
在Destination TSAP数据中都是0100,但是在这是0010,因此就发现了15469的数据被修改。
flag{154690010}
5. PLC故障分析
在数据里面找到了类似base64的字符,然后将字符取出来,使用base64解密之后再用XOR进行爆破。
import base64 e = base64.b64decode('MHg3ZjB4MzUweDNmMHg0YTB4NzQweDczMHg2NjB4N2QweDY5MHg2MzB4NmUweDY4')d = ''.join(chr(int(e[i:i + 4], 16) - 2) for i in range(0, len(e), 4))[::-1]print(d)
flag{dqrH=3}
6. 工控梯形图分析
根据题目描述,一共5盏灯,每盏灯只有亮或者灭两种状态。所以一共只有2^5种可能。爆破得到flag。
flag{1010010101}
7. 嵌入在Android中的工控程序
主函数逻辑如下, 参数为长度为8的字符串,每个字符串有范围限制
搜索字符串“writeZipdataOutKey’ 得到输出解压密码函数为sub_316C, a+6142处的值根据参数计算得到
写脚本计算得到正确参数是为JustDoIt
a1=[73,74]a2=[116,117]a3=[114,115]a4=[116,117]a5=[67,68]a6=[111,112]a7=[73,74]a8=[116,117,118,119]b=[0 for i in range(8)]for i1 in range(2): for i2 in range(2): for i3 in range(2): for i4 in range(2): for i5 in range(2): for i6 in range(2): for i7 in range(2): for i8 in range(4): b=[a1[i1],a2[i2],a3[i3],a4[i4],a5[i5],a6[i6],a7[i7],a8[i8]] x=0 for i in range(8): x = x^(b[i]|0x20) for j in range(8): x = (0x82F63B78 * (x & 1))^(x>>1) if x == 0x38C0977A: print(bytes(b))
输入参数运行程序观察调试输出,得到解压密码
用step 7 打开工程文件得到flag
flag{m0.5ssi8sp-h1m14sf--m3rtttssx-h2t--mkpidt522sk3-h2l}