網路協定的加密
我們常說SSH是安全的,Telnet是不安全的,因為傳輸的過程當中沒有加密,所以如果有人能在中間擷取封包就能看到帳號密碼,那是真的嗎?
我們試著連上一個使用telnet協定服務輸入帳號密碼,
奇怪,我不是打aabbcc嗎?怎麼只有一個a呢?
原來是因為他是一個字元一個字元傳輸的,
這時候可以使用Wireshark的TCP Stream來看,他會把多筆TCP整合成軌跡。
網頁如果是使用http,出現輸入帳號密碼的時候。
也是用明碼傳輸。
另外FTP也是明碼傳輸。
https就算抓到封包也都是加密的,什麼都看不到,那是不是表示只要能找到加密的金鑰就可以解密了呢?
如何抓取本機電腦 symmetric session key 可以參考這篇
https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/
我們把https傳輸加密的 symmetric session key 想辦法存成檔案。
找一個使用https輸入帳號密碼的網站。
把金鑰餵給Wireshark,果然發現底下多一個解密的欄位,然後帳號密碼資訊還是找的到。
結論:由於 Telnet、Ftp和http都是使用明碼傳輸資料,如果資料中間被人擷取封包,很容易得到帳號密碼,因此目前都被SSH、Sftp和https取代。
我們試著連上一個使用telnet協定服務輸入帳號密碼,
奇怪,我不是打aabbcc嗎?怎麼只有一個a呢?
原來是因為他是一個字元一個字元傳輸的,
這時候可以使用Wireshark的TCP Stream來看,他會把多筆TCP整合成軌跡。
網頁如果是使用http,出現輸入帳號密碼的時候。
也是用明碼傳輸。
另外FTP也是明碼傳輸。
https就算抓到封包也都是加密的,什麼都看不到,那是不是表示只要能找到加密的金鑰就可以解密了呢?
如何抓取本機電腦 symmetric session key 可以參考這篇
https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/
我們把https傳輸加密的 symmetric session key 想辦法存成檔案。
找一個使用https輸入帳號密碼的網站。
把金鑰餵給Wireshark,果然發現底下多一個解密的欄位,然後帳號密碼資訊還是找的到。
結論:由於 Telnet、Ftp和http都是使用明碼傳輸資料,如果資料中間被人擷取封包,很容易得到帳號密碼,因此目前都被SSH、Sftp和https取代。
留言
張貼留言