浏览器首页被劫持

三个月前写了一篇文章《信息安全3.1-视觉欺骗》,昨天我就遇到了新的事情。

我给朋友安装win10,为了图方便,使用了网上下载的Ghost映像。Ghost安装系统图的就是方便,对应的代价就是会捆绑很多垃圾软件。我的安装策略是先安装系统,然后使用Ccleaner把非系统自带软件全部卸载,清理注册表。

这次操作完成后,发现无论启动什么浏览器,首页都是指向一个aq.xxxx.com的域名,网页内容则是跟搜狗网址导航一致,我第一反应是浏览器的快捷方式的被篡改了,启动命令中带有该网址的参数。但是查看快捷方式的属性时并未发现异常,而且很奇怪的是,所有的浏览器,启动都会指向这个域名。

查了很久资料,才看到有一篇博客介绍了类似的情况,整个事情的原理其实很简单,现在的厂商都学乖了,知道用户会查询快捷方式的属性了,所以也升级了自己的手段。大概的步骤就是如下:

  1. 在自家的软件或者是制作的Ghost映像中,给系统植入一个dll文件;
  2. 当用户点击主流的浏览器的启动程序时,系统会先启动explorer.exe;
  3. 第1步中的dll文件会在explorer.exe中植入一个「钩子函数」,将aq.xxxx.com的地址传递给explorer.exe;
  4. explorer.exe再把这个地址命令传递给主流的浏览器exe文件,从而实现系统级别所有浏览器自动指向导航网址;

简单来讲,是在源头处就做了劫持,所以下游再怎么干净也会被污染。

当我看完文章,真的是不得不佩服第一个想出这种办法的人,看来他对windows操作系统是相当的了解,如果不是这件事,我也不会知道一些windows系统启动应用程序的机制。

知道了原理,解决办法就有两种,一是通过追踪浏览器启动之后关联的dll文件,追踪到具体是哪个dll文件,然后删掉它就可以了。但这个办法很麻烦,我也不会利用工具追踪关联了哪些dll文件。我参考的那篇文章举得例子里的dll名称是「QovdExtend.dll」,文章时间是2013年,这个名字背后的公司如今已经不在了,估计我遇到的不是这家公司的dll,而是别的公司。

二是将浏览器的exe文件修改名称,比如说「chrome.exe」修改为「chrome123.exe」,这个不影响浏览器的启动,但是会避开这个首页劫持。这是因为dll文件给explorer.exe注入的钩子函数里穷举了主流浏览器的exe文件名称,如果修改了名字,explorer.exe就不会把这个参数传递给修改后的启动程序,从而避开了首页被劫持。

这件事,给我三个教训:

第一个教训,计算机领域的知识更迭太快,我只是6个月没有安装过windows系统,就已经中招了;

第二个教训,在大众常用的操作系统上,漏洞被利用的概率太大了,如果不是我发现了首页域名不正确,我的朋友们在使用的时候,只会看网页本身的内容是不是正常的,他们不会去注意域名;

第三个教训,安装软件和系统,一定要使用官方的版本,切莫贪图方便使用绿色版,虽然这句话说了我自己都未必会执行,但还是要声明一次;

发表评论

电子邮件地址不会被公开。 必填项已用*标注