電腦技術>操作系統> > 命令行下的抗毒精英
12月10日

命令行下的抗毒精英

早在幾年前,就有先知先覺的網友感嘆道:人在網上漂,哪能不中標。如今,電腦中招更是成了家常便飯。面對來勢洶洶的病毒木馬們,殺毒軟件和防火墻自然是一個都不能少。但有時還是有許多僅僅依靠殺毒軟件和防火墻對付不了的頑固分子,這時該怎么辦呢?其實在Windows系統的命令行中,已為我們提供了一些非常有用的工具,充分利用就會變成我們對抗病毒的強力武器。下面我們就來看看命令行下的強力抗毒武器。

一、TASKLIST——火眼金睛

如今的病毒越來越狡猾,常常不見首也不見尾。但許多病毒往往在進程這一環節中露出狐貍尾巴,因而查看進程是查殺病毒的一個重要的方法。命令行提供了進程查看的命令工具——Tasklist(Windows XP或更新版本)。此命令與任務管理器一樣可以顯示活動進程的列表。但通過使用參數,可以看到任務管理器查看不到的信息,可以實現更強大的功能。使用參數 “/M”,運行“Tasklist /M”將顯示每個任務加載的所有的DLL模塊;使用參數“/SVC”,運行“Tasklist /SVC”命令則會顯示每個進程中活動服務的列表,從中可以看到進程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號”即可。說到這里恐怕有人要說這還不如直接利用任務管理器方便。而實際上TASKKILL命令的獨門絕技就在于它能結束一些在任務管理器中不能直接中止的進程,這時就要加上參數“/F”,這樣就能強制關閉進程,例如運行“TASKKILL /F /pid 1606”命令就能強制結束PID為1656的進程。除此之外,TASKKILL命令還能結束進程樹、遠程進程、指定篩選進或篩選出查詢的的進程,具體操作可利用“taskkill/?”命令進行查看。

三、 Netstat——端口偵探

如今的木馬越來越多,對用戶的威脅也越來越大,于是出現許多專門用于木馬查殺的工具。其實只要我們合理使用命令行下的Netstat命令就能查出大部分隱藏在電腦中的木馬。

我們知道,大部分木馬感染系統后都留有服務端口,而這類服務端口通常都處于LISTENING狀態,因而從端口的使用情況可以查到木馬的蹤跡,而這利用Netstat命令就能輕松實現。在命令行中運行“Netstat –a”,這個命令將顯示一個所有的有效連接信息列表,包括已建立的連接(ESTABLISHED),也包括監聽連接請求(LISTENING)的那些連接。其中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等。而實際上使用Windows自帶的一個秘密工具就能強制結大部分進程,包括一些十分頑固的進程,這就是NTSD命令。

在命令行中運行以下命令:

ntsd -c q -p PID

最后那個PID指要終止的進程的ID。如果不知道進程的ID,可通過Tasklist命令進行查看。利用NTSD命令,除了System、SMSS.EXE和CSRSS.EXE等極少核心進程不能殺外,其它進程都可以強行結束。

六、 FTYPE——文件關聯修復專家

和文件捆綁一樣,篡改文件關聯也是病毒或木馬的慣用伎倆,通常的恢復方法主要是通過修改注冊表,但注冊表操作通常比較麻煩而且容易出錯,另一個更方便的方法是使用命令行工具——FTYPE,利用它可以非常輕松地恢復文件關聯。比如exefile的文件關聯最容易被修改,它的正常的文件關聯為:"%1" %* ;謴偷臅r候,只需在命令行中運行下列命令:“ftype exefile="%1" %* ”就可以了。如果要修復txtfile的文件關聯,只需輸入:“ftype txtfile= %SystemRoot%\system32\NOTEPAD.EXE %1 ”即可。

七、FC——注冊表監控器

許多病毒木馬都把注冊表當作攻擊對象,如上面提到的文件關聯篡改,而現在所謂的流氓軟件之流的不安分的軟件在注冊表中添加本不應該添加的項值,因而注冊表監控就變成十分必要了。于是出現了許多注冊表監控類軟件,其實我們完全可以僅用Windows系統提供的工具完成該功能。

下面以監控安裝軟件過程對注冊表做的修改為例介紹如何實現“監控”:

首先,可以在安裝軟件前備份一次注冊表(存儲為REG文件,如1.reg),安裝后再導出注冊表文件(2.reg)然后再在Windows XP的命令提示行下執行下列命令:

D:\>fc /u 1.reg 2.reg>changes.txt

隨后在D盤根目錄下打開changes.txt文件,即可清楚地查看該軟件對注冊表添加了哪些子項,做了什么修改。上例中的安裝軟件是一個特定的時刻,你可能用此方法分析任一時刻注冊表可能發生的變化。

怎么樣,有了這一群命令行下隨時等待召喚的抗毒精英,以后對抗病毒也就更有效、更方便,病毒木馬們也就難逃法網了。