前端黑魔法:使用JS检测远程用户的杀毒软件

我工作中经常使用的操作系统是Windows 7,为了保证安全性,我安装了卡巴斯基。有一天,浏览一个网页,我注意到一段非常有趣的代码。在我看来,这不应该出现在该页面上。

1

为什么FaceBook要使用卡巴斯基的JavaScript代码?我立即意识到我的杀软发起了MITM流量(http和https),并注入了代码来跟踪页面的活动。为什么不创造一个特殊的页面监控JavaScript脚本,并了解客户端计算机上的任何杀毒软件,包括KIS。

在服务器上创建的第一个页面:iframe.html

ce4a

并使用此HTML代码创建第二个页面:index.html

d680

当打开index.html页面时,它将加载iframe.html并注入JS代码。在下面的图片我们可以看到更改的iframe页面代码。

2

准备检测,卡巴斯基杀软需要从iframe.html页面获取代码和解析字符串,如果页面有卡巴斯基kasperskylab_antibanner标志,那么我们可以确定客户端计算机已经安装KIS防杀软。

我想测试其他杀毒软件会产生什么样的反应,看其他杀软是否检测,或者只是KIS。接下来考虑Avira、Norton、DrWeb防病毒软件。如果有人想继续进行这个小研究,我会很高兴地听到关于它的其余部分作品。

Dr.Web

产品版本:DrWeb Security Space 11.0

3

Chrome扩展名称:Dr.Web Anti-Virus Link Checker

在index.html页面上注入以下代码:

4

例如:使用下面的简单的JS代码可以检测是否安装了DrWeb。

7c5e

Avira

在安装Avira antivirus Pro时,它在Chrome浏览器安装两个插件:Avira Browser Safety和Avira Save Search Plus

5

Avira在page.html上注入了iframe,它具有以下形式:

6

检测Avira扩展的JS代码如下:

8be

Norton

像Avira的2个扩展,我不得不考虑 – 是否已经安装诺顿:

7

由页面上的扩展实现的JS代码如下:

8

最后,通过以下的JS代码也很容易检测出它:

29c8

结论

  1. 此方法不能保证100%的检测出杀毒软件,因为它是基于对Chrome安装的防杀毒软件扩展的的验证,但扩展可能会被用户禁用;
  2. 阅读这篇文章remote-detection-of-users-av-via-flash后,才有了写这篇小文章的主要思想;
  3. 项目的代码:AVDetection

原创文章,作者:Moto,如若转载,请注明出处:http://www.mottoin.com/article/91264.html

发表评论

登录后才能评论

联系我们

021-62666911

在线咨询:点击这里给我发消息

邮件:root@mottoin.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code