日前筆者像往常一樣打開計算機,卻發(fā)現(xiàn)總是有人連接筆者的計算機,防火墻圖標總是閃個不停。打開防火墻的日志文件一看,發(fā)現(xiàn)如下的連接請求:
[11:15:47]從10.X.X.X:3342接收TCP數(shù)據(jù)包,對應(yīng)的本機地址為61.148.163.X:139,攔截
[11:16:16]從 10.X.X.X:4774接收TCP數(shù)據(jù)包,對應(yīng)的本機地址為61.148.163.X:139,攔截
仔細觀察,發(fā)現(xiàn)對方IP的TCP請求端口隨機產(chǎn)生,請求連接的端口為本機的139端口,根據(jù)TCP/IP協(xié)議的分配,139端口對應(yīng)的是文件與打印機共享服務(wù)。很顯然對方想連接本機的共享文件,可機器中并沒有共享文件呀。根據(jù)對方頻繁的連接以及電腦中并無共享文件的現(xiàn)象,可初步判斷對方不一定是在惡意攻擊。那么到底是怎么回事呢?
首先用Ping 10.X.X.X命令Ping了一下對方,發(fā)現(xiàn)有數(shù)據(jù)包回傳,證明網(wǎng)絡(luò)通暢,然后運行NBTSTAT-NA 10.X.X.X命令,發(fā)現(xiàn)域名為工作組,網(wǎng)卡號為XX-XX-XX-XX,這一步是為了證實對方身份。然后用右鍵點擊“網(wǎng)絡(luò)”在查找計算機里輸入對方IP,一下子找到對方(因為局域網(wǎng)中一臺主機有路由列表,所以一下子找到了)。點擊“開始”菜單中的“運行”,在“打開”欄中輸入\\10.X.X.X\c$,發(fā)現(xiàn)對方C盤文件都列了出來。初步分析結(jié)果表明對方中了共享蠕蟲病毒,病毒改寫了注冊表,造成硬盤被共享。
那么,共享蠕蟲是怎么做到令對方渾然不知硬盤已被共享呢?大家知道,把一個目錄設(shè)置為共享的時候,如果在共享名后面加上$符號,那么這個目錄將變成一個隱含的共享目錄,即對方的機器上看不見這個共享目錄。但是如果對方知道共享目錄名,仍然是可以訪問的,只要在這個目錄后面加上$符號就可以了。
雖然對方看不見這個共享目錄,但自己是可以看見的。而共享蠕蟲的狡猾之處就在于:不光是對方看不見這個共享目錄,而且連本機也是看不見這個共享目錄,這樣就可以做到神不知,鬼不覺了。當共享蠕蟲被執(zhí)行后,機器就會全部被共享,而機器的主人卻不知道!
要做到對方看不見很容易,只要在共享目錄名后面加上$符就可以了;而共享蠕蟲程序是怎么做到連自己也看不出來的呢?其實道理也是很簡單的。
運行Regedit,打開注冊表,找到下面的子鍵:
HKEY_LOCAL_MACHINE\SoftwarekMicmsoft\Windows\CurrentVersionkNetworkkLanMan\C$,在屏幕的右邊,可以看見下面的內(nèi)容:
“Hags”=dword:00000302//共享標志
“Parmlenc”=hex:000000000//共享目錄的完全共享密碼
“Parm2enc”=hex:000000000//共享目錄的只讀訪問密碼
“Path”=“C:\\”,//共享驅(qū)動器的路徑,就是C:,D:等等
“Remark”=“Remark By Fwnl”//用戶共享說明,可以寫入一些注釋信息,比如“您的硬盤被共享了”
“Type”=dword:00000000//類型屬性
關(guān)鍵就是Flags這個參數(shù),其鍵值決定了共享目錄的類型。共享有如下幾種類型:
(1)只讀共享,無密碼,F(xiàn)lags=Ox191(Ox表示16進制數(shù));
(2)只讀共享,需要密碼,F(xiàn)lags=Ox101;
(3)完全共享,無密碼,F(xiàn)lags=Ox102;
(4)完全共享,需要密碼,F(xiàn)lags=Ox102;
(5)根據(jù)密碼訪問共享(只讀),需要密碼,與2一樣;Flags=Ox103:
(6)根據(jù)密碼訪問共享(完全),需要密碼,與4一樣;Flags=Ox103。
(7)根據(jù)密碼訪問共享(只讀和完全),須設(shè)置不同密碼。Flags=Ox103;
(8)完全共享,無密碼,不顯示共享,F(xiàn)lags=Ox302。
請大家注意(5)和(6)在注冊表中設(shè)置的標志與(2)和(4)不一樣。
用戶訪問共享資源時,根據(jù)不同的情況擁有不同的訪問權(quán)限。以上前7種共享,在設(shè)置之后,目錄圖標會發(fā)生變化,變成一個具有一只托手的圖標。而第8種則不會有任何顯示!
由以上分析可知,共享分類完全是由Flags標志決定的,其鍵值決定了共享目錄的類型,當Flags=0x302時,重新啟動系統(tǒng),目錄共享標志消失。共享蠕蟲,就是利用了此特性。
Parmlenc和Parm2enc屬性項是加密的密碼,系統(tǒng)在加密時采用了8位密碼分別與“35 9a 4b a6 53 a9 d4 6a”進行異或運算,要想求出密碼再進行一次異或運算,然后查ASCII表可得出目錄密碼。由此,大家不難看出,共享密碼是非常脆弱的,只要有人有機會接觸您的電腦,您的共享密碼就不保密了。