继续加油,现在也差不多做了四分之一的题目了,距离通过Misc部分越来越近了。
签到题,下载题目文件,答案就在文本中。
Challenge description:
We dare you to validate this challenge that will REALLY remove 2pts from your score! If you really are crazy, then here is your flag: INSA{Youre_crazy_I_like_it}
类型 | 签到题 |
---|---|
工具 | 无 |
Flag | flag{Youre_crazy_I_like_it} |
题目要求找到黑客留下的具体文件名。和之前的大流量分析题目一样,题目提供了多个大的pcap文件,一般我们只需要分析其中一个就可以得到答案。这里我们也是只下载一个文件进行分析,如果做不出来再继续看别的流量文件。
分析文件名:数据采集H_eth0_NS_20160809_172819.pcap
我们目标是找到后门文件名称,一般攻击者成功上传文件后,还需要验证该后门文件能否正常执行命令。通过日志可以发现文件都是php的,那么常见的验证是否存在命令执行的方式就是通过“phpinfo()”命令。这里直接对该命令进行搜索。很快就能找到一个文件。这个文件就是后门文件。
类型 | 日志分析 |
---|---|
工具 | wireshark |
Flag | flag{admin.bak.php} |
题目给了一个文本文件和一个未知类型的文件。文本内容如下:
My brother likes esoteric programming. He sent me this file but I don't see what it is for. Could you help me ?
翻译过来的意思是这个未知类型的文件是一种编程语言。通过010editor打开文件时显示如下,看起来有点像是坐标。
通过这个特征,还真的找到了一款名称为“G-code”的编程语言。网上有许多工具可以在线运行,这里我用的是(https://gcode.ws/)。首先需要把题目文件改为后缀为.gcode。然后上传这个平台,自动运行。下图红框中的选项不能勾选,否则出现的图案有遮挡。
类型 | 编程语言 |
---|---|
工具 | gcode在线分析 |
Flag | flag{3d_pr1nt3d_fl49} |
下载题目文件,是个口令红包的分享页面。关键的口令部分被打了马赛克。
这是一张png图片,应该是用了某些隐写方法把口令隐写在了图片中。我们按照顺序进行图片分析,在使用strings打印可打印字符串时发现在IEND后面跟着的最后一行字符串的长度有点过长了。
复制出来放进随波逐流工具进行一键解码,得到flag。
类型 | 图片隐写、字符编码 |
---|---|
工具 | strings、随波逐流工具 |
Flag | flag{29186995} |
吐槽一下,这题目也太长了。。是个签到题,答案直接写在题目内容里了。
类型 | 签到题 |
---|---|
工具 | 无 |
Flag | flag{2023_dasctf_11_0psu3} |
题目文件是个pcapng日志文件。用wireshark打开开始分析,首先会发现没有http协议,故筛选查看具体有哪些协议日志。在中间发现有icmp数据。
这里把字段导出看的更清楚一点,这里可以用tshark把这部分icmp的data部分以十六进制的方式导出到本地。
tshark -r attachment.pcapng -T fields -Y "icmp.type==0" -e data > output.txt
然后把输出放入CyberChef,得到原来的数据,其中包含了一段base64,进行解码后得到一个像是答案的东西,需要把重复的部分去掉,才是真正的答案。。
CTF{JustA{JustA{JustA{JustA{JustAS0ngAbS0ngAbS0ngAbS0ngAbS0ngAb0utP1n0utP1n0utP1n0utP1n0utP1ngP0ng}gP0ng}gP0ng}gP0ng}gP0ng}
去重后:CTF{JustAS0ngAb0utP1ngP0ng}
类型 | 日志分析、字符编码 |
---|---|
工具 | wireshark(tshark)、CyberChef |
Flag | flag{JustAS0ngAb0utP1ngP0ng} |
拿到一个pdf文件,上面有个数学题,前后看了一下有没有隐写,结果发现没有什么隐藏信息,看来确实是个数学题?有点奇怪为啥放在Misc这里,一般涉及数学的不应该放在Crypto中嘛。
直接写Python,跑出的结果是577302567。
M = 10**9+7
n = 19260817
p = pow(10, n, M)
inv9 = pow(9, M-2, M)
result = (2 * (p - 1) * inv9) % M
print(result)
类型 | 数学 |
---|---|
工具 | 无 |
Flag | flag{577302567} |
下载题目文件,是个vmdk。vmdk文件基本上都能用7z解压缩。这里也是能够得到一个“0.fat”文件。查了一下,这个后缀的文件需要用一些特殊的工具进行挂载,这里用veracrypt进行挂载。下载工具的过程中继续先看0.fat文件。在用strings打印可打印字符时发现了flag的前半部分。
strings 0.fat| grep { | head -c 1000
由于这个题目是出自RCTF,故可以推断出前面一半部分的内容如下。
rctf{unseCure_quick_form4t_vo1ume
下载工具后就可以进行挂载,结果发现挂载还需要密码,这个只能猜一下了,最后正确的密码是rctf(猜不到,看了一下原题描述,这个密码在原题是有提示的......)
最后得到了一张图片和一个文本,文本内容是第二个密码。和手机输入不同密码进入不同系统类似,这里是指挂载时输入不同密码会有不同的挂载结果。图片的名字说这张图片和本次ctf无关,应该只是个看板娘。
Password 2: RCTF2019
You're late... So sad
删除挂载,然后重新挂载并输入新的密码。结果这回发现挂载后的磁盘需要格式化。
这里可以用winhex工具进行磁盘镜像。镜像后就可以直接看到磁盘的hex格式数据。flag的下半部分就在数据中间的部分。
rctf{unseCure_quick_form4t_vo1ume
_and_corrupted_1nner_v0lume}
类型 | 取证 |
---|---|
工具 | veracrypt、winhex |
Flag | flag{unseCure_quick_form4t_vo1ume_and_corrupted_1nner_v0lume} |
比赛原题中有提示,没有这个提示做题过程中大概率会卡住,题目内容如下。
hint:The txt is GBK encoding.
下载题目文件,其中包含一个doc文档和一个加密的flag.zip压缩文件。先看看是不是伪加密,因为压缩文件中只有一个文件是加密的,这种时候用随波逐流工具的自动检测往往效果不好。直接用010editor进行分析。
这里很明显,文件开头的加密符为偶数(未加密),结尾这里却是奇数(加密),说明第一个文件是伪加密。把这里的09改为偶数,一半改为00,就修复了伪加密。
flag.zip也是一个加密压缩文件,并且检查后发现并不是伪加密。通过内容的“last word.txt”和注释中的压缩软件及压缩方式的标注,可以想到考点是明文攻击,前面我们遇到过类似的问题,我们不清楚图片的内容,只能通过前面的doc找出last words然后用同样的方式压缩进行明文攻击了。
打开前面题目文件中的doc后发现存在一段隐藏文字。因为之前我设置了显示所有隐藏文字,所以这里打开后直接显示了出来,具体表现为文字的下方有一段连续的点状线。
没有显示出来的可以通过文档的设置中进行设置,我用的是WPS,在右上角“文件” - “选项”中,选中隐藏文字。
接着,原题提示了要使用GBK编码,那么我们把这段隐藏文字复制出来并用GBK编码保存到一个“last words.txt”,接着用同样的压缩方式进行压缩并进行明文攻击应该就能解开前面的压缩文件flag.zip了。
复制文字这一步同样要注意,常规的办法是无法复制出来的,需要先选中所有隐藏文字,右键“字体”中把隐藏文字关闭,然后正常复制出来就行。
Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble.
前面提到文字的编码格式是GBK,直接用notepad保存的文本并不是GBK,想要以GBK保存文字,可以用Python程序实现。
# -*- coding:GBK -*-
f = open('GBK.txt','w')
s = "Hello everyone, I am Gilbert. Everyone thought that I was killed, but actually I survived. Now that I have no cash with me and I’m trapped in another country. I can't contact Violet now. She must be desperate to see me and I don't want her to cry for me. I need to pay 300 for the train, and 88 for the meal. Cash or battlenet point are both accepted. I don't play the Hearthstone, and I don't even know what is Rastakhan's Rumble."
f.write(s)
f.close()
现在是2025年,最新的WinRAR已经更新到7.13版本了。但这里为了进行明文攻击,必须使用上面注释提到的“winrar版本 5.70 beta 2”。下载好该版本的WinRAR后,对前面GBK的输出文本进行加密。
我用的下载连接是https://filehippo.com/download_winrar-64/5.70.2.0.-2/post_download/?dt=internalDownload。
为了验证能否进行明文攻击,我们还需要检查两个压缩文件对应文本文件的CRC校验是否相同,只有相同的CRC校验码才能够进行明文攻击。如果不同,说明你用的压缩工具版本不对,或者写的Python程序存在问题。
准备好压缩文件后就可以用ARCHPR进行明文攻击了。配置如下,明文文件路径就是我们构造出的压缩文件路径,输出结果如图。
解压后得到一个flag.png,并不能直接看到flag。
这里很简单,只需拖入随波逐流工具进行自动解析,发现RGB位平面顺序的LSB下藏有flag,至此结束。
类型 | 伪加密、明文攻击、图片LSB隐写 |
---|---|
工具 | 010editor、ARCHPR、随波逐流工具 |
Flag | flag{vI0l3t_Ev3rg@RdeN} |
下载题目文件,是个png类型的图片。
放进随波逐流工具后发现结尾有东西,但是分离出的文件看不懂是什么,应该是没有分离好。在kali中用foremost再进行一次分离。得到了一堆杂七杂八的文件,其中有个zip,看这个文件结构应该是个apk文件。
直接用jadx打开这个zip,jadx是个很好用的java反编译工具,项目地址(https://github.com/skylot/jadx)。打开后上方选择“工具” - “文本搜索”,搜索关键词“flag{”就可以得到flag的具体位置。
但是看到这里发现还没有结束,因为这三个段之间还有两个随机数。绝大多数的ctf比赛对答案的提交都是有次数限制的,所以一开始我以为这里还需要进一步判断,比如这里的random函数被固定了随机数种子等,但琢磨了半天没发现什么特殊的。前面题目内容提示要暴力破解,前面是字母后面是数字。这不是强制降低平台正确率嘛。这里我直接用了别的师傅的wp中的答案,其中也没看到暴力以外的方法,有方法的欢迎找我一起探讨。
类型 | 图片隐写、apk逆向分析 |
---|---|
工具 | 随波逐流工具、foremost、jadx |
Flag | flag{25f991b27fcdc2f7a82a2b34386e81c4} |
下载题目文件,压缩名称为“FireFox....",内容是一个db和一个json,这是加密的火狐浏览器凭证。
直接查看信息是看不到什么有用东西的,需要先进行解密。这样的工具GitHub上面不少,但都是直接读取本地路径的,想要做题就需要先伪造一个本地的密码路径有点麻烦,前后试了好几个,最后最方便的工具是这个项目(https://github.com/lclevy/firepwd)。下载好后把两个题目文件复制进去。
运行后就出现了结果。这里有个大坑。。buuctf基本上所有题目都需要用flag{}包着,但这里的答案缺不用而是直接提交,害我连续错了两次。
python .\firepwd.py
另外在查工具的过程中看到了一篇写的相当好的文章,详细讲了火狐浏览器储存密码的原理以及工具该如何编写,有兴趣的可以看看。(https://apr4h.github.io/2019-12-20-Harvesting-Browser-Credentials/)
类型 | 取证 |
---|---|
工具 | firepwd |
Flag | GKCTF{9cf21dda-34be-4f6c-a629-9c4647981ad7} |
签到题目,题目文件内容如下。
Are you playing?
INSA{let_the_game_begin!}
类型 | 签到题 |
---|---|
工具 | 无 |
Flag | flag{let_the_game_begin!} |
各位,这期签到题不少,总体感觉稍微有点水哈。后续我可能会在题目的开头先把题目本身截图下来,这样即便是不去平台上看题也可以直接进行学习,但有条件的最好还是上手练练,平台上蛮多题目都不错的。
最后感谢支持!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。