Win2000 Telnet服務啟動方法大盤點
討論了一些Telnet原理方面的東西,盡管理論的知識總是單調又乏味,但是在一些應用中,還是很有必要知道的。那么接下來我們就講解一下如何啟動Win2000 Telnet服務。具體的步驟請看下文。
Win2000 Telnet服務
Telnet服務其實從應用層面上,Win2000 Telnet服務并沒有什么可說的,絕大部分內容你都可以從HELP文件中得到,我在此只是把它稍微整理一下而已。
1 基本配置
Win2000為我們提供了Telnet客戶機和服務器程序:Telnet.exe是客戶機程序(Client),tlntsvr.exe是服務器程序(server),同時它還為我們提供了Telnet服務器管理程序tlntadmn.exe。Windows 2000 默認安裝了 Telnet 服務,但是并沒有默認啟動。下面給出HELP文件中 Telnet 服務的一部分默認設置:
AllowTrustedDomain:是否允許域用戶訪問。默認值是1,允許信任域用戶訪問。可以改為0: 不允許域用戶訪問(只允許本地用戶)。
DefaultDomain:可以對與該計算機具有信任關系的任何域設置。默認值是"."。
DefaultShell:顯示 shell 安裝的路徑位置。默認值是: %systemroot%\System32\Cmd.exe /q /k
MaxFailedLogins:在連接終止之前顯示嘗試登錄失敗的最大次數。默認是3。
LoginScript:顯示 Telnet 服務器登錄腳本的路徑位置。默認的位置就是“%systemroot%\System32\login.cmd”,你可以更改腳本內容,這樣登錄進Telnet的歡迎屏幕就不一樣了。NTLM:NTLM身份驗證選項。默認是2。可以有下面這些值:
0: 不使用 NTLM 身份驗證。
1: 先嘗試 NTLM 身份驗證,如果失敗,再使用用戶名和密碼。
2: 只使用 NTLM 身份驗證。
TelnetPort:顯示 telnet 服務器偵聽telnet請求的端口。默認是:23。你也可以更改為其他端口。
以上各項設置你可以使用tlntadmn.exe(Telnet服務器管理程序)來進行非常方便的配置,配置后需要重新啟動Telnet服務。
2 NTLM
提到了telnet就不能不提NTLM,我想這也是讓入侵者最為頭痛的一件事,哪怕你獲得了管理員帳號和密碼,想簡單通過NTLM也并非易事,況且Win2000 Telnet服務默認僅以NTLM方式驗證身份,這就讓我們不得不關注NTLM這個東東,那么什么是NTLM呢?
早期的SMB協議在網絡上明文傳輸口令,后來出現了"LAN Manager Challenge/Response"驗證機制,簡稱LM,它十分簡單以至很容易被破解,微軟隨后提出了WindowsNT挑戰/響應驗證機制,即NTLM。現在已經有了更新的NTLMv2以及Kerberos驗證體系。NTLM工作流程是這樣的:
1、客戶端首先在本地加密當前用戶的密碼成為密碼散列
2、客戶端向服務器發送自己的帳號,這個帳號是沒有經過加密的,明文直接傳輸
3、服務器產生一個16位的隨機數字發送給客戶端,作為一個 challenge(挑戰)
4、客戶端再用加密后的密碼散列來加密這個 challenge ,然后把這個返回給服務器。作為 response(響應)
5、服務器把用戶名、給客戶端的challenge 、客戶端返回的 response 這三個東西,發送域控制器
6、域控制器用這個用戶名在SAM密碼管理庫中找到這個用戶的密碼散列,然后使用這個密碼散列來加密 challenge。
7、域控制器比較兩次加密的 challenge ,如果一樣,那么認證成功。#p#
從上面的過程我們可以看出,NTLM是以當前用戶的身份向Telnet服務器發送登錄請求的,而不是用你掃到的對方管理員的帳戶和密碼登錄,顯然,你的登錄將會失敗。舉個例子來說,你家的機器名為A(本地機器),你入侵的機器名為B(遠地機器),你在A上的帳戶是xinxin,密碼是1234,你掃到B的管理員帳號是Administrator,密碼是5678,當你想Telnet到B時,NTLM將自動以當前用戶的帳號和密碼作為登錄的憑據來進行上面的7項操作,即用xinxin和1234,而并非用你掃到的Administrator和5678,且這些都是自動完成的,根本不給你插手的機會,因此你的登錄操作將失敗。
由于Telnet服務器對NTLM的使用有3個選項,所以當你Telnet遠地機器時,會顯示下面情況中的一種:
1)身份驗證選項=0時
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\為0時不使用NTML身份驗證,直接輸入用戶名和密碼,比如你可以輸入掃到的Administrator和5678
2)身份驗證選項=1時
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\先嘗試 NTLM 身份驗證,如果失敗,再使用用戶名和密碼,其實這種方式對于大家來說,與上一種方式沒什么區別
3)身份驗證選項=2時
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Server allows NTLM authentication only
Server has closed connection
遺失對主機的連接。
C:\>
\\仔細看看上面的顯示,根本沒有給你輸入用戶名和密碼的機會,直接斷開連接,掃到了密碼也是白掃。
所以對于入侵者來說,NTLM是橫在我們面前的一座大山,必須要除掉它,一般我們有如下幾種方法:
1通過修改遠程注冊表更改telnet服務器配置,將驗證方式從2改為1或0;
2使用NTLM.exe,上傳后直接運行,可將telnet服務器驗證方式從2改為1;
3在本地建立掃描到的用戶,以此用戶身份開啟telnet客戶機并進行遠程登錄;
4使用軟件,比如opentelnet.exe(需要管理員權限且開啟IPC管道)
5使用腳本,如RTCS,(需要管理員權限但不依賴IPC管道)
基本上是以上的5種,其中后兩種是我們在Win2000 Telnet服務啟動中比較常用的,而且使用方法十分簡單,命令如下:
OpenTelnet.exe \\server username password NTLMAuthor telnetport
OpenTelnet.exe \\服務器地址 管理員用戶名 密碼 驗證方式(填0或1) telnet端口
cscript RTCS.vbe targetIP username password NTLMAuthor telnetport
cscript RTCS.vbe