Tavsiyemiz
Filtreler
Hizmet Kategorileri
Sağlık
blog-image tavsiyemiz

Telnet Neden Kullanılmamalıdır?

Telnet Neden Kullanılmamalıdır?

author
Gözen Esmer
29/10/2024

Telnet protokolü ağ üzerindeki çok kullanıcılı bir makineye (sunucu-server), başka bir makine ile bağlanmak ve o makine üzerinde bazı komutları çalıştırmak için kullanılır. TCP/IP protokolünü kullanır. Protokolün port numarası 23’tür. Önceleri oldukça yaygın olan bu protokol günümüzde neredeyse kullanılmamaktadır. Kullanılan yerler ise genellikle iç networklerdir.

Kullanım alanına örnek verecek olursak; iç networkteki bir sunucu ile başka bir sunucu arasındaki iletişimin varlığını telnet kullanarak test edebiliriz. Günümüzde kullanılmamasının sebebi ise güvenli iletişim protokolleri arasındaki yerini alamamasıdır. İletişimi açık metin halinde şifrelemeden iletmektedir. Bu da örneğin sistemimizi Man in The Middle ile dinleyen birine inanılmaz kolaylık sağlayıp tüm iletişimi görmesini sağlayabilir.


 


Neden Gerekliydi?

 

Telnet protokolü esas olarak bir kullanıcının bir bilgisayar vasıtasıyla uzakta bulunan bir başka bilgisayara bağlanmasını sağlar. Bilgisayarlar önceleri karakter tabanlı çalışmaktaydılar. Telnet karakter tabanlı ekranlara login olup çalışma imkanı sağlamaktaydı. Fakat zaman geçtikçe karakter tabanlı ve soğuk ekranlar yerlerini grafiğe dayalı görseli ön plana çıkarılmış ekranlara bırakmıştır. Telnet’in amacı sadece karakter tabanlı sunuculara erişmek değil aynı zamanda terminal emülasyonu yapabilen bir protokol olduğu için önceleri tercih edilmekteydi. Terminal emülasyonu; uzaktaki makineye giriş yapıp, sanki o makinenin başında çalışıyormuş gibi işlemler yapılabilmesidir. Yalnızca terminal modunda grafiksiz erişime hizmet etmektedir.

Bu kullanımların dışında genel olarak Telnet, Unix makinelerinde oturum açmak için kullanılmıştır ve halen küçük oranda da olsa kullanılmaktadır.

Neden Vazgeçildi?

 

Bu protokol ilk olarak 1969 geliştirilmiştir. Geliştirildiği yıllarda, bilgisayar kullanıcılarının çoğunluğu akademik kurumların bilgisayar hizmetlerinde veya devlet araştırma tesislerinde idi. Bu ortamlarda güvenlik pek de endişe kaynağı değildi çünkü henüz internet ve bilgisayar kullanımı yaygınlaşmamıştı. Daha sonra internetin yaygınlaşması, bant genişliğinin patlamasının ardından endişe kaynağı olmaya başlamıştır. Güvenlik açısından Telnet’in modern sistemler için önerilmemesinin 3 ana nedeni vardır;

Yıllar içinde keşfedilen birkaç güvenlik açığına ve yine de var olabilecek güvenlik açığına sahiptir.

Varsayılan olarak, bağlantı üzerinden gönderilen verileri şifrelemez. Yukarıda da bahsettiğimiz gibi açık iletişim kullanılır. Bu nedenle iletişimlere müdahale edilmesine ve kaydedilmesine olanak sağlar.

Telnette istenen iki ana bilgisayar arasında iletişim kurulmasını ve bunlar arasında kesilmemesini sağlayan bir kimlik doğrulama şeması yoktur.


Peki Telnet’in Alternatifi Nedir?

 

SSH Nedir?

 

Telnet’in zayıf yönlerinin iyice sömürülmesinin ardından kurtarıcımız olan SSH devreye girmiştir. SSH, Telnet ile aynı işlevi yapmaktadır. Varsayılan olarak 22 port numarasını kullanmaktadır. İlk olarak aslında Telnet in yedeği olarak karşımıza çıkmıştır. En önemli güvenlik özelliklerinden birisi de iletişimin şifreli olarak iletilmesidir.

 

SSH iletişimi uçtan uca şifrelemektedir. Bunu yaparken kriptografiden üç bileşen kullanmaktadır; simetrik şifreleme, asimetrik şifreleme ve hashleme. Bu kavramları kısa kısa açıklayalım.

 

Simetrik Şifreleme: İsminden de anlaşıldığı üzere mesajın hem şifrelenmesi hem de şifreli mesajın çözülmesi için aynı anahtar kullanılır. SSH bütün iletişimi simetrik şifreleme ile şifreler. Diffie Hellman algoritmasından yararlanılır.

Asimetrik Şifreleme: Simetrik şifrelemeden farklı olarak public ve private key(anahtarlar) kullanılır. Bu anahtarlardan herhangi biri kullanılarak diğeri elde edilemez.

Hashlemek: Hash almak aslında bir şeyin özetini almak demektir. Hash ile şifre aynı şeyler değildir. Her iki tarafta elindeki verinin hash’ini karşılaştırır ve mesajın değiştirilip değiştirilmediğini ya da doğru mesaj olup olmadığını anlar.


Telnet ve SSH ile İletişim





 

Telnet ve SSH kavramları ile ilgili yeteri kadar bilgimizin oluştuğunu düşünüyorum. Anlatılanların daha da kalıcı olması adına hem telnet protokolü hem de ssh protokolü ile hedef makineyle iletişim sağlayıp bu iletişimi sanki bir saldırganmış gibi wireshark üzerinden dinleyeceğim. Buradaki hedef makinemiz zafiyetli bir makine olan metasploitable makinesidir. Makine telnet testimize uygun olduğu için bu makineyi kullanmak istedim.


Kullanımı

 

Telnet ile iletişim sağlamak için 23 portunu kullanmamız gerekmektedir. Bunun için ana makineden hedef makineye ulaşmak için terminal ekranına ilerlemeliyiz. Terminal ekranında hedef makinenin hangi portlarının açık olduğunu görebilmemiz için nmap sorgusu çalıştıralım. Ben her zaman kullandığım “nmap -T4 -A hedefipadresi” sorgusunu terminal üzerinde çalıştırdım.


Bağlantıyı yapabilmek için “telnet hedefip 23” yazıp credential bilgilerini kullanarak hedef makinenin cli ekranına ulaşabiliriz. Görüldüğü gibi başarılı bir şekilde hedef makineye login olduk. Artık burada yaptığımız tüm iletişim açık bir şekilde iletilmektedir.


Wireshark aracı ile hedef ip adresi trafiğini dinlediğim zaman, credential bilgilerini girdikten sonra TELNET paketlerinin trafikte yayıldığını görebiliyoruz. Şimdi de telnet ile bağlantı gerçekleştirdiğimiz makinede bir komut çalıştırıp wiresharkta nasıl göründüğünü inceleyelim.


Bizim için ve sistemler için aslında önemli olan kullanıcı bilgilerinin tutulduğu yer olan /etc/passwd ‘ yi metasploitable da cat komutu ile görüntüledim. Sağ taraftan wiresharktan baktığım zaman telnet paketlerinin yağdığını görmektesiniz. Trafiği durdurup data paketinin içeriğine baktığımız zaman sol tarafta aldığımız çıktının aynısını wireshark’ta da cleartext olarak görmekteyiz. Bu protokolü kullanmamamız gerektiğini gösteren en büyük nedenlerden birini yakaladık aslında. Sisteminizi mitm(man in the middle) ile dinleyen birinin telnet protokolünü kullanarak iletişime geçiyorsanız yapabileceklerini düşünebilirsiniz.

Bir de SSH tarafından olayları inceleyelim.


SSH Kullanımı



 

SSH, Telnetin daha güvenli versiyonudur. Telnet’in aksine verileri şifrelemektedir. Şimdi bunun testini gerçekleştirelim.


SSH ile bağlantı sağlarken “ssh username@hedefip” syntax ını kullanmalıyız. Hedef IP adresine ssh ile ulaştıktan sonra yine /etc/passwd klasörünü “cat” komutu ile okutup wiresharkta hareketleri inceleyelim.


Paketlerden herhangi birine sağ tıklayıp “Follow > UDP Stream” ile incelemeye aldığımızda görüldüğü gibi tüm verilerin hashli ve anlamsız bir şekilde geldiği görüntülenmektedir. İki protokol arasındaki net fark burada karşımıza çıkmaktadır.


Telnet ve SSH’ın arasındaki farkları uygulamalı bir şekilde göstermiş olduk. Çoğu kuruluşlarda da telnet genelde olması gerektiği gibi kapalı bulunmaktadır. Yukarıda da belirttiğim gibi iç networkte bazı yerler hala kullanıyor olsa da bu durum oldukça tehlike arz etmektedir.