首页
论坛
课程
招聘
[原创]CTF2017第三题分析(qwertyaa)
2017-10-28 19:05 1175

[原创]CTF2017第三题分析(qwertyaa)

2017-10-28 19:05
1175
必须先吐槽一下这道题夸张的多解... ...
首先载入OD(如果OD载不进去,可以尝试使用StrongOD之类的插件)
观察到EntryPoint并非典型VC,release程序,怀疑有壳,不过跟了几步,看到一个大的jmp表,就可以发现其实这是一个增量链接生成的exe。(这到底是有多随便,拿出来了一个debug程序,连个 release版本都懒得生成了吗?)
然后bp GetDlgItemTextA,定位到解密过程。
运行这一解密过程中可能会出现一些反调试StrongOD反不掉,在IDA观察到所有的反调试都是如下语句(由于OD下每次程序加载的基址不同,下面的地址均为IDA静态分析下的地址):

call    sub_***
mov     [ebp+var_20], eax
cmp     [ebp+var_20], 1
jnz     short loc_***
push    0
call    sub_42E086
add     esp, 4
loc_***:

调用的结束程序的函数都一样,那这么多种反调试意义何在(作者有空写这么多的反调试方法就不能空出一些时间写多种退出吗,恕我无法理解)?直接把sub_42E086内jmp到的那个函数开头改为retn,完事。
然后用IDA和OD配合分析代码,首先是sub_434990,看到byte_48B0FD的内容,不难猜测该函数的作用是base64_decode。

sub_435DE0内的一些静态字符串都是.-*之类的,不难猜测和morse有关,其实是将一种 (可能) 特殊的morse电报码转换为字母数字和空格组成的字符串。

sub_42DA78内是三个函数,第一个里面又初始化了一些常数,这是典型的加密算法的特征,但萌新看不出来是什么算法,随便选几个常数百度发现是SM3(一个不怎么有存在感的国标hash算法)。

(程序中还藏了一些字符串,什么base641/2,morse,提示上述算法的存在... ...)

后面似乎把计算出来的内容从二进制转换为由字母数字组成的可视的hex,然后和一开始输入内容比对,大概是bin2hex(SM3(morse_decode(base64_decode(base64_decode($key)))))==subtr($key,0,-20),似乎base64_decode有特殊的技能忽略最后的加上去的SM3得出的值,这点我没有进一步分析,可能和第二次base64_decode时这部分不再由base64可接受的可见字符组成有关。

接下来还有一个验证sub_42D9AB,传入参数push offset unk_49B000是存着一个10*10的01矩阵,分析代码可知是它把morse_decode(base64_decode(base64_decode($key)))这个字符串从前向后扫描,扫描到qzlp四个字符时将指向01矩阵中从左上(0,0)的一个指针,上下左右移动,其中到(3,8)处后不会再动,并且程序在收到空格后结束,只要这个指针不碰壁(1为墙壁,0位空地),或者在其中两种操作后不回走,就可以成功输出ok。

这就是多解的万恶之源,它甚至不检查是否有其他字母混进来,甚至空字符串也可以通过,也不要求走到哪个位置,也不检查空格后有无额外字符....

我走完了这个迷宫,得到一个长key

TFMwdUxpQXVMUzR1SUMwdExpNGdMaTB1TGlBdUxTNHVJQzR0TGk0Z0xpMHVMaUF0TFM0dUlDMHRMaTRnTFMwdUxpQXVMUzB1SUM0dExTNGdMUzB1TFNBdUxTMHVJQzR0TFM0Z0xTMHVMaUF0TFM0dUlDMHRMaTRnTGkwdUxpQXVMUzR1SUM0dExpNGdMUzB1TGlBdUxTNHVJQzR0TGk0Z0xpMHVMaUF0TFM0dUlDNHRMaTRnTGkwdUxpQXRMUzR0SUMwdExpMGdMaTB0TGlBdExTNHRJQzR0TFM0Z0xTMHVMU0F0TFM0dElDMHRMaTBnTFMwdUxTQXRMUzR0SUM0dExpNGdMaTB1TGlBdExTNHRJQzg9b92a72497b685c31013347a7276f371f8cf91085ab8322009bfed2df41d94f94

至于出题人的意图到底是走到哪,以我垃圾的想象力不能从这段程序中想出来...


[培训]12月3日2020京麒网络安全大会《物联网安全攻防实战》训练营,正在火热报名中!地点:北京 · 新云南皇冠假日酒店

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回