我们能相信自己的眼睛吗?
来源:互联网 发布:能赚钱的软件 编辑:程序博客网 时间:2024/06/02 13:38
几天前一个客户向我们提交了一个样本(SHA1值为fbe71968d4c5399c2906b56d9feadf19a35beb97,检测结果为TrojanDropper:Win32/Vundo.L)。这个木马使用了一种特殊的方式劫持了vk.com以及vkontakte.ru这两个域名(都是俄罗斯的社交网站),并将他们重定向到92.38.209.252的IP地址。
通常劫持一个网站并将其重定向到攻击者的IP地址的方法是修改位于%SystemRoot%\system32\drivers\etc目录下的hosts文件,然而,当我们在被感染的机器上打开hosts文件的时候,里面并没有发现与vk.com和vkontakte.ru相关的重定向规则,如下图所示:
但是当设置显示隐藏文件的时候,我们发现了另一个hosts文件,该文件是隐藏的,如下图所示:
竟然在etc目录下存在两个名字同为hosts的文件,这到底是怎么回事呢?
我们都知道同一目录下是不允许存在同名文件的。现在我们复制这两个文件的文件名到记事本之中,并保存为Unicode文本文件,再在十六进制编辑器中打开文本文件,我们可以分别看到如下的情况:
对于Unicode(UTF-16),0x006F与ASCII中的0x6F是一样的,都是字母“o”。那0x043E在Unicode中又是表示什么呢?我们可以查一查Unicode字符对照表(0×0400至0x04FF),下图是这个表的部分截图:
我们可以看到0x043E在Unicode中表示一个西里尔(Cyrillic)字符,这个字符酷似小写英文字母“o”。现在可以断定隐藏的hosts文件才是真正的hosts文件,当我们打开这个文件时可以看到里面添加了两个网站的IP重定向:
至此谜团终于解开了。
黑客通过Unicode字符来误导用户已经不是第一次了,在2010年8月,一位中国黑客披露了一种利用Unicode控制符来诱导用户执行可执行文件的手段。黑客使用Unicode控制符0x202E(RLO)来逆转文件名的部分字符,使得文件名在资源管理器中看上去不一样。
举个例子,有一个文件名为“picgpj.exe”的文件,如下图所示:
“gpj.exe”是有目的选取的名字,当在“gpj.exe”前面插入一个RLO控制符的时候,整个文件名看起来是这样的:
黑客同时使用一个图片图标作为可执行程序的图标,粗心的用户会误以为这是一个jpg图片文件,并盲目的通过双击来打开它,从而执行了可执行文件。显然这种手段对Unicode敏感的程序没有作用,但是用户却很难凭着眼镜来辨别。
我们能相信自己的眼睛吗?答案是……并不是经常是这样的。
原文:Can we believe our eyes?案例:W32/XDocCrypt.a Infects Executable and Doc Files
演示:
- 我们能相信自己的眼睛吗?
- [译]我们能相信自己的眼睛吗?
- 你还敢相信自己的眼睛吗??
- 不要太相信自己的眼睛--断点
- 【经典神奇图片集】不要轻易相信自己的眼睛
- 幻觉艺术——不要轻易相信自己的眼睛
- 计算机的起步,相信自己能学好!
- 相信自己一定能完成的
- 我们要相信自己
- 我们要相信我们自己
- 2.(高级)CSS编码技巧之:相信自己的眼睛
- const也会变,我们还能相信谁?
- 未来在自己的掌握之中,相信自己,其实,我们真的可以做到
- 相信自己的潜力
- 相信自己的即时通讯
- 保护自己的眼睛
- 你相信我们的爱会创造奇迹吗
- 你能打动客户的C++理由,一定要先说服自己相信
- Spring MVC学习一
- 魔方矩阵 C++实现
- C# 反射性能比较
- host可用
- Android开发之如何保证Service不被杀掉(broadcast+system/app)
- 我们能相信自己的眼睛吗?
- Swift用CoreMotion得到屏幕当前方向的方法
- 《编程之美》——寻找发帖“水王”
- Hadoop2.2.0中HDFS的高可用性实现原理
- GCD的简单用法
- [python&php 网络编程]字节序转换
- navigation 系统自带交互手势
- 动画状态机控制单个动画片段播放速度
- UICollectionView (仿系统相册,按日期分区 item瀑布流)