焚燒系統裏的*** 教你徹底清除***病毒

    “我想,我們應該燒掉這個東西。”3000多年前,面對希臘人突然遺留在戰場廢墟上的這隻巨大的***,特洛伊王國的小王子帕里斯對他的父王說。因爲他有一種不安的感覺,這個突然出現的物體會帶來厄運。然而沒有人聽他的話,整個軍隊固執的把這隻龐然大物作爲戰利品運回了城裏。幾天後的夜裏,藏在***裏的希臘士兵從內部打開了特洛伊那堅不可摧的城門——特洛伊因此淪陷。如果帕里斯仍有靈魂存在的話,他也許會苦苦思索這個問題:如果當初我堅持把這個帶來厄運的東西焚燒掉,那麼特洛伊將會是怎樣一種結局呢?請允許我改編情感作家薑湯的一句話:“二十一世紀的網絡是***橫行的世界,人類在解決病毒戰爭之後,最大的困惑就是***後門的***難題。”衆所周知,***(Trojan,或稱後門“BackDoor”)是一種危害巨大的程序,它們讓被害的計算機對着未知的***者敞開了大門,使得受害者的系統和數據暴露在混亂的網絡世界裏。和病毒一樣,***也經歷了好幾代的演變,使得它越藏越深,成爲另一種難以揪除的寄生蟲。——如果,我們趁早把***焚燒掉呢?

  認識***
  簡言之,信息領域的***,就是一種能潛伏在受害者計算機裏,並且祕密開放一個甚至多個數據傳輸通道的遠程控制程序,它由兩部分組成:客戶端(Client)和服務器端(Server),客戶端也稱爲控制端。***的傳播感染其實指的就是服務器端,***者必須通過各種手段把服務器端程序傳送給受害者運行,才能達到***傳播的目的。當服務器端被受害者計算機執行時,便將自己複製到系統目錄,並把運行代碼加入系統啓動時會自動調用的區域裏,藉以達到跟隨系統啓動而運行,這一區域通常稱爲“啓動項”。當***完成這部分操作後,便進入潛伏期——偷偷開放系統端口,等待***者連接。到此爲止,***還只處於被特洛伊的市民拉入城內的階段,是不會進行破壞行動的。當***者使用客戶端連接上***服務器端開放的端口後,特洛伊的城門就被打開了,到這裏,***的噩夢才正式開始……所以,在***屠城的軍號吹響之前,如果帕里斯及時點燃了這隻龐然大物,特洛伊也許就不會消失——至少,它不會是被一隻***給毀掉的。
  阻止***進城——不同時期的***形態與相應的系統保護
  特洛伊被***計的前提是因爲特洛伊人自己把藏有希臘士兵的***運進了城內,讓***計得以成功實施,換個角度,如果當初特洛伊人任憑***擱在海灘上發黴發臭,或者直接焚燒了這隻裝載着厄運的東西,那麼“特洛伊***”將會被作爲與“馬奇諾防線”同樣性質的著名無效戰略而被列入史冊,而且後世可能再也不會採用這種***手段。但是希臘人的***計成功了,正如現在數以千計的現代網絡***計成功了一樣。現代的希臘人——***者積極使用各種手段讓現代的特洛伊人——受害者把那隻***程序高高興興的領回家去。早期的防病毒思想並不盛行,那時候的網民也比較單純,使用網絡防火牆的人也只有少數,所以那時候的***者可以算是幸福的,他們只需要一點簡單的社會工程學手段就能把***程序傳輸給對方執行,這一時期的***種植手段(如今的普遍稱謂爲“下馬”)基本上不需要牽涉到技術,也許唯一需要的技術就是如何配置和使用一個***,因爲那時候***也還是個新產物而已。那時候的網民,只能依靠自己的判斷和技術,才能免受或擺脫***之害。
  因此,當***技術剛在國內開始的時候,任意一個IP段都有可能存在超過40%的受害計算機開放着大門等待***者進攻,可以毫不誇張的說,那時候是***的第一黃金時期,唯一美中不足的制約條件就是當時的網絡速度普遍太慢了。隨着時間的流逝,***技術發展日益成熟,但網民的安全意識也普遍提高,更出現了初期的病毒防火牆概念,這個時期的***者必須掌握更高級的社會工程學手段和初期的***技術才能讓對方受害了,這時期的***雖然隱蔽性有了相對提高,但仍然是基於客戶端尋找連接服務器端的模式。由於出現了病毒防火牆,網民判斷和查殺***的效率大大提高,而且大部分人也知道“人心不古”了,不再輕易接收陌生人給的程序,使得***不再像上時期那樣肆無忌彈的橫行,但是因爲病毒防火牆是個新興產物,仍然有相對多的人沒有安裝使用,以至於許多老舊的***依然可以橫行無忌。再後來,隨着網絡防火牆技術誕生和病毒防火牆技術的成熟,***作者被迫緊跟着防病毒廠商的腳步更新他們的作品以避免馬兒過早“殉職”,同時由於網絡防火牆技術的出現,讓計算機與網絡之間不再直接,尤其是網絡防火牆實現的“攔截外部數據連接請求”與“審覈內部程序訪問網絡請求”的策略,導致大部分***紛紛失效,這時期的***逐漸分裂成兩個派別:一種依然採用客戶端連接服務器端的方式,只是改爲了其他傳輸途徑,如E-MAIL、FTP等,或者在內部除掉網絡防火牆,以便自己暢通無阻;另一種則改變了***的思維,把“客戶端連接服務器端”變爲“服務器端連接客戶端”,再加上一點社會工程學技術,從而突破了網絡防火牆的限制,也因此誕生了一種新的***技術——“反彈型”***。
  這一時期裏,***者與受害者之間的戰爭終於提升到技術級別,若想保護自己,除了安裝網絡防火牆和病毒防火牆,以及接觸網絡***技術以外別無他法,這個“基礎互動”一直保持到今天的XP時代。到了XP時代,網絡速度有了質的飛躍,******戰更是越來越多的浮上水面,因爲系統變了,一個專門爲網絡應用而誕生的操作系統,必定會存在與網絡有關的缺陷。沒錯,WinXP相對於Win9x的弱點就是它的網絡漏洞太多了,無論是利用MIME漏洞傳播的信件***,還是通過LSASS溢出而放下的***,都能在XP系統上分到一塊肉。你也許會說,Win9x同樣有許多漏洞,但是爲什麼它沒有XP的煩惱?這是因爲Win9x的網絡功能太弱了,幾乎沒有什麼系統組件需要依靠網絡運行!所以現在的用戶,除了使用網絡防火牆和病毒防火牆把自己包裹得嚴嚴實實以外,還要三天兩頭去微軟的系統更新站點安裝各種漏洞修復程序……
  別讓士兵們下馬!——防止***啓動
  話說藏在***裏的希臘士兵入城以後,並沒有急着下馬屠城,而是待到夜深人靜之時,纔出來打開了牢固的城門,爲特洛伊的毀滅奏響了哀歌。而計算機內部沒有人類社會的地理和時間關係,即使你的硬盤裏現在就存放着100個***程序,它們也比特洛伊海灘上那隻大***的處境好不到哪裏去,因爲對於操作系統來說,任何有害程序只要沒有運行,它就可以等同於那些未能下馬的士兵,一律視爲無害。要讓系統變成特洛伊城的黑夜,唯一的方法只能是啓動***的服務器端,而啓動***的最簡單途徑,就是通過“啓動項”加載運行。任何操作系統都會在啓動時自動運行一些程序,用以初始化系統環境或額外功能等,這些被允許跟隨系統啓動而運行的程序被放置在專門的區域裏供系統啓動時加載運行,這些區域就是“啓動項”,不同的系統提供的“啓動項”數量也不同,對於Win9x來說,它提供了至少5個“啓動項”:DOS環境下的Autoexec.bat、Config.sys,Windows環境下的“啓動”程序組、註冊表的2個Run項和1個RunServices項,到了2000/XP系統時代,DOS環境被取消,卻新增了一種稱之爲“服務”的啓動區域,這麼多的啓動入口,***自然不會放過,於是我們經常在一些計算機的啓動項裏發現陌生的程序名,這時候就只能交由你或者病毒防火牆來判斷了,畢竟系統自身會在這裏放置一些必要的初始化程序,還有一些正常工具,包括病毒防火牆和網絡防火牆,它們也必須通過啓動項來實現跟隨系統啓動。
  此外還有一種不需要通過啓動項也能達到跟隨系統啓動的卑劣手法,那就是“系統路徑遍歷優先級欺騙”,Windows系統搜尋一個不帶路徑信息的文件時遵循一種“從外到裏”的規則,它會由系統所在盤符的根目錄開始向系統目錄深處遞進查找,而不是精確定位的,這就意味着,如果有兩個同樣名稱的文件分別放在C:\和C:\Windows下,Windows會執行C:\下的程序,而不是C:\Windows下的。這樣的搜尋邏輯就給***者提供了一個機會,***可以把自己改爲系統啓動時必定會調用的某個文件名,並複製到比原文件要淺一級以上的目錄裏,Windows就會想當然的執行了***程序,系統的噩夢就此拉開序幕。這種手法常被用於“internat.exe”,因爲無論哪個Windows版本的啓動項裏,它都是沒有設置路徑的。要提防這種佔用啓動項而做到自動運行的***,用戶必須瞭解自己機器裏所有正常的啓動項信息,才能知道***有沒有混進來。至於利用系統路徑漏洞的***,則只能靠用戶自己的細心了。爲什麼它無法根除?——文件並聯型***的查殺某些用戶經常會很鬱悶,自己明明已經刪除了***文件和相應的啓動項,可是不知道什麼時候它自己又原封不動的回來了,這還不算,更悲慘的是有時候殺掉某個***後,系統也出了故障:所有應用程序都打不開了。這時候,如果用戶對計算機技術的瞭解僅限於使用殺毒軟件,那可只能哭哭啼啼的重裝系統了!爲什麼會這樣?難道這種***還惡意修改了系統核心?其實答案很簡單,因爲這種***修改了應用
  程序(EXE文件)的並聯方式。
  什麼是“並聯方式”呢?在Windows系統裏,文件的打開操作是通過註冊表內相應鍵值指定的應用程序來執行的,這個部分位於註冊表的“HKEY_CLASSES_ROOT”主鍵內,當系統收到一個文件名請求時,會以它的後綴名爲依據在這裏識別文件類型,進而調用相應的程序打開。而應用程序自身也被視爲一個文件,它也屬於一種文件類型,同樣可以用其他方式開啓,只不過Windows設置它的調用程序爲“"%1" %*”,讓系統內核理解爲“可執行請求”,它就會爲使用這種打開方式的文件創建進程,最終文件就被加載執行了,如果有另外的程序更改了這個鍵值,Windows就會調用那個指定的文件來開啓它。一些***程序把EXE後綴名對應的exefile類型的“打開方式”改成了“***程序 "%1" %*”,運行程序時系統就會先爲“***程序”創建進程,把緊跟着的文件名作爲參數傳遞給它執行,於是在我們看來程序被正常啓動了。因爲***程序被作爲所有EXE文件的調用程序,使得它可以長期駐留內存,每次都能恢復自身文件,所以在一般用戶看來,這個***就做到了“永生不死”。
  然而一旦***程序被刪除,Windows就會找不到相應的調用程序,於是正常程序就無法執行了,這就是所謂的“所有程序都無法運行”的情況來源,並不是***更改了系統核心,更沒必要因此重裝整個系統。根除這種***的最簡單方法只需要查看EXE文件的打開方式被指向了什麼程序,立即停止這個程序的進程,如果它還產生了其他***文件的話,也一起停止,然後在保持註冊表編輯器開啓着的情況下(否則你的所有程序都會打不開了)刪除掉所有***文件,把exefile的“打開方式”項(HKEY_CLASSES_ROOT\exefile\shell\open\command)改回原來的“”%1” %*”即可。
  如果刪除***前忘記把並聯方式改回來,就會發現程序打不開了,這時候不要着急,如果你是Win9x用戶,請使用“外殼替換大法”:重啓後按F8進入啓動菜單選擇MS-DOS模式,把Explorer.exe隨便改個名字,再把REGEDIT.EXE改名爲Explorer.exe,再次重啓後會發現進入Windows只剩下一個註冊表編輯器了,趕快把並聯方式改回來吧!重啓後別忘記恢復以前的Explorer.exe。對於Win2000/XP用戶而言,這個操作更簡單了,只要在開機時按F8進入啓動菜單,選“命令提示符的安全模式”,系統就會自動調用命令提示符界面作爲外殼,直接在裏面輸入REGEDIT即可打開註冊表編輯器!XP用戶甚至不需要重啓,直接在“打開方式”裏瀏覽到CMD.EXE就能打開“命令提示符”界面運行註冊表編輯器REGEDIT.EXE了。
  偷樑換柱——追回被盜的系統文件
  除了添加自己到啓動項、路徑欺騙和更改文件並聯以外,一般的***還有一種計倆可以使用,那就是替換系統文件。由於如今的操作系統都是由許多文件共同構造的,並不是所有用戶都能明白系統文件夾裏每個文件的作用,這就給了***可乘之機,它們盯上了系統裏那些不會危害到系統正常運行而又經常會被調用的程序文件,像輸入法指示程序internat.exe、讓動態鏈接庫可以像程序一樣運行的rundll32.exe等。***先把系統原來的文件改名成只有它們自己知道的一個偏僻文件名,再把自己改名成那個被替換的文件,這樣就完成了隱藏極深的感染工作,從此只要系統需要調用那個被替換的程序進行工作,***就能繼續駐留內存了。那麼文件被替換會不會導致系統異常呢?只要***沒有被刪除,就不會造成系統異常,因爲***在作爲原來的程序而被系統啓動時,會獲得一個由系統傳遞來的運行參數,這就是系統要求該程序工作的關鍵所在,***會直接把這個參數傳遞給被改名的程序執行,像接力比賽那樣完成數據操作,這樣在系統看來就是命令被正常執行了,自然不會出現異常。但是也因爲這樣的特性導致***被查殺後,系統的某些命令無法傳遞到本該執行操作的程序中,反而讓系統出錯了。
  要修復它其實很簡單,只要記住這個***的文件名,在刪除它之後再從系統光盤複製一個“原配”文件就可以了,如果沒有系統光盤,就必須通過工具追蹤***傳遞參數的目標程序名,再把它改回來。
  結束語
  ***的發展促進了安全技術的提高,而安全技術的提高又迫使***必須往更高的級別發展,到現在***已經形成了多個派系的共存,偵測它們的方法也不能再像以前那樣簡單了,例如檢測異常端口的方法對於反彈***而言是無效的,它並不在本機開放端口;就算防火牆能阻止內部未授權程序訪問網絡,但那隻能針對TCP/UDP協議的***,別忘記了還有ICMP後門的存在,防火牆通常不會阻止這類報文的。雖然ICMP協議的數據報文能完成的事情相對較少,但是對於一般的命令控制,它已經足夠了……
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章