Metasploit Framework ve ticari Metasploit ürünleri her zaman ağ cihazlarının güvenliğini değerlendirmek için özellikler sunmuştur. En son sürümle birlikte, bunu bir adım daha ileri götürdük ve Cisco IOS cihazları için sızma testi sürecini hızlandırmaya odaklandık. Bireysel modüller ve destekleyici kütüphaneler açık kaynak çerçevesine eklenirken, ticari ürünler artık bu modülleri birbirine bağlayarak ağdaki tüm savunmasız cihazları hızlı bir şekilde ele geçirebilir. Aşağıdaki ekran görüntüsü, başarılı bir sızma testinin nasıl görünebileceği konusunda size bir fikir vermektedir:

Öncelikle belirtmeliyim ki, düzgün yapılandırılmış bir Cisco cihazının ele geçirilmesi zordur. Tıpkı diğer yazılımlarda olduğu gibi IOS’ta da güvenlik açıkları mevcuttur, ancak yalnızca birkaç kişi bellek bozulması kusurlarını kod yürütmeye dönüştürmeyi başarmıştır. Bu nedenle, IOS cihazlarına yönelik gerçek dünya saldırılarının çoğu iki alana odaklanır: kötü yapılandırma ve zayıf parolalar.
Ayrıntılara girmeden önce, Cisco IOS güvenlik testlerindeki mevcut “en son teknolojiye” bir göz atalım. Güvenlik açığı tarayıcıları, sürüm dizelerini karşılaştırarak güncel olmayan IOS kurulumlarını belirlemede harika bir iş çıkarıyor. Bu, bir cihazın yamalı olup olmadığını belirlemek için iyi çalışır, ancak IOS istismarı konusunda derin bir geçmişe sahip olmayan bir sızma test uzmanına yardımcı olmaz. Birkaç istisna dışında, bu durum üretim ortamlarında yaygın olarak açıkta kalan az sayıda hizmeti geride bırakıyor. Bu hizmetler arasında SNMP, Telnet, SSH ve HTTP bulunur. Ayrıca Finger’ın çalıştığını veya SIP ve H.323 gibi medya protokolleri için röle hizmetleri bulabilirsiniz. Uzaktan erişim için, çoğumuzun çalışması gereken ilk dört hizmettir ve hatta bu hizmetlerden herhangi birinin ağa açık olduğu düzgün yapılandırılmış bir yönlendirici bulmak nadirdir.
Cisco IOS HTTP hizmetinde, işletim sisteminin eski sürümlerinde bilinen birkaç güvenlik açığı bulunmaktadır. Sızma test uzmanları olarak bizim için önemli olan iki güvenlik açığı da kimlik doğrulama atlatma ile ilgilidir. İlk güvenlik açığı olan CVE-2000-0945, IOS Aygıt Yöneticisi arayüzünde eksik kimlik doğrulama ile ilgilidir. Bu güvenlik açığı, web arayüzü üzerinden IOS kurulumuna kimlik doğrulaması yapılmamış, genellikle ayrıcalıklı erişim sağlar. İkinci güvenlik açığı olan CVE-02001-0537 ise, saldırganın HTTP hizmetine yapılan istekte “15”ten daha yüksek bir kimlik doğrulama düzeyi belirterek kimlik doğrulamasını atlamasına olanak tanır. Bu da web arayüzü üzerinden cihaza ayrıcalıklı erişim sağlar. Açık kaynaklı Metasploit Framework, bu güvenlik açıklarından yararlanmak için iki modül sunmaktadır:
Metasploit Express ve Metasploit Pro, keşif taraması sırasında Cisco IOS HTTP servislerini otomatik olarak tanıyacak, bu iki güvenlik açığını kontrol edecek ve çalışan cihaz yapılandırmasına erişim sağlamak için bunları istismar edecektir.
Bu iki bilinen güvenlik açığına ek olarak, cihaz şifresi HTTP servisine yönelik kaba kuvvet saldırısı yoluyla da belirlenebilir. HTTP protokolü, Telnet ve SSH gibi daha yavaş, terminal tabanlı servislere kıyasla kaba kuvvet saldırısına karşı nispeten hızlıdır. Metasploit Express ve Metasploit Pro, bir IOS cihazına yönelik başarılı bir HTTP kaba kuvvet saldırısından sonra çalışan cihaz yapılandırmasını otomatik olarak ele geçirecektir.
Bahsetmek istediğim bir sonraki hizmet SNMP. Garip bir şekilde, SNMP genellikle güvenli yönlendiricilerde açıkta bırakılıyor. Bunun nedeni, SNMP’nin ne olduğu ve ne yaptığına dair genel algı olabilir. Basit Ağ Yönetim Protokolü, çok çeşitli sistemlerde standart bir formatta bilgi sorgulamak için harika bir araçtır. Anahtarlayıcınızı veya yönlendiricinizi kimin ürettiğinden bağımsız olarak, SNMP etkinleştirilmiş ve yapılandırılmışsa, hemen hemen her SNMP istemcisi ve izleme yazılımı bu cihazla çalışacaktır.
Birçok ağ yöneticisinin farkında olmadığı şey, SNMP’nin ortaya çıkardığı bilgi derinliğinin yanı sıra, yazılabilir bir SNMP topluluğunun bir cihaz üzerinde tam kontrol sağlamak için kullanılabileceği gerçeğidir. Cisco IOS örneğinde, yazılabilir bir SNMP topluluğu, çalışan cihaz yapılandırmasını indirmek VE çalışan yapılandırmayı değiştirmek için kullanılabilir. Telnet devre dışı bırakılmış ve karmaşık bir seri parolaya sahip bir yönlendirici, yazılabilir bir SNMP topluluğu aracılığıyla neredeyse anında ele geçirilebilir. Metasploit Framework, geçerli toplulukları tanımlamak ve bunların salt okunur mu yoksa okuma-yazma mı olduğunu belirlemek için yaygın parolaların bir kelime listesini kullanabilen, yardımcı bir modül olarak yazılmış bir SNMP kaba kuvvet aracı sağlar. Temel kaba kuvvet modülüne ek olarak, Metasploit artık (topluluk katkıda bulunan “pello” tarafından gönderilen) yazılabilir bir SNMP topluluğunu kullanarak çalışan cihaz yapılandırmasını indirebilen bir modül içermektedir.
Metasploit Express ve Metasploit Pro, savunmasız cihazların yapılandırma dosyalarını otomatik olarak ele geçirmek için bu iki modülü kullanır. Keşif taraması sırasında, SNMP kaba kuvvet aracı, yaygın toplulukların küçük bir kelime listesiyle arka planda başlatılır. Bu parolalardan herhangi biri çalışırsa ve topluluk yazılabilir olarak algılanırsa, ürün yerel bir TFTP hizmeti yapılandırır ve çalışan yapılandırma dosyasını indirir. SNMP protokolü artık ürünün akıllı kaba kuvvet bileşenine entegre edildiğinden, aynı durum kaba kuvvet çalıştırması sırasında tahmin edilen topluluklar için de geçerlidir. Kaba kuvvet bileşeni, proje için dinamik olarak oluşturulan parolalara ek olarak, son derece hassas bir topluluk listesi kullanır. Bu hassas liste, web formlarından yapıştırılan yapılandırma dosyalarını kazımayı, gömülü parolaları çıkarmayı ve kaba kuvvetle kırmayı ve ardından sonuçları analiz ederek en sık kullanılan parolaları (SNMP toplulukları dahil) belirlemeyi içeren bir araştırma projesinden türetilmiştir. Bu projenin sonuçları şaşırtıcıydı; Cisco dokümanlarında yer alan örnek bir yapılandırma nedeniyle “public@es0” ve “private@es0” ifadelerinin yaygın olarak kullanıldığını asla tahmin edemezdim.
Son olarak ele almak istediğim iki protokol ise Telnet ve SSH. Bu protokollerin her ikisi de hedef cihazda uzaktan komut satırına erişim sağlar, genellikle ayrıcalıksız bir kullanıcı olarak. Sızma testi açısından en belirgin fark, SSH’nin genellikle uzaktan kullanıcı adı ve şifre bilgisi gerektirmesi, Telnet’in ise genellikle yalnızca şifreyle kimlik doğrulaması ile yapılandırılmasıdır. Metasploit Framework, bu protokollerin her ikisine de kaba kuvvet saldırısı yapmak için modüller içerir ve kaba kuvvet saldırısı başarılı olduğunda otomatik olarak etkileşimli bir oturum oluşturur.
Metasploit Express ve Metasploit Pro, Telnet ve SSH protokollerini kullanan ağ cihazlarına yönelik saldırıları her zaman desteklemiştir, ancak en son sürümle birlikte, parola analizi araştırmamızdan elde edilen optimize edilmiş parola listesini kullanmaya başladılar. Bu, parola listesinin en üstüne bazı alışılmadık parolaların çıkmasına neden olur, ancak gerçek dünya yapılandırmalarına karşı son derece etkilidir. Çok fazla ayrıntı vermeden şunu söyleyebilirim ki, bazı İnternet Servis Sağlayıcıları (ISP’ler) müşteriye ait ekipmanları yapılandırmak için statik parolalar kullanmalarıyla ünlüdür.
Cisco IOS cihazlarında Telnet veya SSH protokolleri aracılığıyla bir oturum kurulduktan sonra, ticari ürünlerdeki Kanıt Toplama özelliği otomatik olarak sürüm bilgilerini, aktif kullanıcı listesini alacak ve yaygın parolalar listesiyle etkinleştirme parolasını kaba kuvvet yöntemiyle kırmaya çalışacaktır. Toplama komut dosyası etkinleştirme erişimi elde edebilirse, çalışan yapılandırma da dahil olmak üzere sistemden ek bilgileri otomatik olarak dışa aktaracaktır.
Yukarıda listelenen saldırılar yeni bir şey değil. Yeni olan, Metasploit kullanılarak kolayca gerçekleştirilebilmeleri ve ticari ürünlerin bunları birbirine zincirleyerek savunmasız cihazları otomatik olarak ele geçirebilme yeteneğidir. Bu saldırılar, mevcut kapsamımızın sadece bir uzantısı ve ticari ürünlerimizin gelecekteki geliştirme yol haritasında yer alanların bir ipucudur.
Şimdiye kadar bahsetmediğim bir şey de, Cisco IOS yapılandırma dosyalarını ele geçirdikten sonra onlarla ne yaptığımızdır. Bu dosyalar, cihazın çalışan yapılandırmasını içerir; buna vty şifreleri, etkinleştirme şifreleri, VPN anahtarları, SSL sertifikaları ve WiFi kimlik bilgileri dahildir. Metaspoit, hassas verileri ayıklamak ve bunları bir güvenlik ihlalinin kanıtı veya çalınmış kimlik doğrulama bilgileri olarak saklamak için bu yapılandırma dosyalarını otomatik olarak ayrıştırır. Aşağıdaki ekran görüntüsü, Telnet vty şifresinin, ardından etkinleştirme şifresinin kaba kuvvet saldırısıyla kırılmasının ve ardından yapılandırmanın dökümünün ve ayrıştırılmasının çıktısını göstermektedir:

Metasploit Express ve Metasploit Pro, ağdaki diğer cihazlara erişim sağlamak için bu yapılandırma dosyalarından elde edilen kimlik bilgilerini otomatik olarak yeniden kullanabilir. Zayıf bir SNMP topluluğu aracılığıyla bir Cisco cihazını kırıp vty şifresinin “ciscorules!” olduğunu keşfederseniz, kaba kuvvet bileşeninin “yalnızca bilinen” profilini kullanarak bu şifreyi herhangi bir protokol üzerinden ağdaki diğer herhangi bir cihaza karşı otomatik olarak deneyebilirsiniz. Diğer cihazlara erişim sağladığınızda, yapılandırma dosyaları elde edilir ve tüm süreç yeniden başlar. Bir Cisco yönlendiricisinden alınan bir şifreyi bir intranet sitesinin giriş sayfasına kolayca uygulayabilir veya geleneksel bir güvenlik açığı yoluyla elde edilen bir şifreyi kullanarak çok sayıda ağ cihazına erişim sağlayabilirsiniz. Geliştirme hedeflerimizden biri, kullanıcılarımızın her zaman belirli bir ağdaki en zayıf halkayı belirleyip istismar edebilmelerini sağlamaktır.
Bu yazının sonuna geldik, lütfen yeni özellikleri deneyin ve herhangi bir sorunuz veya iyileştirme öneriniz varsa yorumlar aracılığıyla bize bildirin.







