本站小編為你精心準(zhǔn)備了行為模擬的木馬線索調(diào)查參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
《刑事技術(shù)雜志》2014年第二期
1木馬線索追查
木馬程序一般由兩部分構(gòu)成,客戶端和服務(wù)端。在被入侵的主機(jī)上種植客戶端,在黑客主機(jī)上運行服務(wù)端,服務(wù)端通過計算機(jī)網(wǎng)絡(luò)對客戶端進(jìn)行遠(yuǎn)程控制。被種植木馬的受害者主機(jī)稱為“肉機(jī)”,黑客可以遠(yuǎn)程完全控制“肉機(jī)”。TCP是一種可靠的傳輸層協(xié)議,它提供完善的差錯校驗、流量和擁塞控制功能,可以實現(xiàn)兩個進(jìn)程之間的可靠通信。UDP是一種不可靠的傳輸層協(xié)議,它只能提供有限的差錯校驗機(jī)制,沒有流量和擁塞控制。如果選用UDP實現(xiàn)進(jìn)程之間的可靠通信,就必須在應(yīng)用層實現(xiàn)流量和擁塞控制功能,這增加了程序開發(fā)的難度。木馬需要實現(xiàn)對“肉機(jī)”的完全控制、監(jiān)控“肉機(jī)”的操作畫面、監(jiān)控“肉機(jī)”的語音和視頻通信,這些功能需要在“肉機(jī)”和黑客主機(jī)之間可靠傳遞大量通信數(shù)據(jù),因此TCP成為遠(yuǎn)程控制木馬的首選協(xié)議。早期的木馬(如冰河)采用的是黑客主機(jī)主動尋找“肉機(jī)”的通信模式,但由于大量“肉機(jī)”分散在局域網(wǎng)(使用專用地址,對外不可見)或家庭撥號網(wǎng)絡(luò)中(每次登陸IP地址變化),導(dǎo)致這種通信模式失效。目前遠(yuǎn)程控制木馬普遍采用“肉機(jī)”主動尋找黑客主機(jī)的通信模式。但這種模式也存在一個問題,那就是黑客通常位于家庭撥號網(wǎng)絡(luò)環(huán)境之中,黑客主機(jī)每次聯(lián)網(wǎng)都會從網(wǎng)絡(luò)運營商那里獲得一個全局合法IP地址,中斷連接時釋放這個IP,下次重新聯(lián)網(wǎng)會獲得另一個不同的IP地址。這導(dǎo)致“肉機(jī)”無法以IP地址作為遠(yuǎn)程連接的穩(wěn)定條件,因此出現(xiàn)了動態(tài)域名映射技術(shù),以圖1為例進(jìn)行解釋(見圖1)。黑客主機(jī)聯(lián)網(wǎng)之后獲得一個動態(tài)IP,之后將這個IP地址傳遞給動態(tài)域名服務(wù)器,DNS服務(wù)器將域映射為60.1.2.3。假設(shè)黑客主機(jī)下次聯(lián)網(wǎng)獲得IP地址為,DNS服務(wù)器會將域名重新映射。可見IP地址雖然在不斷變化,但域名是穩(wěn)定不變的。圖2(a)顯示的是“肉機(jī)”與黑客主機(jī)正常建立TCP連接的通信過程。“肉機(jī)”首先使用DNS協(xié)議將域名解析為對應(yīng)的IP地址60.1.2.3。之后通過TCP的三次握手機(jī)制與黑客主機(jī)建立一條TCP連接,遠(yuǎn)程控制通道建立完成。遠(yuǎn)程通道建立起來之后,在“肉機(jī)”端使用netstat-an命令可以查看到這條控制連接。圖2(d)表示“肉機(jī)”使用1065端口與遠(yuǎn)程主機(jī)(IP地址為60.1.2.3)的1066端口建立了一條TCP連接。在兩種情況下“肉機(jī)”不能與黑客主機(jī)正常建立TCP連接,這時采用netstat-an命令不能查看到對應(yīng)的控制連接,即不能獲得黑客主機(jī)的IP地址。圖2(b)表示的是第一種情況,可以看出域名解析任務(wù)正常完成,即“肉機(jī)”獲得了黑客主機(jī)的IP地址,但在向黑客主機(jī)發(fā)出第一次TCP握手報文時,對方并未應(yīng)答。圖2(c)表示的是第二種情況,可以看出域名解析請求并未得到應(yīng)答,這是因為域名服務(wù)器中并不存在對應(yīng)的域名解析記錄。此時我們無法獲得黑客的任何線索。
這里說的“疑難木馬”是指那些不能與遠(yuǎn)程黑客主機(jī)正常建立TCP控制連接的木馬。對于這類“疑難木馬”可以在圖3所示的拓?fù)洵h(huán)境中,使用“行為模擬”方法來誘使“肉機(jī)”上的木馬客戶端發(fā)出信息,而這些信息通常包含了可以證明木馬存在的相關(guān)證據(jù)。調(diào)查人員可以將受害者主機(jī)、一臺IIS服務(wù)器和一臺DNS服務(wù)器通過集線器進(jìn)行連接,要保證與外部因特網(wǎng)隔絕。這里選取IIS服務(wù)器來模擬黑客主機(jī)是因為兩者的初始工作機(jī)制極為相似,均監(jiān)聽某個特定的TCP端口。區(qū)別在于監(jiān)聽的端口號不同,IIS默認(rèn)監(jiān)聽80端口,而黑客主機(jī)可以監(jiān)聽任何端口。這時用戶需要將IIS的監(jiān)聽端口調(diào)整為黑客主機(jī)的工作端口。這樣一來,兩者的初始工作狀態(tài)完全相同,可以達(dá)到行為模擬的相關(guān)要求。整個調(diào)查過程共分為4個階段(見圖4)。第1階段是DNS模擬應(yīng)答階段。調(diào)查人員先將受害者主機(jī)連入因特網(wǎng),同時使用數(shù)據(jù)包捕獲軟件(例如sniffer)監(jiān)聽一段時間,從捕獲的通信數(shù)據(jù)中識別出那些未獲得應(yīng)答的DNS請求報文,記錄下其中攜帶的域名信息,將這些域名中的一個添加到圖3所示的DNS服務(wù)器中,同時將它的映射IP地址設(shè)置為IIS服務(wù)器的IP。這樣一來,當(dāng)組成圖3所示的網(wǎng)絡(luò)環(huán)境后,這個之前未獲得響應(yīng)的DNS請求將得到應(yīng)答,IP地址指向IIS服務(wù)器。第2階段是模擬3次握手機(jī)制建立TCP控制連接。“肉機(jī)”收到DNS應(yīng)答報文之后,信任其中攜帶的信息,向IIS服務(wù)器發(fā)出第1次握手SYN報文。由于“肉機(jī)”連接的端口很可能不是TCP80端口,因此這個連接請求通常會被IIS服務(wù)器以一個RST報文拒絕。調(diào)查人員通過在IIS服務(wù)器端運行的監(jiān)聽軟件了解到這一信息之后,按照“肉機(jī)”的實際連接端口值調(diào)整IIS服務(wù)器的工作端口,之后“肉機(jī)”與IIS服務(wù)器通過TCP3次握手機(jī)制建立起一條控制連接。第3階段是證據(jù)收集階段。當(dāng)TCP連接通道建立起來之后,“肉機(jī)”會誤認(rèn)為IIS服務(wù)器就是遠(yuǎn)程黑客主機(jī),于是將數(shù)據(jù)發(fā)送給它,這些數(shù)據(jù)可以是木馬盜取到的賬戶信息,或遠(yuǎn)程控制指令,等等。IIS服務(wù)器上運行的監(jiān)聽軟件會將它們記錄下來,提供給調(diào)查人員進(jìn)行分析,同時以ACK報文確認(rèn)接收到的數(shù)據(jù)。第4階段是連接終止階段。由于IIS服務(wù)器只是簡單的以ACK報文確認(rèn)收到的數(shù)據(jù),而沒有與“肉機(jī)”形成更深層次的互動,因此“肉機(jī)”端運行的木馬程序會識別出這一異常,而后使用一個FIN或RST報文來終止這條連接,IIS服務(wù)器會以一個RST報文進(jìn)行響應(yīng)。至此調(diào)查工作完成,在IIS服務(wù)器端收集到“肉機(jī)”在第三階段發(fā)出的相關(guān)數(shù)據(jù)。
3基于“行為模擬”的盜號木馬線索追查方法應(yīng)用舉例
盜號木馬在竊取到敏感信息(例如受害者的網(wǎng)銀賬戶和密碼)之后會將這些信息發(fā)送給黑客指定的服務(wù)器。在“肉機(jī)”無法與黑客服務(wù)器建立通信連接的情況下、可以應(yīng)用本文提出的“行為模擬”方法進(jìn)行追蹤,以尋找出黑客的相關(guān)線索,下面具體舉例分析。初始網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示,首先確定“肉機(jī)”端未獲得應(yīng)答的DNS請求報文。將“肉機(jī)”正常接入因特網(wǎng),同時在監(jiān)控主機(jī)上使用sniffer監(jiān)聽“肉機(jī)”與外網(wǎng)的通信數(shù)據(jù),一段時間之后停止監(jiān)聽,從捕獲的數(shù)據(jù)報中確定那些未被響應(yīng)的DNS請求報文(如果數(shù)據(jù)報較多,可以利用sniffer提供的過濾功能篩選出DNS數(shù)據(jù)報)。在本例中未獲得響應(yīng)的DNS請求報文如圖6所示。可見“肉機(jī)”向DNS服務(wù)器發(fā)出了一個DNS請求報文,請求解析域名對應(yīng)的IP地址,但這一請求并未獲得應(yīng)答。按照圖7所示拓?fù)浣Y(jié)構(gòu)組成網(wǎng)絡(luò),其中DNS服務(wù)器的IP地址為服務(wù)器的IP地址。在DNS服務(wù)器上新增加一組映射,將域名映射(即IIS服務(wù)器的IP地址)。將“肉機(jī)”的DNS服務(wù)器IP地址由之前。之后再次運行監(jiān)控主機(jī)上的sniffer監(jiān)聽一段時間。由于“肉機(jī)”的網(wǎng)絡(luò)設(shè)置發(fā)生了變化,因此“肉機(jī)”會重新嘗試進(jìn)行網(wǎng)絡(luò)連接,它收發(fā)的數(shù)據(jù)報會被sniffer截獲(見圖8)。編號17的數(shù)據(jù)報是“肉機(jī)”向新DNS服務(wù)器發(fā)出的請求報文,請求解析域名對應(yīng)的IP地址。編號18的數(shù)據(jù)報是DNS服務(wù)器返回的應(yīng)答報文,其攜帶的具體數(shù)據(jù)如圖9所示,可見域名被映射為。編號19的數(shù)據(jù)報是“肉機(jī)”向IIS服務(wù)器提交的第一次握手報文,可見“肉機(jī)”主動連接的端口為3030。由于IIS服務(wù)器端并未開放這個端口,因此IIS服務(wù)器使用一個RST報文拒絕了這個連接請求,即編號20的數(shù)據(jù)報。接下來將IIS服務(wù)器的工作端口由默認(rèn)的80改為3030,停止再重新激活“肉機(jī)”的網(wǎng)卡,這一行為會促使“肉機(jī)”重新進(jìn)行網(wǎng)絡(luò)連接,而其產(chǎn)生的數(shù)據(jù)報會被監(jiān)控主機(jī)截獲,如圖10所示。編號8~10的數(shù)據(jù)報是“肉機(jī)”使用3次握手機(jī)制與IIS服務(wù)器建立一條TCP連接,“肉機(jī)”選擇隨機(jī)端口1120,IIS服務(wù)器使用3030端口。編號11的數(shù)據(jù)報是“肉機(jī)”使用HTTP-GET方式向IIS服務(wù)器的aa.a(chǎn)sp腳本文件提交了一組參數(shù),參數(shù)值為id=peter和pass=86982480,顯然這是“肉機(jī)”端的木馬程序記錄到的敏感信息。由于服務(wù)器端并不存在一個名為aa.a(chǎn)sp的腳本文件,因此IIS服務(wù)器返回一個3780字節(jié)的錯誤信息,這一錯誤信息被封裝為3個HTTP數(shù)據(jù)報返回,即編號12、13和15的報文。編號14和16的報文是“肉機(jī)”返回的ACK確認(rèn)報文。編號17~20的數(shù)據(jù)報是“肉機(jī)”使用四次揮手機(jī)制與IIS服務(wù)器斷開這條TCP連接,致此通信結(jié)束。通過“肉機(jī)”提交的參數(shù)可以確定這是木馬程序產(chǎn)生的一組通信數(shù)據(jù),木馬使用服務(wù)器的域名為www.xinxi.com。如果DNS解析環(huán)節(jié)能正常進(jìn)行的話,還可以得到木馬服務(wù)器的IP地址。如果“肉機(jī)”是使用ESMTP協(xié)議來提交盜取的敏感信息,那么通過“行為模擬”的方法還可以獲得黑客使用的發(fā)信郵箱、賬戶、密碼和郵件正文等信息,采用的“行為模擬”方法與本例相同,這里就不再闡述。
4討論
針對“肉機(jī)”無法與遠(yuǎn)程黑客建立通信連接的情況,本文提出了一種基于“行為模擬”的木馬線索調(diào)查方法。該方法可以模擬黑客主機(jī)與“肉機(jī)”進(jìn)行通信,誘使“肉機(jī)”提交數(shù)據(jù),這些數(shù)據(jù)通常包含了黑客盜取的敏感信息、提交的遠(yuǎn)程控制命令、黑客使用的郵箱地址、用戶名、密碼、黑客主機(jī)的域名,等等。通過這些信息可以直接或間接地獲得木馬的相關(guān)線索。如果DNS域名解析過程能成功進(jìn)行的話,調(diào)查人員還可以獲得黑客使用遠(yuǎn)程服務(wù)器的IP地址。
作者:徐國天 單位:中國刑警學(xué)院網(wǎng)絡(luò)犯罪偵查系