吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4820|回复: 4
收起左侧

[会员申请] 申请ID:k0Sh1【申请通过】

[复制链接]
吾爱游客  发表于 2015-9-4 22:36
1、申请ID:k0Sh1
2、个人邮箱:k0pwn_0110@sina.cn
3、原创技术文章:
0x01 前言
一直在52pojie看帖子,学到了很多知识,感谢大牛们,我是接触信息安全一年多的菜鸟,现在进行的是二进制漏洞的研究,对汇编,C,Python(漏洞测试过程中的验证脚本),Ruby(由于用到Metasploit),都有一定研究,但是慢慢发现可看的资源太少,所以想申请会员了,看到会员的审核很严格,心里没底,所以我尽量把我的申请帖子写的全面一些,希望版主能够通过!谢谢,这里我将分三部分来介绍,第一部分是个人的一些简介,第二部分是我过去的一些技术文章分享,第三部分是我带来的一个CTF的Crackme的分析。写的不好还望各位大牛见笑!
0x02 个人的一些简介
首先我是360补天漏洞平台的一名白帽子,因为一直做二进制漏洞,同时对Web也有一定的研究
QQ图片20150904220544.jpg
重制的Sebug的白帽子,提交了一个phpcms漏洞后收到的邀请码
QQ图片20150904220625.jpg
乌云白帽子,由于后来转到补天所以大多数漏洞都提交在补天和其他企业SRC中,乌云多数是浏览drops学习大牛们的技术
QQ图片20150904221602.jpg
好吧似乎离我的二进制漏洞有点遥远了,马上回来!
0x03 过去的一些文章介绍
刚入行的时候在百度贴吧发过五个帖子,其中三个被加为精品,都是比较基础的内容
QQ图片20150904220706.png
http://tieba.baidu.com/p/3465287439
这是我在我的蜜罐中拿到的一个黑客的工具的逆向分析,主要用到的工具是OD,PEid,比较基础易懂。
http://tieba.baidu.com/p/3469534568
这个是对PDF的一个漏洞CVE 2013 0640的分析,主要用到的是Windbg,其中借鉴了看雪古河大大的分析,我承认当时除了调试MS08-067和MS11-050后对JS的一些分析还不到位,所以查阅了很多相关漏洞的资料,不过有些概念性的分析还是原创。
http://tieba.baidu.com/p/3503611974
这个是对一个服务器程序的Exploit,其中包含了IDA pro的静态分析,配合C语言构造Exploit,我承认那时候Python还没有入门,所以一直用C语言来写Exploit,当然没有恶意,这个是看雪的一道题目。
下面是我对一道CTF题目的分析,向52pojie各位大牛致敬!
0x04 大牛多多包含!
这是一道IDF实验室CTF训练营的题目,文件叫做Pe_Crackme1.exe,拿到这个exe首先是放到Peid里跑一跑看看是否加壳,如果加壳了还得进行分析找到正确的OEP,当然了作为一个入门级的Crackme这个并没有加上千奇百怪的壳。
QQ图片20150621221141.png
那么我们直接运行这个程序,并且输入一个错误的key之后,看看运行结果。
QQ图片20150621222819.png
当输入错误字符串的时候提示“u r wrong”,既然没有壳,那么我们直接放入OD,并且找到u r wrong字符串
QQ图片20150621223609.png
我们可以看到00E61615的位置将“u r wrong”字符串推入栈中,再调用printf函数打印,在00E615DC位置,我们通过查看00E65764的内容可以看到
QQ图片20150621223803.png
00E65764位置保存的两个字符串分别是0D 0A,也就是/r/n,是回车符,那么也就是说基本可以判断00E615DC往下是打印结果的部分,那么向上回溯就应该是key与输入字符串比较的部分以及产生key的部分。
PS:这里要解释一下,由于用OD搜索字符串时并没有搜索到代表key的字符串,那么可以猜测key动态产生的,如果要是本身写好了,那就更没有难度了通过回溯分析,我们发现了前面汇编代码段的几处关键跳转,回溯时,我们看到了一处循环,一处分步条件判断,然后就进入了我们的打印代码阶段,这三块的划分是根据关键的跳转点来区分的,按照汇编代码顺序可以总结为:
QQ图片20150621230911.png
QQ图片20150621231109.png
QQ图片20150621231022.png
图中画黑线的部分就是这几处跳转,在第一块,也就是循环部分中,会将ebp-cch处存放的内容与11h,也就是17作比较,这里作者使用了jge,也就是大于等于则跳转至第二块分步判断,进入第二部分后我们可以看到若不等,则直接跳至00E615C7的位置,而若相等则会继续向下进行,直到跳转至00E615D1,而在最后一块的黑线部分会做一次判断,也就是若ebp-c0h处存放的值与0做比较,若不相等,则会打印错误的字符串。
这里我们就发现了一个问题,在00E615C7的位置恰好执行mov dword ptr [ebp-0c0],1这条汇编指令,也就是将这个位置中存放的值置1,这就导致会打印错误信息,那么我们可以推断上诉的分步判断块内容可能与key值相关。
0x03key的分析
首先我们进入第一块,关于块中汇编代码的解释我已经注释好,其实这个解释是需要通过单步跟踪一遍可以得到的,下面会对这段注释进行一个说明。
QQ图片20150621233327.png
之所以判断这个循环可能也是一个key的产生和判断的原因之一就是对于eax寄存器的分析,在这个循环中,eax作为一个计数器使用,在每一轮循环进行时都会对eax累加1,当到达17个字符串时就会跳出循环,那么跳转指令下的内容就有可能是计算key和与密码匹配的部分,详细注释已经写好下面会做几点说明,首先我们判断ecx作为我们输入密码字符串的存储器,而edx作为key字符的存储器,之所以这么判断的原因在于对于movsx ecx,byte ptr [eax+ebp-20]这条汇编指令的分析,ebp-20处存放的内容如下:
QQ图片20150621233336.png
0042fc40就是ebp-20的值,那么此处存放的正好是我们输入的测试密码abc,这里取出1byte字符交给ecx,而movsx edx,byte ptr[eax+00E65768],我们直接来到00E65768,查看堆中存放的内容:
QQ图片20150621233404.png
这里存放很多个字符,但并不都是key的内容,正确的key存放的位置是要由这条汇编指令前两条内容获得的,而此时eax中存放的内容也不是计数的值了,而是可以看做正确key的偏移,而00E65768中存放的则是key的“基址”,这也就是为什么回到循环开始时,需要将eax重新赋值的原因。
最后我们要对ecxedx比较,若相等则直接进入下一个字符的判断,如果不相等,则说明密码错误,就会直接将我们之前分析到的ebp-0c0h位置的值置1,输出错误字符串。
那么到此为止我们只需要观察edx的值就可以进行第一部分内容的解密了。我们直接在循环入口处下断点,F9分析,按照我们之前分析的结果,对17个字符串进行记录。
QQ图片20150621234517.png
QQ图片20150621234526.png
这里我们省略了后面的循环,前两次循环中,edx第一个值为77h,也就是119,就是ascii码中的w,第二个为63h,也就是99c,以此类推,得到前半部分内容wctf{Pe_cRackme1_
17个字符判断完毕后我们就进入到第二个分步条件判断,通过第一部分的分析我们发现ebp-28h的位置是密码的起始位置,那么这里ebp-17h中间间隔正好是11h也就是17个字符,所以我们判断这个分步条件判断部分就是key的第二部分,这第二部分的判断相对简单,分别对[ebp-17][ebp-13]中存放的值分别取出,与31h30h32h34h7dh做判断,如果有一处不对,则跳到下面的mov [ebp-0c0h],1部分,这一部分正好和第一块中我们提到的部分意义相同,对这块解密为1024}
那么一个完整的key就为:wctf{Pe_cRackme1_1024},我们重新运行程序输入这个key值得到正确的结果。
QQ图片20150621235222.png
至此分析结束!
分析不好的地方请各位大牛批评指正,也请各位大牛多多包涵!

QQ图片20150621223103.png
QQ图片20150621230709.png
QQ图片20150621230735.png
QQ图片20150621230759.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2015-9-7 10:25
ID:k0Sh1
邮箱:k0pwn_0110@sina.cn

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。
k0Sh1 发表于 2015-9-7 10:37
k0Sh1 发表于 2015-9-7 10:55
吃西瓜的正太 发表于 2015-9-7 19:01
好列害  开启膜拜
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表