不得不说,la师傅出的misc题tql
对我这种才学一两个月的新人简直不讲武德
层层套,层层解密
感谢DonmeN一起前进和提供USB流量思路
misc1_共婵娟
但愿人长久,千里共婵娟
MISC之王争夺战!
两密一一对应,填入神秘代码
@⎝Lazzaro⎠师傅供题
hint1:神秘代码中有东西缺失,填补后开阔思维, / 仅是分隔线
hint2:https://pan.baidu.com/
hint3:
有了hint2其实就用不了hint1了,等会再讲。
第一层:zip密码猜测
下载得到附件,发现密码加密
winhex查看发现没有伪加密,所以想办法得到zip密码
all-number和long。emmm
思考了一会儿,尝试将字母对应的数字填进去(A=1,B=2……)
279121518192122
解压得到Orz.jpg,有趣的地方才刚刚开始。
第二层:寻找流量包解压密码
拿到图片后,尝试foremost分解一下,分解出了zip包,打开一看需要密码,那么图片肯定藏的有密码
查看jpg的文件尾,就是刚刚那个zip,然后我看了看属性,发现高和宽
有问题,按道理来说,这种图应该是方方正正的吧,改一下高度试试
204的十六进制是CC,所以在winhex搜索00CC,随便改一个比如01CC
改了之后再查看图片
得到解压密码JZHUHDGVC
得到流量包:mysterious.pcapng。
第三层:USB流量包分析
打开附件,得到流量包,发现全是USB协议
USB协议怎么那么多,那么杂呢?
闻了一下la师傅,la师傅说那些可能是在出题的时候混进去的
好家伙,卡了那么久的流量包,就应该按照正常思路去做。
这里参照的是http://www.ga1axy.top/index.php/archives/22/
而且发现中间有很多长度34,35,36之类的
分别查看一下
最后发现当长度为35的时候满足键盘流量(8字节),kali下用指令提取出来并分隔成2byte形式
kali下提取len=35指令:tshark -r mysterious.pcapng -T fields -e usb.capdata -Y frame.len==35 >out.txt
得到
这里讲一下 前面的20和00
下方图片来源:记一次CTF的USB流量分析
20转换成二进制是00010100
对应bit3和bit5
而按下shift时,打出来的是大写
(02也是,转二进制是00000010,bit1)
所以用脚本将键盘信息提取出来是
1J9dhfZlHcgU1cHdnDG4VCw/dmdm(已经删除了<del>)
根据hint2和百度网盘分享长度可知,前面正是分享的链接,而后面是提取的密码,访问即可得到下一步。
第四层:零宽字符隐写
下载百度盘的附件,可以得到中秋节的来历、由来、传说和习俗.txt
用winhex一看就发现了零宽字符。kali下查看
U+200b U+200c U+200d U+200f
见f识人
全部复制下来,解密https://offdev.net/demos/zwsp-steg-js
得到一长串含有等号的大小写跟数字
第五层:base64隐写
为了确定这确实是base64,拿去base64解密第一行
确实是,那么我将一串base64放进txt,使用替换功能正则匹配将==替换成==\n
这样一来,方便进行解密,使用脚本解密得到
将最后那一串拿去base64解码,发现不对,长度为251却没有等号,进行base58解码发现解码成了emoji。
第六层:伤脑的emoji
得到emoji后,进行了大量的尝试和翻阅,最后发现
http://taqini.space/codemoji/#/encrypt
这个符合条件,但是遇到两个问题
第一:只能编码无法手动解码,除非分享链接,但是解码内容固定,我当时想把密文加密再然后再去解密,但是这样并不知道加密方式,无法解密
第二:密文是加密形式,不知道是那种加密方式,这里就无法进行正确的解密
最后,在重重又重重又重重又重重又重重又重重又重重又重重的努力下,找到了个爆破的神器,大小仅100k不到。
https://github.com/pavelvodrazka/ctf-writeups/tree/master/hackyeaster2018/challenges/egg17
下载下来,打开cracker.html,输入你的emoji,直接爆破,他会给你正确的加密方式和密文
得到加密方式和密文后,去官网http://taqini.space/codemoji/#/encrypt进行检验,发现正确,这一步终于大功告成,flag就在眼前?
第七层:奇怪的base62
这里也是一大卡点,解出来了之后,放不同的平台都解不出来,但是能确定的是这不是64或者58
长度46,已经不满足base64了(除非自己添加==)
字符串中含有字母l,不满足58
有大小写数字的就只剩下base62
但是这里遇到瓶颈,找了几个base62平台,解出来分别是数字、数字、乱码、直接报错,只有CyberChef解出来是正确的(之后补充原因)
第八层:仿射密码
hint3:y=ax+b,a是斜率3,b是常数6
这里得注意,他得到的值包含大小写和数字,有的平台或者软件是解不出来的,要找的正确的工具,这里还是用CyberChef。
得到flag
套娃好玩,希望简单亿点点。