自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

利用 Flash 遠(yuǎn)程檢測客戶端安裝的殺軟

安全 終端安全 黑客攻防
本文將提供一種檢測用戶已安裝的殺軟的可能的方法。

本文將提供一種檢測用戶已安裝的殺軟的可能的方法。如果我們想對用戶發(fā)起攻擊,那么獲取該用戶已安裝的殺軟信息是非常有用的。

本文所提供的方法主要基于以下兩點(diǎn):

1.現(xiàn)在的主流AV在檢測惡意軟件時(shí)會(huì)進(jìn)行網(wǎng)絡(luò)流量的分析。

通常情況下,http 和 smtp/pop3/imap 這類協(xié)議已經(jīng)被分析了。然而,隨著 TLS 加密傳輸越來越被廣泛的使用,因此,殺軟要分析被加密的網(wǎng)絡(luò)傳輸信息,就需要針對用戶的應(yīng)用程序和遠(yuǎn)程服務(wù)器執(zhí)行類似中間人攻擊(MITM)的行為。為了繞過證書鏈的檢測,殺軟需要安裝它自己的根證書到用戶電腦上。之后,對加密的網(wǎng)絡(luò)傳輸信息進(jìn)行攔截,解密和分析。

如下圖所示:

http://p2.qhimg.com/t0157ba8b465ca06838.png

2. Flash 支持原始的TCP套接字。

事實(shí)上,內(nèi)嵌在瀏覽器網(wǎng)頁中的swf文件即Flash 可以接受或發(fā)送任意TCP數(shù)據(jù)包到一個(gè)遠(yuǎn)程服務(wù)器的任何一個(gè)端口。但是為了安全起見,F(xiàn)lash socket 也支持跨域策略。如果一個(gè)Flash想要通過 socket 連接到一臺(tái)服務(wù)器時(shí),它會(huì)連接遠(yuǎn)程服務(wù)器的 843 端口并且發(fā)送一個(gè)請求,這個(gè)請求的目的是獲取 跨域策略對應(yīng)的xml文件,即crossdomain.xml也就是我們所說的“主策略文件”。這個(gè)xml文件包含了安全策略的具體信息,比如:哪些域名才能連接該服務(wù)器的哪些端口等等。

Flash socket crossdomain.xml文件示例:

  1. <?xml version="1.0"?> 
  2. <!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"> 
  3. <cross-domain-policy> 
  4.    <site-control permitted-cross-domain-policies="master-only"/> 
  5.    <allow-access-from domain="*" to-ports="443,995,465,587" /> 
  6. </cross-domain-policy> 

利用以上兩點(diǎn),就可以產(chǎn)生奇妙的結(jié)果。當(dāng)我們利用一個(gè)Flash文件發(fā)起TLS連接,連接請求到遠(yuǎn)程服務(wù)器的指定端口(如:443,587等等),之后殺軟將會(huì)攔截該請求。因此,F(xiàn)lash就會(huì)接受到一個(gè)由殺軟生成的TLS證書,那么,通過根證書的名稱就可以判斷出用戶安裝了何種殺軟。

整個(gè)攻擊流程如下:

0) 用戶訪問我們的網(wǎng)站,用戶的瀏覽器加載了網(wǎng)站中的惡意swf文件。

1)Flash通過socket連接我們的服務(wù)器的843端口請求crossdomain.xml文件的內(nèi)容并獲取請求權(quán)限。

2)Flash連接到我們的服務(wù)器的一個(gè)端口(如443,465等等)并且發(fā)送了一個(gè)“Client Hello”的TLS數(shù)據(jù)包。

3)服務(wù)器發(fā)送“Server Hello”的TLS響應(yīng)數(shù)據(jù)包,該數(shù)據(jù)包攜帶有服務(wù)器的證書信息。

4)殺軟攔截了此次傳輸,生成了新的證書并且利用殺軟自己的根證書進(jìn)行了簽名。

5)Flash接收到了上一步中(已經(jīng)被殺軟處理過)的TLS數(shù)據(jù)包,之后再發(fā)送給我們的服務(wù)器。

6)通過解析TLS數(shù)據(jù)包獲取根證書的名稱,名稱中包含了殺軟的名稱。

POC

我創(chuàng)建了一個(gè)POC (https://github.com/GrrrDog/FlashAV)可能離實(shí)際的攻擊效果相差很遠(yuǎn),POC包含了一個(gè)特定的Flash和一個(gè)Python編寫的 Socket Server。swf 發(fā)送原始的TLS請求(SSLv3),并且發(fā)送被殺軟處理過的響應(yīng)數(shù)據(jù)包到Python Socket Server。Python Socket Server 被用于解析數(shù)據(jù)包的證書名稱以及構(gòu)建crossdomain.xml文件內(nèi)容。

我最初利用 Avast 殺軟進(jìn)行了測試,IE 和 Chrome 可以測試成功,但是Firefox卻不行,在火狐瀏覽器中 Avast 并未對Flash連接443端口的請求做攔截。但是,在火狐瀏覽器中的Flash連接遠(yuǎn)程服務(wù)器的465或者587,993等端口時(shí)殺軟則會(huì)攔截并且也能成功獲取到用戶安裝的殺軟名稱。

http://p2.qhimg.com/t013086b6299c31f77c.png

之后我測試了卡巴斯基,但是并沒有成功,卡巴斯基雖然會(huì)對瀏覽器的請求做攔截,但是并未攔截Flash的連接請求。

責(zé)任編輯:趙寧寧 來源: 安全客
相關(guān)推薦

2011-03-25 12:50:29

nagios安裝

2022-11-28 14:15:03

2015-06-03 09:27:05

JavaScript客戶端檢測技術(shù)

2010-07-19 17:10:31

安裝Telnet客戶端

2011-04-19 17:10:12

UbuntuServer遠(yuǎn)程連接

2011-03-29 14:44:44

Zabbix安裝

2009-03-04 10:27:50

客戶端組件桌面虛擬化Xendesktop

2010-08-13 10:50:12

FlashFlexWebService

2021-09-22 15:46:29

虛擬桌面瘦客戶端胖客戶端

2011-03-21 09:34:48

SET選項(xiàng)客戶端靈活性

2009-06-08 15:18:34

EJB遠(yuǎn)程客戶端JVM

2009-09-24 13:16:31

虛擬桌面安全軟件客戶端安全

2011-03-21 14:53:36

Nagios監(jiān)控Linux

2011-04-06 14:24:20

Nagios監(jiān)控Linux

2010-10-11 17:46:01

mysql客戶端

2011-08-17 10:10:59

2013-11-27 10:21:44

遠(yuǎn)程控制軟件

2010-05-31 10:11:32

瘦客戶端

2009-03-13 14:44:55

客戶端C#Oracle

2010-06-01 10:28:14

安裝SVN客戶端
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號