Telnet咋就不安全了呢?帶你來看用戶名和密碼
曾幾何時,Telnet是我最喜歡的遠程登錄協(xié)議!
當(dāng)年還年輕,還在H公司做網(wǎng)絡(luò)測試的工作,天天千方百計的找路由器和交換機的BUG,總想給開發(fā)人員添堵,總想搞事情、不想讓版本正常發(fā)布:),現(xiàn)在回想起來,那真是一段單純而美好的時光!
為了對交換機和路由器進行管理,當(dāng)時我們都是使用Telnet登錄的,各種命令敲的很High。突然有一天,我們的部門經(jīng)理(現(xiàn)在擔(dān)任H公司高管)專門把我們召集起來,讓我們以后登錄設(shè)備時,禁止使用Telnet,要切換為SSH,自動化平臺的連接也要全部換成SSH!
這讓我們很驚訝,因為Telnet已經(jīng)用很久了,整個部門的測試系統(tǒng)登錄都是基于Telnet的,大家都已經(jīng)習(xí)慣了!后來才知道因為發(fā)生了某個泄密事件(具體內(nèi)容忘了),所以公司要求即使在內(nèi)部登錄設(shè)備時,也不能使用Telnet,必須使用更安全的SSH!然后整個部門就切換了!
后來離開H公司,到別的公司以后,發(fā)現(xiàn)大家雖然都知道Telnet不安全,但是還都在使用。因為Telnet配置起來比SSH更方便,而人都是有惰性的,多走一步路都不愿意,當(dāng)然喜歡使用Telnet!估計只有現(xiàn)網(wǎng)的設(shè)備才會禁止使用Telnet。
后來學(xué)了一點安全知識,才理解H公司強制要求的苦心,原來Telnet真的不安全,有心人可以輕易的獲取登錄設(shè)備的用戶名和密碼,今天就和大家一起看一下!
簡單的了解一下Telnet的C/S工作模式
C/S工作模式,小伙伴聽起來有沒有感覺很高大上?我就曾經(jīng)被唬住,感覺C/S模式是一種非常高深的架構(gòu)!后來還專門查了資料,才搞清楚C/S工作模式是什么。
我們來看看下圖的C/S工作模式,做好大跌眼鏡的準(zhǔn)備
C/S工作模式
- C:client,客戶端;
- S:server,服務(wù)器。
客戶端和服務(wù)器之間交換信息,只要客戶端使用單獨軟件訪問服務(wù)器的工作模式,都可以稱為C/S模式!是不是沒有想到呢?
與C/S模式相對應(yīng)的是B/S模式,如下圖所示:
B/S工作模式
- B:brower,瀏覽器
- S: server,服務(wù)器
看完上圖和B、S的解釋,小伙伴應(yīng)該能猜出B/S模式是什么了吧?客戶端和服務(wù)器之間交換信息,只要是通過瀏覽器訪問server的模式,都稱為B/S模式!是不是感覺不淡定,感覺太簡單了:)
那我們言歸正傳,既然Telnet采用的C/S模式,就是說Telnet客戶端需要第三方軟件才行。我們通常會使用window自帶的CMD、SecureCRT、XShell、Putty等軟件作為Telnet客戶端,去連接Telnet服務(wù)器!
SecureCRT界面
網(wǎng)絡(luò)工程師最常用的就是SecureCRT了,簡直就是敲命令行的必備利器啊!如果安裝和使用SecureCRT有疑問,可以到我的專欄去看看,有一節(jié)是專門介紹SecureCRT的視頻教程。
查看Telnet的用戶名密碼
看過了Telnet的工作模式以后,下面就帶領(lǐng)大家一起來查看用戶名密碼了!
那用什么工具來查看用戶名和密碼呢?wireshark軟件!
Wireshark是一個抓包軟件,是網(wǎng)絡(luò)工程師排除問題的必備軟件。
要獲取Telnet的用戶名、密碼,只需要經(jīng)過下面的三個步驟:
- 第一步:打開wireshark軟件,抓取經(jīng)過網(wǎng)卡的報文;
- 第二步:使用Telnet客戶端,登錄網(wǎng)絡(luò)設(shè)備;
- 第三步:停止wireshark抓包,分析報文,找出用戶名和密碼。
步驟一:打開wireshark軟件,抓取所有經(jīng)過網(wǎng)卡的報文
在電腦上安裝了wireshark軟件,打開就可以看到下圖的的軟件界面:
wireshark軟件界面
選擇正確的網(wǎng)卡:如果有多塊網(wǎng)卡,需要選擇抓包的網(wǎng)卡,
選擇正確的網(wǎng)卡
點擊開始以后,就會開始抓包:如下圖所示,正在抓包中
抓包中
步驟二:使用Telnet客戶端,登錄Telnet服務(wù)器
打開SecureCRT軟件,新建一個連接,選擇Telnet協(xié)議,如下圖所示:
選擇Telnet協(xié)議
輸入Telnet服務(wù)器的IP地址或主機名:
服務(wù)器IP地址或者主機名
給創(chuàng)建的會話起一個名字:
會話名稱
雙擊會話名稱,會自動的連接失敗,并提示輸入用戶名和密碼:
提示輸入用戶名和密碼
不過華為的設(shè)備會提示:Telnet是不安全的,不建議使用,原文如下:
Warning: Telnet is not a secure protocol, and it is recommended to use Stelnet. |
我們當(dāng)然不能被嚇到,否則今天的課程就沒有辦法繼續(xù)下去了,我們按照提示輸入用戶名和密碼:
輸入用戶名和密碼
步驟三:使用wireshark找出用戶名和密碼
在我們停止抓包以后,會發(fā)現(xiàn)我們已經(jīng)抓取了大量的報文,不知道如何入手。其實很簡單,只需要在上面的過濾器輸入telnet即可,wireshark會把協(xié)議屬于telnet的報文過濾出來,如下圖:
過濾出Telnet報文
過濾以后,就沒有多少報文了,可以一個一個的報文查找,用戶名和密碼就藏這些報文里面。也可以使用wireshark的“追蹤流”功能,它會把這條流量的所有內(nèi)容都顯示出來。如下圖,右鍵選中一個報文以后,然后選擇追蹤TCP流:
追蹤流
Wireshark就會把屬于這條TCP連接的所有內(nèi)容都顯示出來(Telnet使用TCP傳輸),如下圖:
顯示用戶名、密碼
你看是不是比較坑爹,用戶名/密碼直接就顯示出來了!是不是比較簡單呢,不需要掌握什么高深的技術(shù)就可以輕易獲取Telnet的用戶名/密碼了!
當(dāng)然有心人是不會在你電腦上抓包的,他會在網(wǎng)絡(luò)中間抓包。這個對他們不是什么困難的事情,例如下圖:
有心人抓包
他們的抓包設(shè)備和分析軟件會更專業(yè),如果獲取現(xiàn)網(wǎng)設(shè)備的用戶名/密碼,就可以對設(shè)備進行任何的配置了,想想都可怕!所以我們還是不要使用telnet的好,養(yǎng)成使用SSH的習(xí)慣!
總結(jié)
各位小伙伴經(jīng)過上面的解釋,知道C/S工作原理和Telnet不安全的原因了吧?我來作一下簡單的總結(jié):
- 使用第三方客戶端連接服務(wù)器的工作模式叫做C/S模式;
- 使用瀏覽器連接服務(wù)器的工作模式叫做B/S模式;
- Telnet之所以不安全,是因為客戶端和服務(wù)器之間交互的報文是沒有加密的,可以被有心人輕易的找出用戶名和密碼。