首页
社区
课程
招聘
[原创]CTF2017秋季赛第五题的穷举解法
发表于: 2018-1-4 12:22 4506

[原创]CTF2017秋季赛第五题的穷举解法

2018-1-4 12:22
4506

        CTF2017秋季赛虽然已经过去2个月多,对于其中第五题,不少大牛给出了逆向的解法。剖析展示了详细流程及椭圆曲线、矩阵、魔方变换什么的等复杂算法。对于加密算法,比如对称算法、非对称算法、线性散列算法、椭圆曲线、傅里叶变换、欧拉公式。。。一概不知,所以便有了以下的穷举解法。

         通过ida和od分析一些关键信息:





由上可知序列号的一些关键信息,位数、算法call和验证点,由于对复杂算法的无知,便有了穷举解法脚本:
        上图FE7211中jne正常跳往失败,为循环验证,现改为jmp FE7209,再次进入算法call中验证下一个序列号,下一个序列号由以下脚本中穷举12位序列号生成的js代码产生(脚本第25到36行),再覆盖写入第一次输入序列号的内存地址(视频中为第一次输入012345678978),然后按照原程序的判断逻辑算法进行验证,如果符合算法要求便弹框显示结果,否则jmp到算法call中继续验证。其中要注意的是再次跳回算法call中时要注意恢复eax和edx第一次运行时的内容(脚本第21、22、43行),这样程序才能循环穷举不出错。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2018-3-8 09:11 被ssarg编辑 ,原因:
收藏
免费 1
支持
分享
最新回复 (5)
雪    币: 3238
活跃值: (1043)
能力值: ( LV13,RANK:928 )
在线值:
发帖
回帖
粉丝
2
哪有这种不动脑筋的好事呢
比如一个密钥校验算法需要运算的时间是Θ(n^2)(n是密钥长度即长为n  bit),而穷举所需时间是Θ(n^2*2^n)
假设破解者采用更高效的计算工具,消耗的时间是普通用户的平方乘(10/3),用户对密钥校验算法的忍受时间为1s,而破解者可以破解1年
现在的普通计算机每秒大概能进行3亿次运算,那么密钥长度可以为1万bit,
而穷举它需要普通计算机进行10^3010s,破解者算10^2993年(*)。
而计算机发展到2xxx年,破解者1年可以算出的时候,普通计算机每s运算10^1500次,这时密钥可以长达10^750bit,
破解者反而要计算10^(10^750/log10*log2)余次,也就是接近10^(10^750/log10*log2)/2年,比前面那个数字*更令人绝望。
最后于 2018-6-18 18:51 被qwertyaa编辑 ,原因:
2018-6-18 18:51
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
   
最后于 2018-6-19 11:49 被ssarg编辑 ,原因:
2018-6-19 11:24
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
4
qwertyaa 哪有这种不动脑筋的好事呢比如一个密钥校验算法需要运算的时间是Θ(n^2)(n是密钥长度即长为n  bit),而穷举所需时间是Θ(n^2*2^n)假设破解者采用更高效的计算工具,消耗的 ...
我认为天下有不动脑筋的好事,问题关键不在于有没有,而在于在概率上你是否是幸运儿。
你所说的正是目前算法安全的根本,那就是看似无法忽略的时间。
实际上掌握计算资源的人可能开干了。我看好算法会败给日益强大的计算能力。
2018-6-19 11:49
0
雪    币: 3238
活跃值: (1043)
能力值: ( LV13,RANK:928 )
在线值:
发帖
回帖
粉丝
5
ssarg 我认为天下有不动脑筋的好事,问题关键不在于有没有,而在于在概率上你是否是幸运儿。 你所说的正是目前算法安全的根本,那就是看似无法忽略的时间。 实际上掌握计算资源的人可能开干了。我看好算法会败给日益 ...
了解一下量子计算机"破解"RSA的算法好吗?关键是量子计算机这个计算模型下运用特定的算法可以扭转时间复杂度的劣势
计算能力再怎么强大,也是有极限的,10^80次方宇宙原子数目,.这个数字看似很大,暴力算法随便一个指数就超过了
Google成功碰撞攻击SHA-1,看似是掌握了计算资源就可以,但没有算法的优化,这一天的到来要再等几十年
计算能力、资源的瓶颈也很快就要到来了,那个什么定律已经失效了,摩尔定律还在靠并行化死撑,要突破这个瓶颈也是要动脑筋的
我认为天下不动脑筋的好事,遇上了最多让你富贵一时;但要让你改变世界(即使是其中一小部分),那肯定是要动脑子的。
2018-6-19 18:44
0
雪    币: 465
活跃值: (667)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
6
qwertyaa 了解一下量子计算机"破解"RSA的算法好吗?关键是量子计算机这个计算模型下运用特定的算法可以扭转时间复杂度的劣势 计算能力再怎么强大,也是有极限的,10^80次方宇宙原子数目,. ...
你说的可能也对,我说的可能也没错,这就好比薛定谔的猫-量子属性,呵呵。
赶紧准备破第三题吧,我看好你。
2018-6-19 20:36
0
游客
登录 | 注册 方可回帖
返回
//