近日調試一臺Windows 2000服務器,開機后輸入管理員密碼,系統提示密碼錯誤而無法登錄,經詢問得知工作人員并沒有更改過密碼,于是試用其他賬號,結果都可以正常登錄,再換成管理員登錄,故障依舊。
該服務器主要用于Web發布,使用三塊SCSI硬盤構成RIAD 5,文件系統格式為NTFS,用一般的系統盤啟動機器后不能訪問硬盤,工具軟件也無法使用。
經過網上一翻搜索,終于找到了兩個工具。首先使用的是MKE2FS,據說這個軟件可以更改Windows NT/2000任意用戶的口令,下載后按照說明將該軟件解壓并制作成啟動軟盤,用它引導系統并按屏幕提示一步步操作,開始時還都正常,但是到了安裝SCSI驅動程序時,軟件自帶的驅動程序無法正常安裝。
在這種情況下,我們接著又下載了NTFS for DOS軟件。這次還比較順利,使用Windows98啟動盤將系統引導到DOS環境后,按照軟件說明,用ntcp.exe將原系統目錄 WINNTsystem32\config中的Sam文件復制出來,并進行了備份,然后用chntpw.exe對復制出來的Sam文件進行破解,屏幕卻提示:
A:chntpw-i sam
Exiting due to signal SIGSEGV
gENERAL pROTECTION fAULT AT EIP=000059D6
eax=6477bc44 ebx=000a8c1c ecx=0b002000 edx=000a8c1c
App stack:[000a493c..0002493c] Exceptn stack:[00024890..00022950]
Call frame traceback EIPs:
0x000059d6
……
顯然,軟件運行失敗,此路不通。在沒有其他辦法的情況下,我們又嘗試著將另外一臺 Windows 2000服務器上的Sam文件復制到該機器上(用NTFS for DOS軟件中的ntchange寫入),但開機后系統提示出錯,并自動重新啟動計算機。
正在絕望之際,偶然在另外一臺服務器上的WINNT
epair\目錄中發現了一個Sam文件,經查閱資料,得知這是系統初始安裝時的自動備份文件。抱著試一試的心態,我們找來 Windows 2000的系統安裝盤,啟動并進入恢復控制臺,用WINNT
epairsam對 WINNTsystem32\configsam進行覆蓋操作,然后重啟服務器,在登錄界面中鍵入系統安裝時的初始管理員密碼,登錄成功!
問題解決后,為了測試,我們再次使用NTFS for DOS軟件對原WINNT
epair目錄中的 Sam文件進行破解,執行完上述相同的操作后,結果卻出乎預料,屏幕顯示內容如下:
A:chntpw-i sam
chntpw version 0.98.4 011022,(c)Petter N Hagen
……
RID:01f4,Username:Administrator
RID:01f5,Usemame:Guest,*BLANK password*
**Checking for syskey!
******SYSKEY ENABLED!******
This installation very likely has the syskey passwordhash-obfuscator installed
………
Username to change(!to quit,.to list users):[Administrator]RID 0500 [01f4]
Username:Administrator
fullname:
……
Please enter new password
Or nothing to leave unchanged:Nothing changed.
Username to change (!to quit,.to list users):[Administrator]
Hives that have changed:
......
原來這個軟件是好用的!忙活了半天,現在才明白:系統并非被黑客攻擊,管理員無法登錄竟然是由于Sam文件的損壞所導致。
問題是解決了,但也給我們留下了一些思考。Windows Server登錄密碼的安全機制并非想象中那么強壯,不但工具軟件可以破解,而且Sam文件還有可能因意外而損壞,所以在此提醒系統管理員,除了及時備份Active Directory和創建緊急修復盤外,還應注意:
(1)盡量不要使用Administrator登錄,以提高系統的抗攻擊性,即使黑客進犯,首先也得猜出管理員的賬號;
(2)系統中應有兩個或兩個以上管理員賬號,其登錄名與登錄密碼的長度和強度都要符合安全要求;
(3)應定期更換管理員及重要用戶的密碼,同時應作好管理員密碼的記錄工作,以備應急使用。