SICTF 2023 Round#3 团队赛 Misc 方向个人题解
February 21, 2024 · Legacy Blog ↗
[签到] 签到
这也要写 Writeup?
关注公众号发送 SICTF{Round3,我来辣~} 即可。
真💨签到
压缩包的结尾藏了一段 Hex,找到合适的工具将其解码就能得到压缩包的密码 2024HappyNewYear:
解压后可以得到一个 WAV 文件和一个 JPG 文件,先看一眼 WAV 音频的频谱图:
结合文件名(Lagrange is Capatlized)可以得到 givemeyourLAGRANGE,将其作为密码对 JPG 文件进行 Steghide Extract 就可以得到 Flag 了:
$ steghide extract -p givemeyourLAGRANGE -sf steg.jpg
wrote extracted data to "flag.txt".
$ cat flag.txt
SICTF{T3e_endless_Lagrange_is_really_fun!}
New Year’s regret
压缩包密码差四位数字不知道,直接手搓脚本爆破就能出:2024SICTF,解压得到一个 TXT 文件和一个 PNG 文件。TXT 文件中只有字符 0 和 1,直接丢给 Cyberchef 二进制作图可以得到:
网上随便找下密码表,可以从中解出字母 putitalltogether。PNG 文件的本体是一个汉信码,内容为「flag 好像不在这里 ing」,没啥用。用 Binwalk 扫一下 PNG 文件可以撕出一个压缩包(内含一个 TXT 文件)和另一个 PNG 文件(PNG 接完 ZIP 后再接了一个 PNG)。这个 TXT 文件是个 Base64 套娃,手搓下脚本解个 35 回(次数由尝试得出)就能得到一个 PNG 文件:
import base64
source = open('_task.png.extracted/result.txt', 'r').read()
for _ in range(35):
source = base64.b64decode(source)
print(source.hex())
发现这是个二维码,直接丢给 Cyberchef,扫描后得到部分 Flag(SICTF{Congratulation_to_you!)。另一张图片如下图所示(顺时针旋转 90°),结合 Hint「其中有一部分你知道是几星吗?」可以猜测这些都是某个游戏的武器,需要查找对应的星级。
截取部分进行搜图后可以得知是游戏「战双帕弥什」,对着 WIKI 一个一个找过去可以完成(找得我眼花):
44664654464566654465645644544664654654644546445446646565444454544664654664544545646454544454466465465645644
三状态首先考虑 Morse,将 456 分别替换为 . - 然后进行 Morse 解码就能得到另一部分 Flag。最后拼接下 Flag 就好了(中间自行确定那个接在哪个后面,自行在单词之间加上下划线,不行就多试)。最终得到 Flag:
SICTF{Congratulation_to_you!_found_all_the_pieces_and_put_it_all_together}
GeekChallege
根据 Tips(len(array)=5&&len(passwd)=114)猜测:密码长度 114,每次连接随机取 5 个字符生成密码。搓脚本爆破就是了:
from string import printable
from pwn import remote, context
password = ['']*114
context(log_level="debug")
io = remote("yuanshen.life", 33505)
for c in printable:
io.recvuntil(b">")
io.sendline((c*114).encode())
result = io.recvline().strip().decode()
if '1' in result:
for i in range(114):
if result[i] == '1':
password[i] = c
if all(password):
break
io.recvuntil(b">")
io.sendline(("".join(password)).encode())
io.interactive()
io.close()
WHO?WHO?WHO
根据 Hint「压缩包密码为 6 位小写字母」进行爆破得到压缩包密码 qweqwe,解压后得到一个 TXT 文件,不难发现里面存在 Unicode 零宽字符隐写,找个合适的工具进行解码可以得到下面的内容,盲猜是 Rabbit:
U2FsdGVkX19uvldJ6CGUNff3B28QEdIjZqgUh98K+/0J16ELU8WVQydohw4P5+2M
jbhTLQHNOpcoOd7kSRgy8pwpovCmimdD8M0IbYUeXjNKYePL/WP4PCMaOJHAW3HR
b7IEoDDH1NYh3o5NwMmcFEqy1ujf72VgQIQkaeYFFFE=
找个工具试了一堆密码,最后用 shumu 作为 Key 进行 Rabbit 解密得到一坨 DNA。密码表网上随便找找就有,手搓个脚本吧:
src = "GTAGAGCTAGTCCTT{GGGTCACGGTTC_GGGTCACGGTTC_GAACGGTTC_GTAGTG_GCTTCA_GTAGACGTGGCGGTG_GTAGACTCA_TATGACCGG_GCTCGGGCT}"
mapping = { 'AAA':'a','AAC':'b','AAG':'c','AAT':'d','ACA':'e','ACC':'f', 'ACG':'g','ACT':'h','AGA':'i','AGC':'j','AGG':'k','AGT':'l','ATA':'m','ATC':'n','ATG':'o','ATT':'p','CAA':'q','CAC':'r','CAG':'s','CAT':'t','CCA':'u','CCC':'v','CCG':'w','CCT':'x','CGA':'y','CGC':'z','CGG':'A','CGT':'B','CTA':'C','CTC':'D','CTG':'E','CTT':'F','GAA':'G','GAC':'H','GAG':'I','GAT':'J','GCA':'K','GCC':'L','GCG':'M','GCT':'N','GGA':'O','GGC':'P','GGG':'Q','GGT':'R','GTA':'S','GTC':'T','GTG':'U','GTT':'V','TAA':'W','TAC':'X','TAG':'Y','TAT':'Z','TCA':'1','TCC':'2','TCG':'3','TCT':'4','TGA':'5','TGC':'6','TGG':'7','TGT':'8','TTA':'9','TTC':'0','TTG':' ','TTT':'.'}
result, i = "", 0
while i < len(src):
if src[i] not in "ATCG":
result += src[i]
i += 1
else:
result += mapping[src[i:i+3]]
i += 3
print(result)
# SICTF{Q1A0_Q1A0_GA0_SU_N1_SHUMU_SH1_ZHA_NAN}
日志分析 1
直接使用 Windows 的工具进行筛查效率貌似有点低,但是可以用它将日志导出为 TXT 或者是 CSV 文件,这样就方便多了。不难找到相关信息所在日志:
信息 2020/07/22 10:50:57 Microsoft-Windows-Security-Auditing 4720 User Account Management
已创建用户帐户。
属性:
SAM 帐户名: attack$
显示名称: <未设置值>
用户主体名称: -
主目录: <未设置值>
主驱动器: <未设置值>
脚本路径: <未设置值>
配置文件路径: <未设置值>
用户工作站: <未设置值>
上次设置的密码:<从不>
帐户过期: <从不>
主要组 ID: 513
...
信息 2020/07/22 10:51:15 Microsoft-Windows-Security-Auditing 4698 Other Object Access Events
已创建计划任务。
任务信息:
任务名称: \callback
任务内容:
<?xml version=""1.0"" encoding=""UTF-16""?>
<Task version=""1.2"" xmlns=""http://schemas.microsoft.com/windows/2004/02/mit/task"">
...
<Actions Context=""Author"">
<Exec>
<Command>c:\windows\system32\windows_attack.exe</Command>
</Exec>
</Actions>
...
</Task>
信息 2020/07/22 10:52:06 Microsoft-Windows-Security-Auditing 4769 Kerberos Service Ticket Operations
已请求 Kerberos 服务票证。
帐户信息:
帐户名: attack$@ADOFLMB.COM
帐户域: ADOFLMB.COM
登录 GUID: {7539ad21-0be8-8cb6-7406-054797c14d68}
信息 2020/07/22 10:52:19 Microsoft-Windows-Security-Auditing 4779 Other Logon/Logoff Events
已断开会话与窗口站的连接。
使用者:
帐户名: attack$
帐户域: ADOFLMB
登录 ID: 0x12A334
会话:
会话名: RDP-Tcp#0
附加信息:
客户端名: kali
客户端地址: 192.168.222.200
所以对着 Hint 组织下 Flag:
SICTF{192.168.222.200|attack$|Administrators|callback|c:\windows\system32\windows_attack.exe|ADOFLMB.COM\attack$}
日志分析 2
直接对着 LOG 文件手撕,不难找到:
10.11.35.95 - - [30/Sep/2019:10:27:28 +0800] GET /index.php?action=view&mod=detail&id=12 HTTP/1.1 200 1859 - sqlmap 1.2.4.18
10.11.35.95 - - [30/Sep/2019:11:08:15 +0800] POST /images/avatar/web.php HTTP/1.1 200 355 - antSword/v2.1
并且这个 IP 对疑似登录接口在短时间内有着大量请求,怀疑是在爆破密码。所以 Flag:
SICTF{10.11.35.95|暴力破解|sqlmap|1.2.4.18|蚁剑|2.1} Tags: #CTF #Writeup #Misc #SICTF
This article is authored by luoingly and licensed under CC BY-NC 4.0
Permalink: https://luoy.ing/posts/sictf-2023-round3-misc-writeup/



