机器学习和生物信息学实验室联盟

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3019|回复: 4
打印 上一主题 下一主题

你能相信自己的眼睛吗

[复制链接]
跳转到指定楼层
楼主
发表于 2011-8-23 12:42:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 sunyuanshuai 于 2011-8-24 08:52 编辑

几天前,一个客户向我们提交了一个病毒文件样品(SHA1: fbe71968d4c5399c2906b56d9feadf19a35beb97, 检测认定为TrojanDropper:Win32/Vundo.L病毒)。这种特洛伊病毒在hosts文件里劫持“vk.com” 和 “vkontakte.ru”这两个域名(两个都是俄罗斯的社交网站),把它们重定向到92.38.209.252,但它们的实现方法却很独特。

要想劫持一个网站,把它重定向到自己指定的地址,黑客通常的做法是修改Windows系统里位于%SystemRoot%\system32\drivers\etc目录下的hosts文件。然而,当我们打开这个受感染的计算机上的hosts文件时,却没有发现任何的跟“vk.com” 和 “vkontakte.ru”相关的条目,就像你在下图中看到的一样。



但当我们显示出隐藏文件时,却看到了另外一个“hosts”文件。是个隐藏文件,你可以在下图中看见它们:



在etc目录下有两个名称完全相同的文件,都是“hosts”!这怎么可能?

大家都知道,一个文件夹里不可能存在两个名称完全一样的文件。我们把这两个文件名拷贝到notepad里,存成Unicode文本文件,用十六进制文件编辑器打开,看到如下的结果(上面的是第一个“hosts”文件,下面的是第二个“hosts”文件):



在Unicode(UTF-16)中,0x006F 和 0x6F 表示的是相同的ASCII字符,都是字符“o”。但Unicode中的0x043E是个什么字符呢?从Unicode字符表中我们能找到了它(范围:0400-04FF)。下图就是部分的字符表。



我们可以看到,Unicode 0x043E 是一个西里尔字母(斯拉夫语言, 如俄语和保加利亚语所用的字母),它跟英语字符“o”非常的相似。

所以,这隐藏的“hosts”事实上才是我们真正的hosts文件。当我们打开这个文件,发现在文件的末尾多了两行内容:



谜团解开了!

这并不是我们第一次发现黑客用Unicode字符来迷惑人们。在2010年8月,一个中国黑客揭示了一个使用Unicode控制字符来误导人们点击 可执行文件的骗术。黑客使用Unicode控制字符0x202E (RLO)来反转文件名中的特定部分,使你在Windows中看到的文件名变成了另外一个样子。

例如,建一个叫做“picgpj.exe”的文件,就像下面这样:



文件名中的“gpj.exe”部分是特意设计的。当你把一个RLO字符放到文件名中“gpj.exe”部分之前后,这个文件名变成了下面这个样子:



黑客通常会给这样的文件加上一个图片图标。粗心的人就会把这个文件当成一个图片,轻率的双击打开它,实际上是运行了一个可执行文件。很显然,这种骗术对于Unicode敏感的程序是无效的,但如果用人眼识别,你很难发现问题。

我们能相信自己的眼睛吗?答案是…不能。

引自:http://www.oschina.net/news/20771/can-we-believe-our-eyes

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享
回复

使用道具 举报

沙发
发表于 2011-8-23 13:50:59 | 只看该作者
恩,很有意思,我以前也发现过两个同名文件在一个文件夹中的事情,只是没深入考虑
回复 支持 反对

使用道具 举报

板凳
发表于 2011-8-23 19:41:49 | 只看该作者
是不是说hosts的字母o是不一样的?那如果用命令行打开的话,比如输入命令vi hosts是打开哪个?
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2011-8-24 08:58:08 | 只看该作者
本帖最后由 sunyuanshuai 于 2011-8-24 08:58 编辑
xmubingo 发表于 2011-8-23 19:41
是不是说hosts的字母o是不一样的?那如果用命令行打开的话,比如输入命令vi hosts是打开哪个?


当然打开的是隐藏的文件了,师兄{:biggrin:} 。两个文件名是不一样的,没有隐藏的文件是病毒生成的,用西里尔字符的’o'替换了‘O'当然这两个字母非常像。当域名解析的时候访问的是隐藏的hosts文件,所以本来输入的是百度结果跑到Google了。它的原理是这样的。
回复 支持 反对

使用道具 举报

5#
发表于 2011-8-24 09:33:30 | 只看该作者
sunyuanshuai 发表于 2011-8-24 08:58
当然打开的是隐藏的文件了,师兄 。两个文件名是不一样的,没有隐藏的文件是病毒生成的,用 ...


懂了...被图形界面欺骗了。这些个人太聪明了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

机器学习和生物信息学实验室联盟  

GMT+8, 2024-11-23 16:54 , Processed in 0.071078 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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