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