感觉这题赶得上iscc了,中高档题目太难想了(点名表扬doro和关机)……
1-1 秘密的消息
| 本题思路如下:<br/>打开附件,第一个文档提示了一个掩码,说填字游戏,掩码位置对应的是@为大写字母 ^为小写字母,再观察这个结构有点像是凯撒密码,观察存在的字母刚好是Caesar的移位三位,用Caesar解密第一层压缩包<br/>  <br/>第二层里提示里给了有emoji,尝试base100解码得到密码,在jpg中分离出压缩包,用密码解密后得到flag文档,给出一串base64编码,解码后计算MD5即为flag<br/>  <br/>  <br/>  <br/>  | 
|---|
1-2 最爱的专辑
| 本题思路如下:<br/>打开附件可以得到一个wav文件和一个txt文档,txt转base64解码得到密码我爱火星哥,使用deepsound打开wav可以发现隐写了一个zip,使用刚才的密码解压出来<br/>  <br/>  <br/>  <br/>  <br/>获取的压缩包里存在一个jpg和一个文件夹,里面给了一个手机九宫格的键盘和一个串数字,很明显的九宫格密码解码,得到密码,注意按照名字转首字母大写<br/>  <br/>  <br/>  <br/>  <br/>  <br/>jpg直接随波逐流foremost一下,得到flag的压缩包,输入刚才的密码打开得到flag<br/>  <br/>  <br/> | 
|---|
1-3 为什么关机又关机
| 打开附件一个加密压缩包和一个密码.bat,记事本打开看看bat里写了什么妙妙命令,发现有零宽隐写,但是常用的没能解出来,找了很多网站终于有个能解的网站(https://33tool.com/text_cloak/#show),拿到密码  <br/>  <br/>可以发现一个游戏和一个压缩包,还是带密码,查看游戏的属性,发现有出题人修改的属性,当密码解压压缩包<br/>   <br/>解压出一张jpg,那steghide检查隐写,发现存在,密码来自需要计算的那个数值,接出来得到flag.txt<br/>  <br/>  <br/>  <br/> | 
|---|
1-4 dora
| 打开附件得到一个文件夹和gif以及提示,提示告诉说在一个时间被传送,文件夹里有很多空txt文档以及一个加密压缩包,但是观察时间都被做出了修改,考虑时间戳的问题,对gif抽取帧间隔,可以发现有较长的60和较短的30,根据提示告知,较长的应该是停留的有东西的房间,做一个提取。<br/>   <br/>  <br/>  <br/>对应看空的txt数量刚好对的上,根据下标提取对应的文件时间戳和提示里的时间的时间戳作差,得到ASCII码,转换出有意义的字符串,作为密码解压压缩包,得到flag{ff7ce546e0e3cd2a9f194fed35aaed8a}。<br/>  <br/> python import os from datetime import datetime  # 获取当前脚本所在目录的绝对路径 script_dir = os.path.dirname(os.path.abspath(__file__))  data = ['60', '30', '30', '30', '60', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '60', '30', '30', '30', '30', '60', '30', '60', '30', '30', '60', '30', '30', '30', '60', '30', '30', '30', '60', '60', '60', '30', '60', '60', '60', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '30', '60', '60', '60', '60', '30', '30', '30', '30', '60', '60', '60', '30', '30', '30', '30', '60', '30', '30', '30', '30']  indices = [i for i, val in enumerate(data) if val == '60']  base_time = datetime(2025, 5, 1, 0, 0) base_timestamp = base_time.timestamp()  for index in indices:     filename = os.path.join(script_dir, f"{index}.txt")          try:         file_timestamp = os.path.getmtime(filename)         time_difference = file_timestamp - base_timestamp                  # 直接输出时间差数值         print(f"{time_difference:.0f}")              except FileNotFoundError:         print(f"错误: 文件 {filename} 不存在")     except Exception as e:         print(f"错误: 处理文件 {filename} 时发生异常: {e}")   | 
|---|
1-5 狂热粉丝
| 本题思路如下:<br/>1.仿真起机器后桌面的chat—master文件夹里有数据库名称tinode,一搜可以得知是这就是聊天·软件flag{Tinode}<br/>  <br/>2.回收站里回复出来的html是聊天截图,但是看不清楚,火眼挂载一下,可以看到最近运行程序中可疑exe为flag{NewWorld.exe}<br/>  <br/>3.注意这里有坑木马直接放入die查出来是c,但实际本体为python,根据上面的路径可以找到main.py文件,里面是具体实现过程,编程语言flag{Python}<br/>  <br/>4.在回复出来的html网页中使用f12检查下载对应的网页url,可以看到网站ip192.168.192.129 flag{192.168.192.129}<br/>  <br/>5.在main.py里可以找到加密的对象是cmd.exe flag{cmd.exe}<br/>  <br/>6.在恢复的html中可以看到被控制的黑塔小人的聊天记录如下,由此使用弘联的数据库取证工具打开附件的sql数据库查看Tinode下的message字段定位到相应的聊天记录可以看到这个topic就是聊天地址。  <br/>  <br/> | 
|---|
1-6 jumpsever
| 1.先把虚拟机启动起来,到opt目录下找到jumpserver的启动文件,启动jumpserver服务。<br/>   <br/>查看对应服务开的端口80,访问一下web服务,用默认账号登录admin/123456,在审计台里查看登录日志,时间选择最近一年,把设置里的ip勾选上。<br/>  <br/>查看对应不属于正常192.168.219.1的只有192.168.20.1,这就是攻击者ip  <br/>2.按时间升序排查看这个ip第一尝试登录的时间即可<br/>  <br/>3.flag标签在工作台界面下,查看即可<br/>   <br/>4.网站用户数量在控制台下查看用户列表一共六个<br/>  <br/>5.连接用户资产的账号在账号列表下,一共两个<br/>  | 
|---|
1-7 bluetooch test
| 按照题目提示告知用frontline11打开查看抓取的log文件,过滤出其中的command项,逐项查看hex项判断后几位全为0的应该就是目标的关闭,注意转换md5时需要把空格删掉。<br/>  | 
|---|
1-8 无线密钥追击4.0
| 直接拿aircrack-ng跑字典rockyou爆破密码即可<br/>  <br/>  | 
|---|