早在幾年前,就有先知先覺的網友感歎道:人在網上漂,哪能不中標。而到如今,電腦中招更是成了家常便飯。面對這來勢洶洶病毒木馬們,殺毒軟件和防火牆自然是一個都不能少。但有時還是有許多僅僅依靠殺毒軟件和防火牆對付不了的頑固分子,這時該怎麼辦呢?而你可曾知道,在 Windows 系統的命令行中,已經為我們提供一些非常有用的工具,充分利用就會變成我們對抗病毒的強力武器,我們就能更有效地對抗病毒。下面我們就來看看命令行下的強力抗毒武器。 一、TASKLIST——火眼金睛 如今的病毒越來越狡猾,常常不見首也不見尾。但許多病毒往往在進程這一環節中露出狐狸尾巴,因而查看進程是查殺病毒的一個重要的方法。當然我們通過系統的任務管理器或其它功能更強大的進程查看器來查看分析進程,而實際上在命令行也提供了進程查看的命令工具——Tasklist(Windows XP 或更新版本)。此命令與任務管理器一樣可以顯示活動進程的列表。但通過使用參數,可以看到任務管理器查看不到的信息,但通過運用參數,我們可以實現更強大的功能。使用參數“/M”,運行“Tasklist /M”將顯示每個任務加載的所有的 DLL 模塊,如圖1所示;使用參數“/SVC”,運行“Tasklist /SVC”命令則會顯示每個進程中活動服務的列表,如圖2,從中我們可以看到進程svchost.exe加載的服務,通過服務就能分辨出究竟是不是惡意病毒進程。此外,我們還能利用Tasklist命令來查看遠程系統的進程,例如在命令提示符下輸入“Tasklist /s 208.202.12.206 /u friend /p 123456”(不包括引號)即可查看到IP地址為208.202.12.206的遠程系統的進程,。其中/s參數後的“208.202.12.206”指要查看的遠程系統的IP地址,/u後的“friend”指Tasklist命令使用的用戶賬號,它必須是遠程系統上的一個合法賬號,/p後的“123456”指friend賬號的密碼。這樣,網管進行遠程查殺病毒也就方便多了。
二.TASKKILL——進程殺手 有了Tasklist這雙火眼金睛,許多病毒就現身了,但更重要的不是找出病毒,而是還要清除它們,這時另一個命令——TASKKIL也就能派上用場了。例如想結束某個進程,只需從任務管理器中記下進程名,運行下列命令即可:“TASKKILL /F /IM 進程名”;你也可以通過連接PID的方式,可先運行“Tasklist”命令,記下進程的PID號,在命令提符下輸入“taskkill /pid PID號”即可。如圖3,,運行“taskkill /pid 1656”結束了 PID 為 1656 的進程。說到這裡恐怕有人要說這還不如直接利用任務管理器方便。而實際上TASKKILL命令的獨門絕技就在於它能結束一些在任務管理器中不能直接中止的進程,這時就要加上參數“/F”,這樣就能強制關閉進程,例如運行“TASKKILL /F /pid 1606”命令就能強制結束 PID 為 1656 的進程。除此之外,TASKKILL命令還能結束進程樹、遠程進程、指定篩選進或篩選出查詢的的進程,具體操作可利用“taskkill/?”命令進行查看。
三. Netstat——端口偵探 如今的木馬越來越多,造成的威脅也越來越大,於是出現許多專門用於木馬查殺的工具。其實只要我們合理使用命令行下的Netstat命令就能查出大部分隱藏在電腦中的木馬。我們知道,大部分木馬感染系統後都留有服務端口,而這類服務端口通常都處於LISTENING狀態,因而從端口的使用情況可以查到木馬的蹤跡,而這利用Netstat命令就能輕松實現。在命令行中運行“Netstat –a”,這個命令將顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接,如圖4所示.其中Proto代表協議,Local Address代表本機地址,該地址冒號後的數字就是開放的端口號,Foreign Address代表遠程地址,如果和其它機器正在通信,顯示的就是對方的地址,State代表狀態,顯示的LISTENING表示處於偵聽狀態,就是說該端口是開放的,由於木馬開啟後門成功後該後門處於LISTENING狀態,因此你需要注意的就是處於LISTENING狀態的端口,如果該端口號陌生,而且端口號數很大,你就應該有所警覺。你還可以查看使用端口所對應的進程來進一步確認,這就需要加上參數“-O”,運行“Netstat –ao”命令就會顯示一個所有的有效連接信息列表,並給出端口對應的PID號。
四. FIND——捆綁克星 相信許多人都上過文件捆綁木馬的當,表面看起來是一張漂亮MM的圖片,而暗地裡卻隱藏著木馬,這種通過文件捆綁進行隱藏是木馬的慣用伎倆。而對可疑文件進行必要的檢查及時處理往往就能防止產生更嚴重的後果,於是網上也出現了一些檢查捆綁文件的工具。而實際上,在Windows 中,也可通過命令行巧妙地進行簡單的檢查。這裡要用到字符串搜索命令——FIND,它的主要功能是在文件中搜索字符串,我們可以利用它進行捆綁文件的檢查。方法為:在命令行下運行“FIND /C /I "This program " 待查文件的路徑 ”(不包括外面的引號),如果是EXE文件,正常情況下返回值應該為“1”,如果出現大於1的情況,你就必須小心了;如果是圖片之類的不可執行文件,正常情況下返回值應該為“0”,如果出現大於0的情況,就應該引起你的注意。
五. NTSD——強力終結者 如今的病毒越來越狡猾,經常出現即使你能找到它的進程,卻不能結束的情況用任務管理器和前面提到的TASKKILL命令都沒有辦法中止。當然我們可以使用進程管理工具,比如功能強大Process Explorer、IceSword。而實際上使用Windows自帶的一個秘密工具就能強制結大部分進程,包括一些十分頑固的進程,這就是NTSD命令。
在命令行中運行以下命令: ntsd -c q -p PID 最後那個PID指你要終止的進程的ID。當然如果你不知道進程的ID,可通過Tasklist命令,或只需通過任務管理器->進程選項卡->查看->選擇列->勾上"PID(進程標識符)",然後就能看見了。 利用NTSD命令,除了System、SMSS.EXE和CSRSS.EXE等極少核心進程不能殺外,其它進程都可以強行結束,幾乎能達到IceSword相同的水平。 六. FTYPE——文件關聯修復專家 和文件捆綁一樣,篡改文件關聯也是病毒或木馬的慣用伎倆,通常的恢復方法主要是通過修改注冊表,但注冊表操作通常比較麻煩而且容易出錯,而實際上在 Windows 系統中,有另一個更方便的命令行工具——FTYPE,利用它可以非常輕松地恢復文件關聯。比如exefile的文件關聯最容易被修改,它的正常的文件關聯為:"%1" %* 。恢復的時候,只需在命令行中運行下列命令:“ftype exefile="%1" %* ”就可以了。如果要修復txtfile的文件關聯,只需輸入:“ftype txtfile= %SystemRoot%system32NOTEPAD.EXE %1 ”即可。 七. FC——注冊表監控器 大家都知道,許多病毒木馬都把注冊表當作攻擊對象,如上面提到的文件關聯篡改,而現在所謂的流氓軟件之流的不安分的軟件在注冊表中添加本不應該添加的項值,因而注冊表監控就變成十分必要的了。於是出現了許多注冊表監控類軟件,其實我們完全可以僅用Windows 系統提供的工具就能實現監控(當然這樣提到的監控主要是指檢查出某個時刻究竟注冊表發生的變化)。 下面就以監控安裝軟件過程對注冊表做的修改為例介紹如何實現“監控”: 首先,我們可以在安裝軟件前備份一次注冊表(存儲為REG文件,如1.reg),安裝後再導出注冊表文件(2.reg)然後再在Windows XP 的命令提示行下執行下列命令: D:>fc /u 1.reg 2.reg>changes.txt 在D盤根目錄下再打開changes.txt文件,即可清楚地查看該軟件對注冊表添加了哪些子項,做了什麼修改了。上例中的安裝軟件是一個特定的時刻,你可能用此方法分析任一時刻注冊表可能發生的變化。 怎麼樣,通過上面的命令行下七種強力抗毒武器,你還是對命令行的功能有了更新的認識了呢?有了這一群命令行下隨時等待召喚的抗毒精英,以後對抗病毒也就更有效、更方便,病毒木馬們也就難逃法網了。