1.1 網絡攻防實際案例——黛蛇蠕蟲
黛蛇(Dasher)蠕蟲是互聯網上爆發的一個著名蠕蟲案例,對該蠕蟲的應急響應處置是筆者在學生階段與狩獵女神團隊(中國蜜網項目組)一起在網絡攻防技術領域的“開山之作”。我們在第一時間監測到了黛蛇蠕蟲的活動,并截獲了傳播樣本,在深入分析樣本行為機理的基礎上,協助國家計算機網絡應急技術處理協調中心(CNCERT/CC)對該蠕蟲實施了有效控制,從而避免了它的進一步爆發性傳播。本節將通過回顧黛蛇蠕蟲事件全過程,以及重現蠕蟲傳播場景,希望給讀者留下對網絡攻防領域的一個初始印象。
1.1.1 黛蛇蠕蟲事件過程
從1988年莫里斯(Morris)蠕蟲造成互聯網前身阿帕網(ARPANET)癱瘓開始,蠕蟲一直是危害互聯網的一類重要安全威脅形態,特別是2001—2004年間,紅色代碼(Code Red)、沖擊波(Blaster)、震蕩波(Sasser)等蠕蟲接踵而來,傳播方式日趨多樣化且傳播速度日益提升,天空(Skynet)、Mydoom、貝革熱(Bagle)甚至在互聯網上打起了蠕蟲大戰,一時間互聯網網民深受其害,從而談“蟲”色變。
而黛蛇蠕蟲,可以說是互聯網安全威脅從網絡病毒蠕蟲時代終結、進入以僵尸網絡和網頁木馬為熱點的客戶端威脅時代的網絡蠕蟲的一次“謝幕演出”。黛蛇蠕蟲是2005年12月15日開始在互聯網上爆發的,主要是利用微軟Windows操作系統在同年10月份爆出的MSDTC服務MS05-051安全漏洞,同時還集成了MS05-039、MS04-045等漏洞的攻擊代碼。黛蛇蠕蟲爆發后,狩獵女神團隊通過在互聯網上部署的蜜罐系統在第一時間截獲了蠕蟲樣本,并積極配合CNCERT/CC對蠕蟲爆發事件進行了應急處置,在應急響應的黃金時間里有效地抑制了蠕蟲的傳播,避免了黛蛇蠕蟲像以往的著名蠕蟲一樣對互聯網造成嚴重危害。
黛蛇蠕蟲事件應急處置過程的時間線如下:
● 12月15日21:45,狩獵女神團隊在第一時間監測發現并截獲黛蛇蠕蟲樣本;
● 12月16日10:24,向CNCERT/CC報告了黛蛇蠕蟲爆發事件,定位了用于傳播的Shell控制指令、FTP服務器;
● 12月16日19:30,此時黛蛇蠕蟲已感染上萬臺主機,CNCERT/CC協調關閉了用于傳播的FTP服務器,從而控制了蠕蟲的進一步傳播;
● 12月16日19:45,發布黛蛇蠕蟲樣本分析報告;
● 12月17日協助CNCERT/CC對相關主機進行了取證分析,定位蠕蟲編寫者為河南省南陽市某ADSL用戶,并追蹤到蠕蟲編寫者的網名及個人博客;
● 12月18日15:00,協助CNCERT/CC發布黛蛇蠕蟲公告,如圖1-1所示。

圖1-1 狩獵女神團隊協助CNCERT/CC應急處置的黛蛇蠕蟲事件公告
● 12月19~20日,國內反病毒廠商和電信運營商開始關注黛蛇蠕蟲威脅,并通過各種技術手段幫助網民用戶有效地移除了黛蛇蠕蟲。
1.1.2 黛蛇蠕蟲機理
在截獲黛蛇蠕蟲樣本之后,狩獵女神團隊立即對樣本進行了深入的手工分析,并利用基于API劫持(API Hooking)技術實現的MwSniffer惡意代碼動態行為分析工具,揭示出了黛蛇蠕蟲的行為機理。12月16日19:45,狩獵女神團隊完成對黛蛇蠕蟲的詳細分析,在狩獵女神團隊網站以及The Honeynet Project內部網站Dasher蠕蟲事件處理討論專題中進行了發布,并匯報給了CNCERT/CC。
在黛蛇蠕蟲案例中,我們以蜜罐主機向外部網絡1025端口發起的異常掃描流量為作為切入點,通過對蜜網捕獲的數據進行關聯分析,得到如圖1-2所示的黛蛇蠕蟲攻擊場景,包括如下步驟:

圖1-2 黛蛇蠕蟲的傳播機理圖示
① 外部感染源首先通過TCP 1025端口的MSDTC服務漏洞MS05-051攻陷蜜罐主機;
② 注入的Shellcode執行后將連接控制命令服務器,獲取FTP服務器位置和下載指令;
③ 從FTP服務器下載黛蛇蠕蟲樣本到蜜罐主機;
④ 在蜜罐主機上激活黛蛇蠕蟲;
⑤ 在蜜罐主機上激活后的黛蛇蠕蟲將進一步對外進行掃描和傳播。
黛蛇蠕蟲運行后,會掃描并試圖利用漏洞攻擊目標主機,目標主機的地址是蠕蟲攜帶的地址列表生成的,多數地址瞄準了中國互聯網上的國內用戶。蠕蟲攻擊目標主機成功后,會操縱目標主機自動連接到某控制命令服務器的53號端口,請求黑客指令,然后根據指令從某個FTP服務器下載并運行一個鍵盤記錄軟件和黛蛇蠕蟲文件包,從而完成傳染過程。其中存放樣本的FTP服務器地址是由控制命令服務器動態指定的。蠕蟲從FTP服務器下載的0.exe文件是可解壓縮運行的鍵盤記錄軟件,該鍵盤記錄軟件會記錄用戶按鍵操作。下載的1.exe文件經解壓縮執行后,在系統目錄下的wins目錄釋放出6個可執行文件,分別為Sqltob.exe、Sqlscan.exe、Sqlexp.exe、Sqlexp1.exe、Sqlexp2.exe、Sqlexp3.exe。其中:
● Sqlexp.exe攻擊MS04-045 WINS服務漏洞,協議和端口為TCP/42;
● Sqlexp1.exe攻擊MS05-039 UPNP漏洞,協議和端口為TCP/445;
● Sqlexp2.exe攻擊MS05-051 MSDTC漏洞,協議和端口為TCP/1025;
● Sqlexp3.exe利用SQL hello exploit工具攻擊MS SQLServer漏洞,協議和端口為TCP/1433。
在黛蛇蠕蟲行為機理分析過程中,一方面通過手工分析、輔助動態分析等手段掌握了該蠕蟲的行為特征和模式,為CNCERT/CC應用進一步手段抑制該蠕蟲大規模傳播提供了決策支持;另一方面在分析過程中,我們特別對該蠕蟲所連接的Shell控制命令服務器、FTP服務器、Web空間服務器的IP地址進行了特殊關注和持續追蹤,這些信息也是進一步對黛蛇蠕蟲實施取證分析和追蹤的關鍵。
1.1.3 黛蛇蠕蟲的取證分析與追蹤
在有效應對處置黛蛇蠕蟲、抑制了該蠕蟲爆發的基礎上,狩獵女神團隊進一步協助CNCERT/CC進行了深入的受控主機取證分析以及對蠕蟲編寫者的追蹤溯源,并最終確定了蠕蟲編寫者的上網IP地址、所在省市及其網絡身份。由于響應及時,該案例并未對互聯網造成嚴重影響,同時CNCERT/CC并不具備執法權限,因此未對蠕蟲編寫者進行更進一步的追查。
我們對黛蛇蠕蟲的取證分析和編寫者追蹤的主要過程如下。
① 通過CNCERT/CC分中心協調,嘗試獲得黛蛇蠕蟲傳播過程中涉及的控制命令服務器、FTP服務器、Web空間服務器的遠程訪問,進行取證分析。
② 遠程登錄FTP服務器,獲取到FTP服務器的Banner,發現包括[Evil Security Team]字樣,同時可通過FTP顯示的登錄次數、下載文件數統計估計黛蛇蠕蟲傳播規模。經查該服務器屬于中科院某研究所,通過CNCERT/CC陜西分中心協調獲取到FTP服務器的遠程訪問權限,登錄該FTP服務器(Windows Server 2003),對黑客上傳的FTP服務程序、黛蛇蠕蟲樣本等進行了證據保全,并檢查了黑客攻擊該服務器的時間、以上傳FTP服務程序以及黛蛇蠕蟲樣本的日志信息。由于該服務器并未有嚴格的日志記錄,未能有效地分析出攻擊來源。
③ 通過IP定位確認控制命令服務器屬于湖南某大學,通過協調讓該服務器下線檢查,但未能取得該服務器的遠程訪問取證權限。
④ 通過CNCERT/CC廣東分中心取得Web空間服務器的遠程訪問取證權限,經過檢查IIS日志提取了蠕蟲樣本所訪問Web空間的遠程訪問日志。并通過與前述FTP服務器的文件上傳日志進行關聯分析,找出了與黛蛇蠕蟲的投放緊密相關的IP地址。
⑤ 通過進一步追查,定位該IP地址為河南省南陽市的某ASDL用戶,通過CNCERT/CC協調電信確認為該市某用戶上網地址。
⑥ 通過對[EST]黑客團隊進行互聯網搜索,找出“黑客”[EST]xi□□□u的個人博客地址,通過后期跟蹤確定該名“黑客”即黛蛇蠕蟲編寫者,并對該名“黑客”進行了全面調查分析。
1.1.4 重現黛蛇蠕蟲傳播場景
根據對黛蛇蠕蟲的行為機理分析結果,我們可以在物理隔離的單機環境上構建網絡攻防的演示和實驗環境,重現黛蛇蠕蟲的傳播場景。
我們在一臺較高性能的服務器上,通過VMware vSphere虛擬化技術和蜜網技術的結合,利用虛擬蜜網技術框架,即可構建一套完整的黛蛇蠕蟲傳播場景演示和實驗環境,如圖1-3所示。

圖1-3 基于虛擬蜜網環境重現黛蛇蠕蟲傳播場景
基于虛擬蜜網環境重現黛蛇蠕蟲傳播場景包括如下部分。
● 黛蛇蠕蟲感染源:我們以VMware vSphere中的一臺虛擬機作為黛蛇蠕蟲感染源,在演示過程中,我們并不直接運行傳播目標不受控制的蠕蟲樣本,而是用著名的網絡滲透攻擊開源軟件Metasploit,以及從黛蛇樣本中抽取出的滲透攻擊代碼(如攻擊MS05-039安全漏洞的Sqlexp1.exe),來對感染目標主機進行受控的傳播攻擊實驗。
● 控制命令服務器及FTP服務器:我們在VMware vSphere中另外使用一臺虛擬機運行控制命令服務和FTP服務。控制命令服務以具有網絡攻防瑞士軍刀之稱的netcat工具構建,FTP服務用Serv-U軟件搭建。
● 感染目標蜜罐主機:以VMware vSphere中的一臺虛擬機作為感染目標蜜罐主機,安裝Windows 2000 Server存在相應安全漏洞的早期版本。蜜罐主機中安裝Sebek開源攻擊行為監控軟件,從而對蜜罐主機上的鍵擊記錄等系統行為進行采集。
● 蜜網網關:同樣在VMware vSphere中使用虛擬機部署用于網絡行為捕獲和控制的蜜網網關,安裝ROO v1.4開源蜜網網關軟件。
下面通過兩個演示過程來展示黛蛇蠕蟲所利用的安全漏洞,以及黛蛇蠕蟲的實際傳播場景。
演示1.通過Metasploit軟件攻擊黛蛇蠕蟲利用的MS05-039安全漏洞
在宿主主機上運行Metasploit軟件中的MSFConsole(命令行界面),按照圖1-4輸入針對MS05-039即插即用服務漏洞的滲透攻擊命令和配置參數選擇,攻擊成功后將獲得反向的Shell,對目標主機進行控制。通過蜜網網關,可以監控和分析作為攻擊源的宿主主機對目標主機所發起的滲透攻擊的全過程。
演示2.黛蛇蠕蟲實際傳播場景
黛蛇蠕蟲實際傳播場景演示包括如下步驟。
① 架設FTP服務,提供黛蛇蠕蟲樣本下載,在演示實例中我們設置的FTP用戶和密碼為Dasher/mima,黛蛇蠕蟲樣本為0.exe和1.exe。
② 編寫FTP下載樣本和執行樣本的批處理命令,并使用NetCat工具架設控制命令服務。黛蛇蠕蟲實際傳播場景使用的Shell命令如圖1-5所示,NetCat工具將監聽172.31.4.200的53端口,并對連入網絡連接提供command.txt中所包含的批處理命令,從FTP下載執行黛蛇蠕蟲樣本。

圖1-4 利用Metasploit攻擊MS05-039安全漏洞

圖1-5 黛蛇蠕蟲實際傳播演示場景——黛蛇蠕蟲傳播使用的Shell命令
③ 在宿主主機上運行作為感染源的黛蛇蠕蟲滲透攻擊程序,設置攻擊目標主機的IP地址及操作系統類型,以及控制命令服務的IP地址和監聽端口,實施黛蛇傳播攻擊,黛蛇蠕蟲利用的滲透攻擊程序執行過程如圖1-6所示。

圖1-6 黛蛇蠕蟲實際傳播演示場景——黛蛇蠕蟲利用的滲透攻擊程序執行過程
④ 查看感染目標蜜罐主機的文件系統、任務運行列表和系統狀態,可以發現C盤根目錄下已被植入黛蛇蠕蟲樣本,并在任務運行列表中可以發現0.exe、1.exe及進一步釋放出的SqlExp*.exe正在運行,而CPU占用快速上升至近90%,黛蛇蠕蟲感染目標主機后的系統狀態如圖1-7所示。

圖1-7 黛蛇蠕蟲感染目標主機后的系統狀態
⑤ 通過蜜網網關對黛蛇蠕蟲傳播過程進行分析,可以從記錄的網絡連接記錄、原始報文記錄和Sebek監控的系統行為記錄中,了解黛蛇蠕蟲的整個傳播場景機理和過程。