首页
社区
课程
招聘
[原创]2022 KCTF 秋季赛——KM_Zero安全团队
发表于: 2022-11-13 11:20 5748

[原创]2022 KCTF 秋季赛——KM_Zero安全团队

2022-11-13 11:20
5748

先解释下为什么发两个帖子,不太知道发帖格式,所以我们在12号是以压缩包的方式发送的,这次我们直接在帖子上进行描述。
题目是windows一类crackme,隐藏执行七段加密验证的shellcode。shellcode是通过特殊写法并嵌入混淆无效代码,然后vc编译后抠出来的。

团队名称:KM_Zero
成员看雪ID: 伯爵的信仰、SwiZ
团长QQ:760732725

见附件

勇敢的骑士经过激烈的战斗终于杀死了东方恶龙,但是在恶龙的藏宝库里并没有看见公主的身影,经过仔细搜寻,在藏宝库中发现了一扇暗门。破开暗门后,找到了一张暗黄的羊皮卷和七个爬满青苔的石盒。
羊皮卷上写道:真正的勇士敢于直面难解的谜题!解开所有石盒的秘密,就会得到你想要的!出发吧,勇士!

程序在正常运行后,会弹出验证码输入窗口,输入验证码进行验证,当输入验证码正确则出现验证成功提示,否则出现验证失败提示。
程序包括两个部分,一是窗口部分,一个是加密验证部分。在窗口收到输入的验证码并提交后,将验证码和加密过程的ShellCode脱壳并注入新进程进行加密验证并返回结果,窗口进程获取验证进程返回结果。
加密验证ShellCode三个方面的设计:一个是代码混淆设计,二是反调式设计,三是Key的加密和验证。在代码混淆的设计中,使用插入无效代码进行混淆处理,解题者应当想办法在其中找到有效代码;在反调试设计包括判断是否有存在硬件断点,是否存在软件断点INT3, 是否存在调试窗口,BeingDebugged是否为1等,解题者应当想办法绕过反调试。在对输入进行加密和验证的过程中,包括字典,异或,移位、分段置换等方式,解题者应当找到解密过程,最后是验证前面加密后的结果。
(注:ShellCode有七段,前六段都是单纯的对称加密,最后一段是对称加密和最终验证。算法都很简单,绝对可以逆推。)

题目核心加密算法,全部由编译成为了shellcode。
shellcode运行手法模拟木马常用手法,挂起进程注入,最后拿到程序结果判断成功与否。

首先要,确定KEY的长度,就是128位,程序逆向即可。

接着,提取出七段shellcode,提取点就是在Decompress这个API运行后可以找到,
接口都是如下

七段组合在一起的文件格式如下
4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE + 4字节长度 + SHELLCODE


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

最后于 2022-12-4 12:02 被kanxue编辑 ,原因:
上传的附件:
收藏
免费 2
支持
分享
最新回复 (4)
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
放压缩包和直接帖子发,都可以的。
2022-11-13 16:06
0
雪    币: 400
活跃值: (3943)
能力值: ( LV8,RANK:155 )
在线值:
发帖
回帖
粉丝
3
好的,明白,麻烦了
2022-11-13 23:09
0
雪    币: 47147
活跃值: (20460)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
         第八题 商贸往来
2022-11-14 16:00
0
雪    币: 400
活跃值: (3943)
能力值: ( LV8,RANK:155 )
在线值:
发帖
回帖
粉丝
5
谢谢坛主
2022-11-14 16:45
0
游客
登录 | 注册 方可回帖
返回
//