专栏首页FreeBuf简单方法检测远端用户的反病毒软件

简单方法检测远端用户的反病毒软件

我常使用的操作系统是 Windows7,为了确保更安全,我安装了卡巴斯基互联网安全防病毒软件。一天我在一个 Web 页面上看到了一段非常有趣的代码,在我看来它不该出现在页面上。

为什么 Facebook 会使用卡巴斯基网站的 js 代码?我立刻意识到是我的反病毒软件做了 MITM,在网页上注入代码来跟踪页面的活动。

在客户端计算机上存在任何的反病毒软件的话,包括 KIS,为什么不创建一个特殊的页面来监视 Javascript 的代码呢?

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

<!DOCTYPE html><html lang="en"><head/> <img src=x /> <script type="text/javascript" /></html>

随后创建第二个页面 index.html

<!DOCTYPE html><html><head><title>Remotely AV detection</title></head><body><iframe style="width:10px; height:10px; display:block; visibility:show" id="frmin" src="/iframe.html"></iframe><button onclick="myFunction()">Check AV</button><script>function myFunction() {var frm = document.getElementById("frmin"); ka = frm.contentDocument.getElementsByTagName('html')[0].outerHTML;if (ka.indexOf("kasperskylab_antibanner") !== -1) { alert("AV name is Kaspersky"); } }</script></body></html>

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

KIS 反病毒软件需要从 iframe.html 中读取代码并分析字符串,如果页面有 kasperskylab_antibanner 我们就可以说客户端计算机已经安装了卡巴斯基反病毒软件。

我想看看这种方法对于其他反病毒软件的检出情况,是只能检出卡巴斯基还是其他的也可以。接下来对 Avira、Norton、DrWeb 反病毒软件进行检测,如果有人想继续研究,我很高兴听到研究的结果。

Avira、Norton、DrWeb 和 Chrome 搭配进行检测,甚至还要安装插件来让反病毒软件可以注入特定数据到页面以完成对页面的检测。

Dr.Web

DrWeb Security Space 11.0

Chrome 扩展的名字:Dr.Web Anti-Virus Link Checker Extension URL

在 index.html 中注入下列代码:

使用以下简单代码就可以检测出客户端是否安装了 DrWeb

<script>if (document.getElementsByClassName('drweb_btn').length > 0) { alert("AV name is DrWeb"); }</script>

##Avira

当你安装了 Avira antivirus Pro 时,直接就给你安装了两个扩展:Avira Browser Safety 和 Avira Save Search Plus

Avira 会注入下列代码

如下简单代码就可以检测出 Avira

var AV = document.getElementById("abs-top-frame")if (AV!==null) {if ( AV.outerHTML.indexOf('/html/top.html')>=0 & AV.outerHTML.indexOf('chrome-extension://')>=0) { alert("AV name is Avira"); } }

Norton

诺顿会像 Avira 一样安装两个插件

会注入如下代码

通过下面的代码就可以检测出 Norton

var NAV = document.getElementById('coFrameDiv');if ( NAV !== null) { var nort = NAV.outerHTML; if (nort.indexOf('coToolbarFrame')>=0 & nort.indexOf('/toolbar/placeholder.html')>=0 & nort.indexOf('chrome-extension://')>=0 ) { alert("AV name is Norton"); } }

结论

1. 这种方法并不能保证百分之百检出反病毒软件,因为用户可以禁用安装的 Chrome 扩展。

2. 这篇文章的灵感主要来自于远程检测用户反病毒软件。

3. 相关代码可以在 GitHub 上找到。

*参考来源:GitHub,本文译者:Avenger,转载请注明来自FreeBuf.COM。

本文分享自微信公众号 - FreeBuf(freebuf),作者:Avenger

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 特斯拉两款汽车被曝可遭到GPS欺骗攻击

    近日,Regulus Cyber公布了一项研究,发现特斯拉的两款车Model 3和Model S存在一些“问题”,容易受到针对导航系统的网络攻击。

    FB客服
  • CheckPoint旗下安全公司ZoneAlarm论坛数据泄露

    以色列网络安全公司Check Point旗下的互联网安全软件公司ZoneAlarm遭遇数据泄露,泄露了近4500名论坛用户数据。

    FB客服
  • 开源版ZoomEye:基于Python的网络侦查框架 – IVRE

    IVRE(又名DRUNK)是一款网络侦查框架,包括两个基于p0f和Bro的被动侦查模块和一个基于Nmap&Zmap的主动侦查模块,其功能类似于国内知道创宇公司推...

    FB客服
  • JavaScript值延迟脚本和异步脚本

    Html 4.0为<script>标签定义了defer属性,这个属性的用途是表名脚本在执行时,不会影响页面的构造。也就是说,脚本会延迟到整个页面解析完毕之后在运...

    郑小超.
  • 众泰汽车难跨的2020

    2019年汽车界寒冬,众泰汽车过得艰难;2020年突发疫情,众泰汽车更是难上加难。

    刘旷
  • 剑指offer--替换空格

    请实现一个函数,将一个字符串中的空格替换成“%20”。 例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

    AI那点小事
  • 黑科技满满,炫酷无比的《攻壳机动队》你真的看懂了吗?

    VRPinea
  • 模型不收敛,训练速度慢,如何才能改善 GAN 的性能?

    作为 GAN 系列的一部分,本文探讨了如何改进 GAN 的方法。 尤其在如下方面,

    AI研习社
  • 正式发布 Android 架构组件 1.0 稳定版

    Android 开发者
  • 微软编程教育都在搞什么?从code.org到makecode,从Minecraft到Micro:bit

    奥观海同志的梦想 奥观海同志在位时,大力普美国的编程教育,奥观海同志可能是第一位亲自写代码的美帝总统。 富士康4万机器人上岗,奥巴马在国情咨文里说,让每个孩子都...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券