足球资料库数据/孙祥/nba五佳球/足球直播哪个平台好 - cctv5今日现场直播

首頁 > 業界動態 > 正文

簡單方法檢測遠端用戶的反病毒軟件
2016-11-24 14:11:00   來源:來源:FreeBuf   評論:0 點擊:

我常使用的操作系統是 Windows7,為了確保更安全,我安裝了卡巴斯基互聯網安全防病毒軟件。一天我在一個 Web 頁面上看到了一段非常有趣的代碼,在我看來它不該出現在頁面上。

推廣 | 令人窒息的獎品等你―2016最權威的全球開發者調研

我常使用的操作系統是 Windows7,為了確保更安全,我安裝了卡巴斯基互聯網安全防病毒軟件。一天我在一個 Web 頁面上看到了一段非常有趣的代碼,在我看來它不該出現在頁面上。

\

為什么 Facebook 會使用卡巴斯基網站的 js 代碼?我立刻意識到是我的反病毒軟件做了 MITM,在網頁上注入代碼來跟蹤頁面的活動。在客戶端計算機上存在任何的反病毒軟件的話,包括 KIS,為什么不創建一個特殊的頁面來監視 Javascript 的代碼呢?

創建服務器的第一個頁面 iframe.html

  1. <!DOCTYPE html>  
  2. <html lang="en" 
  3. <head/>  
  4.         <img src=x /> 
  5.  
  6.     <script type="text/javascript" /> 
  7. </html> 

隨后創建第二個頁面 index.html

  1. <!DOCTYPE html> 
  2. <html> 
  3. <head> 
  4. <title>Remotely AV detection</title> 
  5. </head> 
  6. <body> 
  7. <iframe style="width:10px; height:10px; display:block; visibility:show" id="frmin" src="/iframe.html"></iframe> 
  8. <button onclick="myFunction()">Check AV</button> 
  9. <script> 
  10. function myFunction() { 
  11. var frm = document.getElementById("frmin"); 
  12. ka = frm.contentDocument.getElementsByTagName('html')[0].outerHTML; 
  13. if (ka.indexOf("kasperskylab_antibanner") !== -1) 
  14. alert("AV name is Kaspersky"); 
  15. </script> 
  16. </body> 
  17. </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

  1. <script>  
  2. if (document.getElementsByClassName('drweb_btn').length > 0)  
  3.  
  4. alert("AV name is DrWeb");  
  5.  
  6. </script>  
  7. ##Avira 

當你安裝了 Avira antivirus Pro 時,直接就給你安裝了兩個擴展:Avira Browser Safety 和 Avira Save Search Plus

\

Avira 會注入下列代碼

\

如下簡單代碼就可以檢測出 Avira

  1. var AV = document.getElementById("abs-top-frame"
  2. if (AV!==null
  3. if ( 
  4. AV.outerHTML.indexOf('/html/top.html')>=0 & AV.outerHTML.indexOf('chrome-extension://')>=0 
  5. alert("AV name is Avira"); 
  6. Norton 

諾頓會像 Avira 一樣安裝兩個插件

\

會注入如下代碼

\

通過下面的代碼就可以檢測出 Norton

  1. var NAV = document.getElementById('coFrameDiv');  
  2. if ( NAV !== null 
  3.  
  4. var nort = NAV.outerHTML;  
  5. if (nort.indexOf('coToolbarFrame')>=0 & nort.indexOf('/toolbar/placeholder.html')>=0 & nort.indexOf('chrome-extension://')>=0 )  
  6.  
  7. alert("AV name is Norton");  
  8.  

結論

1. 這種方法并不能保證百分之百檢出反病毒軟件,因為用戶可以禁用安裝的 Chrome 擴展。

2. 這篇文章的靈感主要來自于遠程檢測用戶反病毒軟件。

3. 相關代碼可以在 GitHub 上找到。

【編輯推薦】

  1. 避免勒索軟件威脅的十大技巧
  2. 由淺入深 惡意軟件逃避檢測的六個秘密之地
  3. Android N如何限制重置密碼以遏制勒索軟件
  4. 著名反惡意軟件組織關閉博客網站 抗議 NSA 利用惡意軟件攻擊公共機構
  5. 專家解析:為什么要對勒索軟件說不
【責任編輯:武曉燕 TEL:(010)68476606】

相關熱詞搜索:反病毒 軟件 遠端

上一篇:黑客心理學:社交工程中的四種情緒反應
下一篇:專欄

分享到: 收藏