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