Güvenlik AçıklarıUncategorized

Sektörü Çalkalayan Libssh Zaafiyeti

SSH Nedir?

SSH; güvenli kabuk ve güvenli soket kabuğu anlamına gelir. Ssh bir ağ protokolüdür. SiSH sayesinde kullanıcılar güvenli olmayan internet ağlarından sunucularına güvenli bir şekilde bağlanırlar. Sunucuya bağlanan kişi komutları çalıştırırken aradaki veriler şifrelenir ve güvenlik sağlanır.

Libssh Nedir?

Libssh, SSH protokolünü kullanarak programlar yazmamızı sağlayan, hem istemci(client) hem de sunucu tarafından kullanılan bir C kütüphanesidir.

Libssh

• SFTP dosya aktarımı
• GitHub’da Git SSH sunucusuna bağlanmak
• Uzak masaüstü bağlantısı
• İki yönlü dosya senkronizasyonu
• Soket bağlantısı oluşturmak
• Bir bilgisayar ağı üzerinden sesli ve görüntülü iletişim sağlayan bir dizi protokolü (H323 vb.) tanımlamak
• Anahtar Değişim Yöntemleri, Açık Anahtarlı Algoritmalar ve Şifreleme Algoritmaları
• MAC hashlerini oluşturmak ve benzeri işlemler
için kullanılır.

Libssh Kullanımı
Libssh’da, SSH bağlantısı oluşturmak için ssh_new() fonksiyonu kullanılır. Bu fonksiyon ssh_session nesnesine bir işaretçi, NULL veya hata dönderir. Bununla birlikte ssh_free() fonksiyonuyla nesneye ait hafıza alanı serbest bırakılır.

Bağlantının seçeneklerini ayarlamak için ssh_options_set () fonksiyonu kullanılır.

• SSH_OPTIONS_HOST: Bağlanmak istediğiniz ana bilgisayarın adıdır.
• SSH_OPTIONS_PORT: Kullanılan bağlantı noktasıdır. (varsayılan bağlantı noktası 22’dir).
• SSH_OPTIONS_USER: Bağlanmak istediğiniz sistem kullanıcısıdır.
• SSH_OPTIONS_LOG_VERBOSITY: Yazdırılan mesajların miktarını belirler.

Libssh Zafiyeti(CVE-2018-10933) Nasıl Oluştu ?
Libssh kütüphanesinin yanlış kodlanmasından dolayı oluşan hatalar, kurumların/bireylerin zarara uğramasına sebep olabilmektedir. Libssh üzerinde yanlış bir kodlama nedeniyle oluşan CVE-2018-10933 adlı güvenlik açığı tespit edildi. Libssh 0.6 ve üzerinde bulunan bu güvenlik açığı ile, bu açıklığı barındıran sunucunun kimlik doğrulamasını atlatarak herhangi bir parola bilgisi dahi bilmeden sistemde root olabilmektedir.
Bu güvenlik açığı, basit olarak şu şekilde gerçekleşmektedir.
Kullanıcı, kimlik doğrulamasını gerçekleştirmek için istemci önce SSH-AUTH‘yi, yukarıda belirten “None” yöntemini kullanan bir SSH2_MSG_USERAUTH_REQUEST iletisi göndererek çağırır. Buna karşılık sunucu, normalde parola, klavye etkileşimli, genel anahtar ve ana bilgisayar tabanlı olan desteklenen yöntemlerin listesiyle yanıt verir. Bu güvenlik açığında, sunucuya sunucunun kimlik doğrulamasını başlatmasını beklediği SSH2_MSG_USERAUTH_REQUEST iletisinin yerine bir SSH2_MSG_USERAUTH_SUCCESS iletisi göndererek kimlik doğrulamasını atlatıyor ve kullanıcı, sisteme parola istemeksizin giriş yapabiliyor.

Not: SSH-AUTH, kimlik bilgilerinin şifrelenmesini veya korunmasını kendisi yapmaz. SSH-AUTH sadece düz metinde çalışır; iletişim hattını daha önce güvenli hale getirmek için SSH-TRANS modülüne güvenir.

Libssh Zafiyetinin Kullanımı
Öncelikle bir python dosyası oluşturuyoruz. Örnek olarak dosyanın adına vulnspy_libssh.py diyoruz, sonrasında içine şu sitedeki exploit başlığının altındaki kodunu yazıyoruz.
“http://www.vulnspy.com/en-libssh-aut…-2018-10933)/”
Kodları yazdıktan sonra kaydedip şu komutu çalıştırıyoruz.
“python vulnspy_libssh.py target.com 2222 ‘curl www.vulnspy.com”

Zafiyetten Etkilenen Ülkeler

Bu zafiyetten aşağıdaki ülkeler etkilendi

Etiketler
Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir