【教學】如何分析木馬的行為模式並阻止資料外洩



贊助商連結


rien
2005-09-05, 09:43 AM
1.測試環境:
防火牆 - Look ‘n’ Stop 2.05p2 with EnhancedRulesSet.rls
防毒軟體 - NOD32 2.50.025 with virus database version 1.1166 (20050711)


2.分析工具:
TCPView
(下載網址 - http://www.sysinternals.com/Utilities/TcpView.html)
Sniffer Portable 4.75 SP5
(試用版下載網址 - http://www.networkgeneral.com/Sniffer_Portable_Eval.aspx)


3.分析標的程式:
PCAUDIT2.EXE
(測試程式載點 - http://www.firewallleaktester.com/leaks/pcaudit2.exe)


4.PCAUDIT2的原文介紹:
PCAudit uses DLL injection to inject it's code (as a DLL) into authorized application instead of launching it's aim directly.
If the aimed application have full access, pcaudit will go trough without trouble.
To test PCaudit correctly, say "Always" if your firewall will warn you that Explorer.exe try to access the Internet. Then try again, and if your firewall don't show you an alert about pcaudit.exe, it means that it is vulnerable...

PcAudit V2 uses a different way than his previous version to bypass DLL protection of personal firewall (which can blocks the first PCAudit)

If the test is a success, this means two things :
- your firewall is vulnerable to DLL injection.
OR
- your firewall have a DLL injection protection feature, but not efficient.


5.PCAUDIT2的實際運作說明:

a.執行PCADUIT2,首先出現測試目的說明。
http://tinypic.com/72wpko.gif

b.出現版權說明,須勾選右下角I agree才能繼續測試程序。
http://tinypic.com/72wrah.gif

c.如欲收取測試結果信件,可將email設定上去。
http://tinypic.com/72wriw.gif

d.開始進行測試。首先程式會請你開啟一個新程式並輸入一些字串,然後點選下方的”Continue”按鈕。
http://tinypic.com/72wroz.gif

e.開始傳送所蒐集到的資料,這時可能會跳出防火牆的攔截訊息,代表發生程式綁架事件,你可以讓它通行也可以命令阻擋,不過無論你選擇什麼動作,應該都無法阻止資料外洩。
http://tinypic.com/72wrrq.gif

f.當資料傳送完畢後,會出現Test Completed的畫面,請點選下方的”Continue”按鈕進行下一步。
http://tinypic.com/72wrwp.gif

g.接下來PCAUDIT2會邀請你觀看報告,請點取下方的”View Report”按鈕。
http://tinypic.com/72ws2e.gif

h.這時PCAUDIT2會自動關閉程式,並啟動IE連線到遠端主機上的報告畫面,報告中會列舉出你方才輸入的字串、我的文件目錄中的檔案、作業畫面擷取、電腦名稱與正在使用的用戶登入名稱,以及IP位址。
http://tinypic.com/72ws55.gif

由以上測試情形可以發現,排名第一的Look ‘n’ Stop完全沒辦法阻擋資料外洩,為什麼會這樣呢?等等我們再來分析原因。


6.使用TCPView觀察程式執行狀況。在PCAUDIT2傳送資料時,這回並沒有觸動Look ‘n’ Stop防火牆,完全無聲無息地在背景將資料外送,可是在TCPView卻發現到有兩支explorer.exe,其中一支正在對外連線,對方的位址是www.isa-llc.com,對方的連線埠是TCP port 80。
http://tinypic.com/72wshh.gif

再看觀看報表時的連線狀況,發現報表所在主機正是這台www.isa-llc.com,因此可以確定PCAUDIT2是使用TCP port 80進行連線及資料傳送。

由於一般軟體防火牆的內定值均把TCP port 80開啟,以免阻礙使用者瀏覽網頁,因此可以推估大部份的軟體防火牆都擋不住這種假借DLL形式對外以TCP port 80連線的資料竊取行為。
http://tinypic.com/72wsk5.gif


7.接下來使用Sniffer Portable來觀察往來封包。首先可以看見接收端主機的IP位址是209.101.114.44,經使用nslookup查詢,可以確認它就是先前用TCPView觀察到的www.isa-llc.com,而且主機端的連線埠也是TCP port 80,這跟先前用TCPView觀察到的結果是完全相符的。
http://tinypic.com/72wspl.gif

再來查詢封包內容,可以發現它是使用明碼的方式傳送所竊取到的資料,例如我的文件下的檔案及目錄名稱。
http://tinypic.com/72wswh.gif

還有電腦名稱。
http://tinypic.com/72wt2d.gif

以及所使用的IP位址。
http://tinypic.com/72wt4w.gif


8.最後來測試前方的推測是否為真。測試的方法很簡單,只要設定防火牆阻擋TCP port 80連線就可以了。Look ‘n’ Stop的設定如下:
http://tinypic.com/72wuhi.gif

設定好TCP port 80的連線規則,還得確定是處在阻擋模式。
http://tinypic.com/72wump.gif


9.設定妥當後,再一次執行PCAUDIT2,在傳送資料階段會發現停留時間特別久,期間並多次出現防火牆的攔截訊息,不過此時不論你選取阻擋還是放行,PCAUDIT2均無法得逞,最後出現如下畫面。
http://tinypic.com/72wutl.gif

當點取下方”Continue”按鈕後,會出現下方的恭賀訊息,證明真如所料,只要阻擋TCP port 80的連線,就能阻擋PCAUDIT2將資料外洩出去。不過除非你有使用代理伺服器,且不透過TCP port 80存取代理伺服器的cache資料,否則也將無法正常瀏覽網頁,試問這會是你希望的結果嗎?
http://tinypic.com/72wv0l.gif


10.Well,這就是基本的木馬行為分析與阻擋方法,當你的防毒軟體與防間諜軟體還無法移除已存在的木馬程式時,至少可以使用這個方法阻止資料繼續外洩。

贊助商連結


redhung
2005-09-06, 09:53 PM
請問這樣還可以開啟正常的網頁嗎?如果可以的話,是否方便說明一下是為什麼呢?
(因為我們開啟一個網頁不就是連線到例如:www.yam.com:80 去開啟的嗎?如果禁止了,那要怎麼去開啟網頁呢?)

rien
2005-09-07, 05:27 PM
假如你阻擋住TCP Port 80的Outbound部分,自然不能再直接瀏覽網站
不過你仍然可以透過不是走TCP Port 80(例如8080、3128)的外部Proxy幫你將所需的網頁資料捉回來啊

pingu
2005-09-11, 03:42 PM
果然厲害,我的sygate根本沒反應當作正常程式連線出去

zame123
2005-09-13, 02:42 PM
謝謝教學。 :D
越來越難了 :confused:
"分柝標的程式" 是不好的程式嗎? :confused:

rien
2005-09-13, 03:50 PM
謝謝教學。 :D
越來越難了 :confused:
"分柝標的程式" 是不好的程式嗎? :confused:
那只是廠商釋出會模仿木馬行為的測試程式,並不是真正的木馬程式