其實從應用層面上,Win2000的Telnet服務并沒有什么可說的,絕大部分內(nèi)容你都可以從HELP文件中得到,我在此只是把它稍微整理一下而已?!in2000為我們提供了Telnet客戶機和服務器程序:Telnet.exe是客戶機程序(Client),tlntsvr.exe是服務器程序(server),同時它還為我們提供了Telnet服務器管理程序tlntadmn.exe。Windows 2000 默認安裝了 Telnet 服務,但是并沒有默認啟動。
下面給出HELP文件中 Telnet 服務的一部分默認設置:AllowTrustedDomain:是否允許域用戶訪問。默認值是1,允許信任域用戶訪問??梢愿臑?: 不允許域用戶訪問(只允許本地用戶)。DefaultDomain:可以對與該計算機具有信任關系的任何域設置。默認值是"."。DefaultShell:顯示 shell 安裝的路徑位置。默認值是:%systemroot%\System32\Cmd.exe /q /kMaxFailedLogins:在連接終止之前顯示嘗試登錄失敗的最大次數(shù)。默認是3。LoginScript:顯示 Telnet服務器登錄腳本的路徑位置。默認的位置就是“%systemroot%\System32\login.cmd”,你可以更改腳本內(nèi)容,這樣登錄進Telnet的歡迎屏幕就不一樣了。NTLM:NTLM身份驗證選項。默認是2??梢杂邢旅孢@些值:0: 不使用 NTLM身份驗證。
1: 先嘗試 NTLM身份驗證,如果失敗,再使用用戶名和密碼。2: 只使用 NTLM身份驗證。TelnetPort:顯示 telnet服務器偵聽 telnet 請求的端口。默認是:23。你也可以更改為其他端口。以上各項設置你可以使用tlntadmn.exe(Telnet服務器管理程序)來進行非常方便的配置,配置后需要重新啟動Telnet服務。
提到了telnet就不能不提NTLM,我想這也是讓入侵者最為頭痛的一件事,哪怕你獲得了管理員帳號和密碼,想簡單通過NTLM也并非易事,況且win2000中的telnet默認僅以NTLM方式驗證身份,這就讓我們不得不關注NTLM這個東東,那么什么是NTLM呢?早期的SMB協(xié)議在網(wǎng)絡上明文傳輸口令,后來出現(xiàn)了"LAN Manager Challenge/Response"驗證機制,簡稱LM,它十分簡單以至很容易被破解,微軟隨后提出了WindowsNT挑戰(zhàn)/響應驗證機制,即NTLM?,F(xiàn)在已經(jīng)有了更新的NTLMv2以及Kerberos驗證體系。
1.客戶端首先在本地加密當前用戶的密碼成為密碼散列2.客戶端向服務器發(fā)送自己的帳號,這個帳號是沒有經(jīng)過加密的,明文直接傳輸3.服務器產(chǎn)生一個16位的隨機數(shù)字發(fā)送給客戶端,作為一個 challenge(查問口令;盤問)4.客戶端再用加密后的密碼散列來加密這個 challenge ,然后把這個返回給服務器。作為 response(響應)5.服務器把用戶名、給客戶端的challenge 、客戶端返回的 response 這三個東西,發(fā)送域控制器6.域控制器用這個用戶名在 SAM密碼管理庫中找到這個用戶的密碼散列,然后使用這個密碼散列來加密 challenge。7.域控制器比較兩次加密的 challenge ,如果一樣,那么認證成功。從上面的過程我們可以看出,NTLM是以當前用戶的身份向Telnet服務器發(fā)送登錄請求的,而不是用你掃到的對方管理員的帳戶和密碼登錄,顯然,你的登錄將會失敗。舉個例子來說,你家的機器名為A(本地機器),你入侵的機器名為B(遠地機器),你在A上的帳戶是xinxin,密碼是1234,你掃到B的管理員帳號是Administrator,密碼是5678,當你想Telnet到B時,NTLM將自動以當前用戶的帳號和密碼作為登錄的憑據(jù)來進行上面的7項操作,即用xinxin和1234,而并非用你掃到的Administrator和5678,且這些都是自動完成的,根本不給你插手的機會,因此你的登錄操作將失敗。