13-SSH ATTACK
Last updated
Last updated
SSH, Secure Shell veya Secure Socket Shell olarak da bilinen, kullanıcılara özellikle sistem yöneticilerine güvenli olmayan bir ağ üzerinden bir bilgisayara erişmenin güvenli bir yolunu sağlayan bir ağ protokolüdür.
SSH ayrıca SSH protokolünü uygulayan yardımcı program paketini de ifade eder. Secure Shell, güçlü parola kimlik doğrulaması ve genel anahtar kimlik doğrulamasının yanı sıra, internet gibi açık bir ağ üzerinden bağlanan iki bilgisayar arasında şifreli veri iletişimi sağlar.
SSH, güçlü şifreleme sağlamanın yanı sıra, ağ yöneticileri tarafından sistemleri ve uygulamaları uzaktan yönetmek için yaygın olarak kullanılır; bu da onların ağ üzerinden başka bir bilgisayarda oturum açmalarına, komutları yürütmelerine ve dosyaları bir bilgisayardan diğerine taşımalarına olanak tanır.
SSH, hem kriptografik ağ protokolünü hem de bu protokolü uygulayan yardımcı program paketini ifade eder. SSH, oturumun görüntülendiği uç olan Secure Shell istemci uygulamasını oturumun çalıştırıldığı uç olan SSH sunucusuna bağlayan istemci-sunucu modelini kullanır. SSH uygulamaları genellikle terminal emülasyonu veya dosya aktarımları için kullanılan uygulama protokollerine yönelik desteği içerir.
SSH ayrıca diğer uygulama protokolleri için güvenli tüneller oluşturmak, örneğin X Pencere Sistemi grafik oturumlarını uzaktan güvenli bir şekilde çalıştırmak için de kullanılabilir. Bir SSH sunucusu varsayılan olarak standart İletim Kontrol Protokolü (TCP) bağlantı noktası 22'yi dinler.
SSH'nin en temel kullanımı, bir terminal oturumu için uzak bir ana bilgisayara bağlanmaktır. Bu komutun şekli aşağıdaki gibidir:
Bu komut, istemcinin KullanıcıAdı kullanıcı kimliğini kullanarak server.example.com adlı sunucuya bağlanmayı denemesine neden olur. Yerel ana bilgisayar ile sunucu arasında ilk kez bağlantı kuruluyorsa, önceden bağlantı olmamasına rağmen kullanıcıdan uzak ana bilgisayarın ortak anahtar parmak izi istenecek ve bağlanmaya yönlendirilecektir.
İsteme evet yanıtı verilmesi oturumun devam etmesine neden olur ve ana bilgisayar anahtarı yerel sistemin bilinen_hosts dosyasında saklanır. Bu, varsayılan olarak kullanıcının ana dizininde /.ssh/known_hosts adı verilen gizli bir dizinde saklanan gizli bir dosyadır. Ana bilgisayar anahtarı, bilinen_hosts dosyasında saklandıktan sonra, istemci sistemi herhangi bir onaya gerek kalmadan doğrudan bu sunucuya tekrar bağlanabilir; ana bilgisayar anahtarı bağlantının kimliğini doğrular.
SSH, güvenli bir iletişim kanalı oluşturarak yerel ve uzak sistemler arasında yönetim işlemlerini gerçekleştirmek için kullanılır.
SSH'nin etkinleştirdiği işlevler şunları içerir:
kullanıcılar için SSH özellikli ağ sistemlerine veya cihazlarına ve ayrıca otomatik süreçlere güvenli uzaktan erişim;
güvenli ve etkileşimli dosya aktarım oturumları;
otomatik ve güvenli dosya aktarımları;
uzak cihazlara veya sistemlere güvenli komut verilmesi; Ve
ağ altyapısı bileşenlerinin güvenli yönetimi.
SSH, terminal oturumlarını etkinleştirmek için etkileşimli olarak kullanılabilir ve daha az güvenli Telnet programı yerine tercih edilmelidir. Ayrıca, programların ve sistemlerin verilere ve diğer kaynaklara uzaktan ve güvenli bir şekilde erişmesini sağlamak için komut dosyalarında ve diğer yazılımlarda yaygın olarak kullanılır.
Secure Shell protokollerinin mevcut sürümü olan SSH-2, 2006 yılında İnternet Mühendisliği Görev Gücü (IETF) tarafından Standartlar İzleme spesifikasyonu olarak kabul edilmiştir. SSH-2, SSH-1 ile uyumlu değildir ve Diffie-Hellman anahtar değişimini kullanırken güvenliği artırmak için mesaj kimlik doğrulama kodlarını kullanır.
SSH istemcileri ve sunucuları bir dizi şifreleme yöntemini kullanabilir; en yaygın kullanılanları Gelişmiş Şifreleme Standardı (AES) ve Blowfish'tir.
SSH-2'de bilinen herhangi bir istismar edilebilir güvenlik açığı bulunmamaktadır, ancak 2013 yılında Edward Snowden tarafından sızdırılan bilgilere göre Ulusal Güvenlik Ajansı'nın (NSA) bazı SSH trafiğini çözebileceği iddia edilmektedir.
SSH'ye yönelik en büyük tehditlerden biri zayıf anahtar yönetimidir.
SSH paketinin çoğu uygulaması üç yardımcı programdan oluşur:
slogan (güvenli giriş)
ssh
scp (güvenli kopya)
SSHD, gelen SSH bağlantı isteklerini bekleyen ve yetkili sistemlerin yerel ana bilgisayara bağlanmasını sağlayan SSH sunucusunu başlatır.
SSH-keygen, oturum açma işlemlerini otomatikleştirmek, SSO'yu uygulamak ve ana bilgisayarların kimliğini doğrulamak için yeni bir kimlik doğrulama anahtar çifti oluşturmak için kullanılan bir programdır.
ssh-copy-id, parolasız oturum açma işlemlerini ve SSO'yu otomatikleştirmek amacıyla bir sunucuya SSH anahtarını kopyalamak, yüklemek ve yapılandırmak için kullanılan bir programdır.
ssh-agent, SSH'nin bir şifreleme anahtarı türettiği kimlik anahtarlarını ve bunların parolalarını izleyen ve kullanıcının, parolaları veya parola sözcüklerini yeniden girmeye gerek kalmadan farklı sunucularda oturum açmasına olanak tanıyan yardımcı bir programdır.
ssh-add, SSH kimlik doğrulama aracısına bir anahtar eklemek için kullanılır ve SSH kullanarak SSO'yu uygulamak için ssh-agent ile birlikte kullanılır.
SCP, dosyaları bir bilgisayardan diğerine kopyalamak için kullanılan bir programdır ve RCP'nin SSH güvenli bir sürümüdür.
SFTP, dosyaları bir bilgisayardan diğerine kopyalamak için kullanılan bir programdır ve orijinal Dosya Aktarım Protokolü olan FTP'nin SSH güvenli bir sürümüdür.
SSH bağlantı noktası yönlendirme olarak da bilinen SSH tüneli, kullanıcının yerel ana bilgisayar ile uzak ana bilgisayar arasında güvenli bir tünel açmasını sağlayan bir tekniktir.
SSH bağlantı noktası yönlendirme, ağ trafiğini belirli bir bağlantı noktasına veya IP adresine yönlendirerek uzak ana bilgisayarın yerel ana bilgisayardaki uygulamalar tarafından doğrudan erişilebilir olmasını sağlar. Hedef uzak SSH sunucusunda olabilir veya bu sunucu başka bir uzak ana bilgisayara iletecek şekilde yapılandırılmış olabilir.
SSH tünelleri, kurumsal güvenlik duvarından fark edilmeden geçiş yapabildikleri için BT yöneticileri ve kötü niyetli aktörler için güçlü araçlardır. Sonuç olarak, SSH tünellerinin kurumsal güvenlik duvarı üzerinden yetkisiz kullanımını önleyecek araçlar mevcuttur.
Public key – Herkes görebilir, korumaya gerek yok. (şifreleme işlevi için).
Private key - Bilgisayarda kalır, korunmalıdır. (şifre çözme işlevi için).
Anahtar çiftleri aşağıdaki türlerde olabilir:
Kullanıcı Anahtarı – Genel anahtar ve özel anahtar kullanıcıda kalırsa.
Ana Bilgisayar Anahtarı – Genel anahtar ve özel anahtar uzak bir sistemdeyse.
Oturum anahtarı – Büyük miktarda veri iletileceği zaman kullanılır.
SSH'de kullanılan başlıca üç ana teknik vardır:
Simetrik Kriptografi: Simetrik anahtar şifrelemesinde, mesajı şifrelemek ve şifresini çözmek için kullanılan anahtarın aynısı, gönderen ve alıcı arasında benzersiz, tek bir paylaşılan anahtar tutulur. Örneğin: DES (Veri Şifreleme Standardı) ve AES (Gelişmiş Şifreleme Standardı).
Asimetrik Kriptografi: Asimetrik anahtar şifrelemesinde, şifrelemek için kullanılan anahtar, mesajın şifresini çözmek için kullanılan anahtardan farklıdır. Örneğin: RSA (Rivest–Shamir–Adleman) ve Dijital İmza Algoritması.
Hashing: Hashing, kriptografide kullanılan, değişken uzunluktaki dizeyi sabit uzunluktaki bir dizeye dönüştüren bir prosedürdür, bu sabit uzunluklu değere, karma işlevi tarafından oluşturulan karma değeri denir
Bu senaryoda, bir Cisco cihazına güvenlik önlemi almadan SSH yapılandırması yapacağız.
SSH kullanılan cihazda SSH sürüm 1'in kullanıldığını gösteriyor.
Bunlar, SSH ve Nmap ile kullanılabilecek birkaç NSE (Nmap Scripting Engine) betiğinin örnekleridir.
Diğer betikler parola ve kullanıcı adıyla ilgili işlemler yapmaktadır. Şimdi ise devam edelim.
ssh-audit, ssh sunucusu ve istemci yapılandırma denetimi için bir araçtır.
Birkaç uyarı verdi ve bunlar sıkılaştırma için kullanılabilir.
OpenSSH'nin bazı sürümlerinde kullanıcıları numaralandırmak için zamanlama saldırısı yapabilirsiniz. Bundan yararlanmak için metasploit modülünü kullanabilirsiniz.
Not: Eğer banner bilgisinde varsa kullanabilirsiniz.
Kullanılabilecek bazı ssh özel anahtarlarını biliyorsanız... haydi deneyelim. Nmap betiğini kullanabilirsiniz:
Bilinen badkey'leri burada bulabilirsiniz:
Daha fazla ayrıntı isteyen buraya bakabilir.
Veya daha fazla ayrıntılı pentest yapmak isteyenler bu isteklere bakabilir.
En seri şekilde, SSH ile ilgili önlemleri alacağız. Bunlara bir göz atalım.
Bu yapılan sıkılaştırmalar orta ve ileri düzey olarak gerçekleştirilebilir.
SSH saldırıları, kötü niyetli kişilerin veya otomatik botların bir ağa veya sunucuya SSH protokolünü kullanarak yetkisiz erişim sağlamaya çalıştığı bir tür siber saldırıdır. Bu saldırılar genellikle şifre kaba kuvveti saldırıları veya kimlik doğrulama zaafiyetlerinden yararlanarak gerçekleştirilir. Bir SSH saldırısı başarılı olduğunda, saldırganlar sisteme erişim elde edebilir, hassas verilere erişebilir, sistem kaynaklarını kullanabilir veya hizmet kesintilerine neden olabilirler.