[转]我们该相信自己的眼睛吗?

我们该相信自己的眼睛吗?

就在几天前,我们的一个客户提交了一个病毒样本(SHA1: fbe71968d4c5399c2906b56d9feadf19a35beb97, 检测为TrojanDropper:Win32/Vundo.L),这个木马劫持了vk.com和vkontakte.ru域名(这两个都是俄罗斯的社交网站)并将他们重定向到了92.38.209.252这个ip,但是他们使用了一种不太寻常的方式。

通常劫持域名并将用户重定向到攻击者的仿冒网站都是通过修改Window系统位于%SystemRoot%\system32\drivers\etc目录下的hosts文件实现的,但是,我们在检查了受感染电脑的hosts文件之后并没有发现任何与vk.com和vkontakte.ru相关的条目,hosts文件看起来一切正常:

但是在我们选择显示隐藏文件之后,我们看到了另外一个隐藏的hosts文件,就像下面这样:

etc目录下居然有两个名字完全相同的hosts文件,这怎么可能?

很显然,一个目录是不可能包含两个名字完全相同的文件的,我们将这两个文件的名字拷贝到写字板,并保存为Unicode文件,然后使用16进制编辑器打开这两个文件(上面的是那个隐藏的hosts文件,而下面的则是第二个“hosts”文件):

在Unicode(UTF-16)中,0x006F就代表ASCII的0x6F,也就是字符“o”,但是Unicode的0x043E是个什么东东,通过查找Unicode码表(范围:0400-04FF),我们发现下面这个字符:

我们可以看到Unicode 0x043E是一个斯拉夫文字母,但是它看起来和英文的”o”字符几乎没有区别,所以那个隐藏的hosts文件才是真正的hosts文件,打开这个文件,我们可以看到木马在其中添加了2个条目:

谜底解开!

这并不是我们第一次发现黑客使用Unicode字符来误导用户,在2010年8月,就有一个中国黑客借助Unicode的控制字符来误导用户执行exe文件,黑客使用了Unicode控制字符0x202E(RLO)来反转部分文件名,这会改变文件名在Windows资源管理器中的呈现。

举个例子:假设有一个文件叫做”picgpj.exe”,就像下面这样:

文件名中的”gpj.exe”是有意构造的,只需要在”gpj.exe”前面插入一个RLO字符,文件名在资源管理器中就变成了下面这样:

黑客通常都会使用一个图片的icon来作为程序图标,这样粗心的人们就会将这个文件当作是一个图片,双击去执行它,从而导致恶意程序运行,很显然,这种技巧对于Unicode敏感的程序是没有意义的,但是对于人眼,要发现其中的猫腻则不那么容易。

那么我们应该相信自己的眼睛吗?答案是… 不总是

———-
本文来自微软恶意程序防护团队博客文章”Can we believe our eyes?”,作者:Zhitao Zhou,翻译:@yuanyiz

想和我们一道传播黑客精神?快来加入吧!

无觅猜您也喜欢:

你不是软件工程师

Sony为什么被黑,看看他们的CAPTCHA源代码就知道了

一个训练你摄影技巧的方法

JavaScript版查找树介绍及性能分析
无觅


from 牛博山寨 编辑推荐: http://heikezhi.com/2011/08/15/can-we-believe-our-eyes/

This entry was posted in 未分类. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s