MD5 碰撞算法伪装木马,躲过杀毒软件查杀,加入360白名单。MD5 碰撞发生器 v1.5,fastcoll_v1.0.0.5.exe,MD5 Collision Generator v1.5,根据王小云教授的算法写的MD5碰撞的程序。
快速MD5碰撞生成器,王小云改进版。这个生成器根据“构造前缀碰撞法”可以生成两个不同的文件,而这两文件的md5 sum却是一样的。
构造前缀碰撞法可制作两个内容不同但具有相同MD5验证码的文件。
刚才在 T00ls.net 看到个帖子,内容如下(内容有修改,去除了一些不重要的回帖):
楼主: 年前购买了一个免杀远*,300¥一个月,免杀效果确实牛B,过国内外主流杀软,在手3个月都没杀,大概5月份360更新后要提示了,然后联系客服更新,这样陆陆续续更新了几次,效果都很好,9月底,360更新后全部杀了,然后联系客服,客服说以前的技术被360分析出来了,然后让我们等待2周时间,那边技术在研发新的技术,国庆节后客服发过来一个更新的远*,我测试以后都过,在360进程查看器和网络连接查看都提示文件安全,但过了一天360又报文件为木马文件,我再次联系客服,客服让等1个小时,所技术正在解决,然后一个小时后,360又不杀了,提示安全(注:马还是以前的马,没有更新过,MD5这些都是一样的!) 难道远控的技术和360!!!, 求解!!! |
楼主: 我想了解的是 为什么360杀了,然后一个小时后,同样的文件360又不杀了,其他什么认证,地下工作者我就不想去了解了 |
路人甲: 二种可能 360内部人卖马,360被日了 |
路人乙:
1.360内部人卖马 |
路人丙:
360收黑钱,不干人事,鉴定完毕。 |
楼主: 回复 路人丙 都不杀,已经测试过了 |
路人丁: 万一是远控的云端也在做某种远程更新呢?不能说MD5不变,就是有JQ,无凭无据。 |
路人戊: exe的MD5不变,不代表exe肯定不下载新的DLL或其他的模块吧? |
本人回复: 应该是认证环节 被人有空子可钻。。 |
本人回复: 我认为,最有可能的是认证环节,也就是360的白名单认证制度。 前提条件是,360是使用标准MD5值进行程序唯一性验证。 但MD5有个问题就是,碰撞算法,可以产生两个MD5相同、但功能不相同的程序。 把正常的程序提交上去后,让360认证,认证完毕,加到白名单,另外那个也“免杀”了。 据我所知,一年前(实际上是2005年左右的)出了一个东西,自动生成一样MD5值的程序的工具。 而且貌似支持根据指定程序生成一个一样MD5值的程序。 如果360不是使用标准MD5的话,其他算法也有此可能。 |
本人回复:
MD5 Test_A.exe:与 B 的 MD5 相同,但功能不同。 ---------------------------------------------
MD5 Test_A.exe:
MD5 Test_B.exe: (2011-10-11 5:48:05 补充:然后我跑去写了个小程序,MD5值一样,但功能不同,原帖以附件的形式存在,这里我给出下载地址。) MD5_碰撞测试程序_示例程序.rar:http://115.com/file/clonsfie |
实际上从2004年8月17,我国山东大学王晓云教授破解MD5的论文发布后,关于这个MD5碰撞算法的话题就不断,几年之后,就没人讨论了,在我们这一代很多人都没听说过,我也是一两年前知道MD5碰撞算法,当时查阅了部分资料,了解了个大概。
我又把这个话题拉出来讨论下,不过这次是讨论的木马免杀方面的。。。实际上也和免杀无关,只是从免杀想到的。
如上贴内容所示,如果能成功伪造MD5,那么躲过杀毒软件查杀,甚至加入白名单,都不是问题了。
题外话:我不知道360是不是使用的标准MD5算法验证文件的,我从没注意过。如果是的话,那么,现在杀毒软件中好像就只有360这个白痴还使用标准MD5算法验证文件……
不过从以下内容来看、、360还真的是用MD5算法验证文件的、、、真坑爹……
以下内容转自几年前其他人发表的文章:
以下是引用片段:
原来我总是很自信地以为:你有本事找到 MD5 的碰撞又如何?你难道还有本事让两个可执行文件的 MD5 一样,却又都能正常运行,并且可以做完全不同的事情么? http://www.win.tue.nl/hashclash/SoftIntCodeSign/HelloWorld-colliding.exe http://www.win.tue.nl/hashclash/SoftIntCodeSign/GoodbyeWorld-colliding.exe 这两个程序会在屏幕上打印出不同的字符,但是它们的 MD5 都是一样的。 通读其论文后摘要如下: 这几位密码学家使用的是“构造前缀碰撞法”(chosen-prefix collisions)来进行此次攻击(是王小云所使用的攻击方法的改进版本)。 他们所使用的计算机是一台 Sony PS3,且仅用了不到两天。 他们的结论:MD5 算法不应再被用于任何软件完整性检查或代码签名的用途。 另:现在,如果仅仅是想要生成 MD5 相同而内容不同的文件的话,在任何主流配置的电脑上用几秒钟就可以完成了。
这几位密码学家编写的“快速 MD5 碰撞生成器”:http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip
运行结果不一样。 未必对现有exe 有实质性的威胁, 但是很明显 是有威胁的。 如果可以加入木马。重新算出md5 的话 |
以下是引用片段:
用易语言编译的两个EXE,文件内容不同,但是MD5相同。有图为证。 |
以下是引用片段: 用事实说话MD5破解:md5一样两个不同功能内容的文件(附md5破解工具) 能力有限,就不多说了。用事实说话,先看看下面两个在网上满天飞的md5一样二内容功能不同的程序吧: 文件一:
File: D:\HelloWorld-colliding.exe 文件二:
File: D:\GoodbyeWorld-colliding.exe 可是我们能不能自己制作两个md5 一样而内容不同的文件呢?请继续看下面的操作截图(后附工具)
以上就是大名鼎鼎的"构造前缀法"破解md5 的方法(以下就提供破解工具和"构造前缀法"的含义) -p 前缀文件(破解工具会以此文件为前缀构造md5碰撞文件) -o 出处文件(默认的输出文件名是-o msg1.bin msg2.bin) 到这里又有人会问,能不能自己制作一个是病毒木马、一个是正常无害的两个md5 一样的文件呢???
答案依旧是肯定的,下载下面两个文件你就知道了(由于论坛不能放木马之类等,所以只提供外链地址) 依旧会有人问,这是怎么生成的?(这个就不能奉告了,有兴趣的话自己慢慢研究吧,累了)。 |
以下是引用片段: 给大家个好玩的,,关于MD5碰撞,及360的信任列表隐患,将在6点半更新
纯讨论
首先
文件名称:C:\Documents and Settings\Administrator\桌面\2\cbi2.exe
大家可以看出,,两个文件的md5值是完全相同的 再来看一下刚刚碰撞出来的360安装包
文件名称:C:\Documents and Settings\Administrator\桌面\cbi.exe
文件名称:C:\Documents and Settings\Administrator\桌面\cbi2.exe 同样的,md5相同 sha 和crc不同 如何做出这些呢 ,都来自一位叫王小云的密码天才的思路弄的 而且完全不会影响运行 两个安装包皆可运行,,md5相同,,内容是不同的 或许很多人会说sha1呢,,,很遗憾 05年王小云把sha1也破解了,,,,,
不说太远的,,回归话题,,说一下360本地的信任机制
接下来 我们把它添加到信任 列表 很多人以为,360的信任列表是匹配路径的,,其实错了,,是直接将md5加入白名单 我们来试试把这个文件移到其他地方 可以看到,,这个文件运行成功了,,这验证了 "很多人以为,360的信任列表是匹配路径的,,其实错了,,是直接将md5加入白名单" 这个结论 接下来,,我们来看看是不是一定是md5 还是其他算法
我们采用相同md5,但是sha1和crc完全相同的两个文件来运行,,同样的 可以运行,,由此可看出,, 而是将md5加入信任列表,,, 或许目前来看这还算安全,,虽然已经能随意产生两个md5完全相同的了,,,但是用在特殊方面,,这无疑是个巨大的漏洞,,
|
以上是相关的资料,需要其他资料可以自己去搜:md5 碰撞,有大量资料查阅。
实际上,MD5 值一样,但功能不一样的程序很容易实现,需要一点编程知识,及一点点技巧。。。
方法你自己多试几次就知道了。。。
我自己写的俩小玩意儿如下图所演示:
MD5 Test_A.exe
MD5 Test_B.exe
MD5_碰撞测试程序_示例程序.rar:http://115.com/file/clonsfie
用到的工具如下:
1、MD5 碰撞发生器 v1.5 (MD5 Collision Generator v1.5)
2、一点点编程技巧
官方地址:http://www.win.tue.nl/hashclash/
下载地址:http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5.exe.zip
源码下载:http://www.win.tue.nl/hashclash/fastcoll_v1.0.0.5_source.zip
MD5 碰撞发生器 v1.5,MD5 Collision Generator v1.5: MD5 碰撞发生器 v1.5 MD5 Collision Generator v1.5 示例: fastcoll_v1.0.0.5.exe -p C:\WINDOWS\system32\cmd.exe fastcoll_v1.0.0.5.exe -p C:\WINDOWS\system32\cmd.exe -o a.exe b.exe --------------------------------------------------------
MD5 collision generator v1.5
Allowed options: --------------------------------------------------------
MD5 collision generator v1.5
Allowed options: -------------------------------------------------------- |
2012-07-15 14:08:56 补充:
大约在9个多月以前,本人写了这篇文章,自从写了这篇文章之后,互联网上就热议不断,议论的内容则更侧重于免杀方面……
后来渐渐地出现了一种所谓“指定 MD5 值进行碰撞”的免杀方法,误导了无数人,后来本人又写了一篇关于这方面的文章,具体可以查阅以下链接:
指定MD5值碰撞,指定MD5碰撞免杀,修改木马MD5值和系统文件一致
2012-07-15 15:45:38 补充:
我发现仍有很多同学没搞清楚“两个功能不一样,但 MD5 值一样的程序”究竟是如何碰撞出来的。
关于这个话题,我单独写了一篇文章,具体请参阅:
如何碰撞两个功能不一样,但 MD5 值一样的程序的方法 + 源码公布
留言评论(旧系统):