1 / 31

Personal Firewall

Personal Firewall. 攻擊手法之研究. Member. D9363904 鄭聖倫 D9546376 王鈺勝 D9481075 劉鼎政. Leak on Personal Firewall. Firewall Software Firewall Computer PC Windows 主要前提: Outbound connection 惡意軟體已經透過某些方法進入電腦. 主要攻擊技巧. Substitution Launcher Default rule using Direct Network Interface reaching

kermit
Download Presentation

Personal Firewall

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Personal Firewall 攻擊手法之研究

  2. Member • D9363904 鄭聖倫 • D9546376 王鈺勝 • D9481075 劉鼎政

  3. Leak on Personal Firewall • Firewall • Software Firewall • Computer • PC • Windows • 主要前提: • Outbound connection • 惡意軟體已經透過某些方法進入電腦

  4. 主要攻擊技巧 • Substitution • Launcher • Default rule using • Direct Network Interface reaching • DLL injection • Process injection • Timing Attack • Recursive request

  5. Substitution • 通過Firewall的基本方法之一,就是偽裝成Firewall信認的程式 • 方法 • 將執行檔名稱變更成Firewall信認的程式名稱 • 路徑也更改成一樣的路徑 • Firewall若沒有類似md5 checksum的機制,將會簡單地pass through • Malwares • W32.Welchia.Worm,The Beast

  6. Launcher • 概念: • 以Firewall信認的application做為跳板 • 方法: • 例1:malware -> cmd -> explorer -> IE • 例2:使用windows的工作排程器 • 如例1的狀況,IE是由explorer所開啟的,而不是malware,使得此種方法難以偵測 • Malwares • W32.Vivael@MM

  7. Default rule using • 一般Firewall都有其內定預設的 Rules • 若Firewall預設讓某些port能夠隨意的通過,將會增加危險 • DNS , DHCP • 方法:以DNS port 來傳data

  8. Direct Network Interface reaching • 一般Firewall只處理到Winsock這一層級 • 著名的 WinPCap 可直接與 NDIS進行access • 只「照顧」到winsock這一層的Firewall,對此種方法完全無法偵測

  9. DLL injection • DLL – Direct Link Library , windows下的產物 • 若一個合法的process (例如:explorer),載入了我們撰寫的DLL檔,Firewall也會將它視為是被信認的 • 方法: • Explorer會載入的DLL都存在 Registry中 • 更改Registry->explorer重開啟->自動載入DLL • 此種方法通常是「木馬」屠電腦的標準方法之一,不過仍然難以防備 (都是OS的錯)

  10. Process injection • Program -> process -> thread • 方法A • 在被信認的process中新增一個thread,然 後植入我們需要的程式碼 • 不同於DLL injection,DLL injection載入的是foreign code,仍然可以被某些工具分析出來 • 方法B • 直接把一個現成的thread改成我們要的內容 • Firewall要在 injection的階段就阻擋下來

  11. Timing Attack • Firewall偵察到可疑的行為 • 凍結 -> 詢問user要怎麼辦 • 上述過程需要得到可疑程式的 pid • 方法: • 傳送資料的過程,藉由快速地轉換不同的pid來達到目的

  12. 實例探討1 • 第一個 leak test :http://grc.com/lt/leaktest.htm • 由 Steve Gibson所撰寫,使用的方法就是最簡單的 Substitution。 • 單純地將program name 和 path修改 • 他將程式命名為 LeakTest.exe • 後來大家延用了此名字 • 除了 Windows 內建的 Firewall外,現在已經甚少有 Firewall偵測不到此種方法

  13. 實例探討2 • Tooleaky:http://tooleaky.zensoft.com/ • Launcher的一種 • 原理&步驟: • (1)從Registry得到IE的執行路徑 • (2)於背景執行IE,給予URL參數 • (3)由IE傳送資料,若IE是被Firewall信認的App,就能夠自由進行連線

  14. 實例探討3 • Firehore:http://keir.net/firehole.html • Launcher + DLL injection • 開啟 IE,並在IE內部載入DLL檔 • 目前絕大部分的Firewall都有能力阻擋此類型的攻擊

  15. 實例探討4 • Yalta: • Default rule using • 試圖透一切可能的port來傳送資料(53,21,…) • 若Firewall預設某一個 port 可以自由傳送資料,此一方法就可能成功 • 目前大部分的personal firewall都有較全面的防護設定,此種方法可用度降低

  16. 實例探討5 • outbound:http://www.hackbusters.net/ob.html • Direct Network interface reaching • 使用WinPCap的library • 將發送出去的封包偽裝成「established connection」 • 以前的 personal firewall幾乎無法阻擋此種攻擊,目前有幾款軟體已經開始能夠阻絕此種方法

  17. 實例探討6 • pcAudit:http://www.pcinternetpatrol.com/ • DLL injection • 和前述的手法相類似

  18. 實例探討7 • AWFT: http://www.atelierweb.com/awft/ • 全名為Atelier Web Firewall Tester • 包含六項測試,以10分評估Web防火牆效能 • 透過各種方法掩飾,避開防火牆的偵測以完成與外部的連線

  19. 實例探討8 • THERMITE:oliverlavery@hotmail.com • 把自己的code植入目標process(針對IE瀏覽器),並建立具惡意行為的thread • 其行為是竊取瀏覽器的資訊內容(包含瀏覽的資料內容) • 如果測試顯示success,則該換防火牆了>”<

  20. 實例探討9 • COPYCAT:http://mc.webm.ru/ • 把自己的code植入網頁瀏覽器以避開防火牆的偵測。 • 其行為是更改瀏覽器thread的內容,藉此嘗試存取internet的資源。 • 如果不幸測試成功,將會在C槽看到exploited.txt檔案。

  21. 實例探討10 • MBTEST:mbcx8nlp@hotmail.com • 類似OutBound • 跳過winsock,直接透過NIC進行存取 • 其測試軟體連結失效>”<

  22. 實例探討11 • WB:http://www.firewallleaktester.com • 包含四種測試 • 其行為是藉由不同的方法喚起(系統預設)瀏覽器程式,存取其所指定的網路資源。 • First:藉由explorer.exe執行iexplore.exe上網 • Second:直接開啟IE • Third:First的變形,先執行cmd.exe • Fourth:Third的變形,先執行AT.exe

  23. 實例探討12 • PCAudit2:http://www.pcinternetpatrol.com • 植入自己的code給系統信任的軟體,使之視為其DLL檔 • 如果防火牆第一次有跳出提示訊息,則測試第二次,如果第二次沒有繼續跳出警示則防火牆不安全

  24. 實例探討13 • GHOST: -Launcher+ Timing Attack - 一般防火牆會使用windows API回收parent PID and name - 為了防止被防火牆偵測到,Ghost會藉由shut down and restart 它自己來改變PID並繼續傳送資料

  25. 實例探討14 • DNStester: -recursive request -Windows 提供一種服務"DNS client"來執行和處理所有 DNS請求 - 設計一個特別的DNS請求來傳送資料給遠端電腦而且不 會被防火牆發現 - 防火牆一定會被穿透,除非關閉windows的DNS client服 務

  26. 實例探討15 • Surfer: • Launcher • 首先Surfer建立一個隱藏桌面並塞入IE裡,但他沒有url • 之後再開啟一個Surfer引入它自己,並把第1個給關掉隨後它會使用DDE protocol • 當IE執行時DDE就可以被使用

  27. 實例探討16 • Breakout: -Launcher+Windows messaging -Breakout會建立一個網頁並指向目標的url - 然後它能執行Active Desktop並將網頁設 成你的背景桌面

  28. 實例探討17 • Jumper: • Launcher+DLL injection+Registry injection • 它會寫入AppInitDLLs這個登入檔,然後殺掉 explorer.exe • Windows會自動reloaded ,然而此時的explorer.exe 已經被loads jumper的DLL

  29. 實例探討18 • CPIL(Comodo Parent Injection Leak) • DLL injection • 會找出 explorer.exe且更改它的memory • 透過預設的瀏覽器來傳送資料給遠端電腦 • 需要安裝HIPS軟體來監視可疑的程式碼入侵

  30. 實例探討19 • PCFlank: • Windows messaging • PCFlank利用OLE自動化應用程式控制, 檢查你的防火牆如何處理當一個程式企圖管理另一個程式的行為.

More Related