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