MD5加强验证 挑战王小云破解

ps:从neeao那里转过来的

信息来源:幻影旅团
作者:allyesno

做梦想到了一个加强md5验证的方法 醒来了赶紧测试一下

地球人都知道MD5 被王小云破了!!!破了!!!破了!!!破了!!!破~~(shut up)
其实不是破了而是用他们的算法,在数个小时内就可以找到MD5碰撞。就是你用一台IBM P690数小时内能创造出两个MD5相同 内容不同的东东来。有点意思吧。ibm p690是32个cpu,8GB内存的机器,sigh,这东西我们可是买不起的。何况这只是碰撞,如果你要根据已知文件去构造一个相同md5而内容不同的东东那就更难了,用在网络安全方面,假如你要构造一个跟系统文件相同md5,而内容不同可以运行的木马那更是那上加难了!

世事无绝对阿,假如真的有那么一天,我是说假如,可能就是明天,你突然发现你家机子多出31个cpu,又多出了7G内存,那你还等什么赶紧动手伪造md5做个后门吧。你用淫秽的目光锁定了 系统文件 lsass.exe 检测了它的md5值为 41919B8C4B96079EC210D1BF269EE39D 然后你打开 notepad 写了个rootkit :lsass.rootkit
注意:我这里说一下 windows 记事本写 rootkit 的方法 关键是 你必须保存为.rootkit
如果你保存为.txt 那就是文本格式了 很多人写的 rootkit 运行不了 就是因为这个原因
好下面我们比较这两个东东 看截图

这样rootkit就写好了 由于md5值跟系统文件 lsass.exe是一样的 就更加增加了check的难度
再yy一样,如果把后门写成热门程序,比如人手一份的 winrar,BT,icesword 等软件放给大家下载,md5值都一样 中招的那就多了 娃哈哈。。
说了一大堆废话 现在进入正题,假如这种情况有一天出现了,我做梦的时候想到了一个加强验证的方法。
想的过程我就不详细说了,无非是刷牙洗脸,躺在床上,朦胧间就想出来了。
具体说说该猜想。
我们可以 附加一个验证 文件给 lsass.exe 然后把他俩结合在一起 再check他们的 md5 值。
就算你能构造跟系统文件相同 md5 的rootkit,就算你还能伪造一个md5相同的验证文件,但你要伪造验证文件 + lsass.exe 所得 md5 值那是不可能的,娃哈哈。。
这还是猜想,能不能通过还得测试一下,我们这就测试一下吧:)
看截图

唉搞出来了,关键是用copy/b结合他俩的时候的顺序、姿势,谁前?谁后?谁上?谁下?很重要的!
总结一下:

当使用 copy/b lsass.exe+md5check lsass.rootkit+md5check 得出lsass.md5 lsass.rootkit.md5的时候两者的md5 仍然会相同
当使用 copy/b md5check+lsass.exe md5check+lsass.rootkit 得出lsass.md5 lsass.rootkit.md5的时候两者的md5 不会相同
用这个方法就可以来验证文件的 md5 而不怕被伪造了
具体应用嘛 如果是提供给别人下载的文件 应该提供一个附加验证文件 md5check 和三个 md5 值
分别是 下载文件的 md5 值 验证文件的 md5 值 以及 两者结合以后的 md5值

如果是系统文件 也可以按照同样的 方法 好在系统文件 都不大虽然多 不过写程序遍历 我看很快就可以搞掂的 呵呵 终于 yy 完毕 如果真的到了 md5 可以任意伪造的那天 我看 md5 早就被md6,7,8,9 代替了 也用不着这么麻烦的验证了 ^_^

后记:我通常会把文章发到幻影旅团和安全焦点去,有记者问我,你是先发到幻影还是先发到安焦的阿
我是同时发的,记者说不可能吧,肯定是有一个先,一个后的吧。我说:“你问这个问题很不友好,有点操蛋,还有点挑拨离间,中国的媒体不能这么没水准。你让我很不高兴。我觉得你问的这话有点挑拨 离间的感觉,很不友好,对不起,我话说得有点糙,因为我很不高兴,你这么问问题。因为你让我不高兴,我必须让你不高兴,这是我的做人方式。我觉得你不能做一个烂媒体,只能做一个好媒体。我是这样的,我就这样,至于你,我这么回答你高不高兴我也无 所谓。
我是这样,你不招我,我很友好,你要招我,我就让你不痛快。” relax just a joke ^_^

ps:把文章中提到的东东都打个把传上来 大家测试吧 多批评 多指教 哈

来来补充两个:
iamidler : sha1 +md5 其实这个方法也是王晓芸搞了碰撞以后 有人也提出这么做的
另外我补充一个 : 用rar压缩 然后验证md5 数据内容不同 压缩出来的咚咚 md5自然不同了 呵呵 不过rar的方法还是不保险的 想想就知道为啥了 有两种情况嘛
点击下载

相关日志

楼被抢了 8 层了... 抢座Rss 2.0或者 Trackback

  • kuhanzhu

    MD5破解的说法有点会误人!
    而且说得太多,其实也就那么一句话:MD5加密存在碰撞,也就是内容不同,经md5加密后会存在密文的可能。
    其实做程序的嘛,加个salt就很安全了,或者如md5(admin&psw)
    这样的密文怕破解了都没法用上,而且admin&psw本身会加大密文的原文长度。

    • 方哥

      你这明显是掩耳盗铃,只要能过能MD5验证就OK了,谁还会去关心 admin&psw 呢?

      如果要改,我个人觉得应该在验证函数前后加以改进,使之对称。意义仍旧不大。

  • kuhanzhu

    现在想想,这科学家就是有点傻,亏她是学数学的,想想好了。MD532位的加密,什么意思?就是加密之后数据成32位了
    举个例子,1位的0,1,2,3,4,5,6,7,8,9,只要有9+1+个数据就可以重叠(最多)
    2位的00,1,2,3……99,只要有99+1+1个数据就可以重叠了。(最多)
    那么32位的也是00000000000(32位),0000000000……1(32位),999999……(32位),这样是9999……99+1+1个就能重叠了,(最多)当然这里是不包括字符和特殊符号的,但用这想想就知道,md5肯定是可以找到两个文件一定经过加密后md5值一样的啊。

  • 鬼仔

    呵呵。你对这个很感兴趣哦

  • kuhanzhu

    太简单了,不是感兴趣,哈哈。

  • 鬼仔

    偶数学比较烂。。。

  • tester

    kuhanzhu 明显不懂MD5……
    MD5是16位,不是32位,不是你看到有32个字符的结果就是32位。。。
    用MD5处理数据应该叫哈希,或者散列,不是加密。
    MD5不是你想象的32个0到32个9之间的值,MD5的值域应该是256的16次方,也就是发生碰撞的几率是256的16次方分之一。

    • 不填说不了话

      MD5是128位,不是16位

发表评论