Juniper Netscreen Firewall Pentest – Hacking
NSM(Network and Security Manager),birden fazla netscreen güvenlik cihazının tek bir elden yönetilebilmesini sağlayan bir programdır. NSM üzerinden cihaza bir şekilde Read only erişim yaptıktan sonra, aşağıdaki menülerden get config komutu ile cihaz üzerindeki kullanıcılara ait kullanıcıadı ve hashli şifre bilgisini alabilirsiniz.
Configure/Devices menüsünden ilgili cihaz seçilip, cihaz üzerine sağ click yapılarak Troubleshoot menüsünden komut koşturulucak arayüze aşağıdaki gibi ulaşılabilir.
Bu arayüzde aşağıda görebileceğiniz ve yetkiniz dâhilinde set ve get komutları koşturulabilir. Sol menüdeki hazır komutlar seçilerek veya netscreen komutlarına hâkimseniz farklı komutlar verilerek execute command demeniz yeterli. Get config komutu ile cihaz üzerindeki kullanıcı bilgileri dahil tüm konfigrasyon alınabilir.Read only bir hesap ile NSM’e eriştiyseniz yalnızca get komutlarını koşturabileceksiniz buda sizin hash bilgisini almanıza yetecektir zaten.
Bir netscreen firewall’u üzerinde komut satırından veya NSM üzerinden get config komutu koşturulduğunda aşağıdaki gibi bir çıktı ile karşılaşacaksınız. Bu bilgileri kullanacağız. Buradaki bilgiler ile boşu(boşu)na uğraşmayın bu arada :)
Biz şifre kırma çalışmamızda JTR üzerinden oluşturduğumuz hash’i kullanacağız. Öncelikle gerçek bir netscreen ürününün kullandığı özel hash algoritması(NS MD5) ile aynı algoritmayı kullanarak hash’lenmiş şifreye sahip bir örnek kullanıcı hesabı oluşturacağız.Bu hesap gerçek bir netscreen ürününün verdiği çıktıyı elde etmek için oluşturulacaktır.Bu özel kulanıcı hesabımızı(kullanıcıadı/şifre) JTR desteği ile nasıl oluşturulabileceğini ve ardından nasıl kırılabileceğini anlatmaya başlayalım.
Backtrack işletim sistemi üzerinde, öncelikle john komutunu koşturuyoruz.Böylece sistem bizi ilgili dizine gönderiyor.
Daha sonra netscreen ürünlerinin kullandığı hashing algoritması(NS MD5) ile aynı algoritmayı kullanıp bir user account oluşturalım. Bunun için python dilinde yazılmış netscreen.py scriptini kullanıyoruz.
Aşağıdaki örneğimizde deneme kullanıcı adına ve password parolasına sahip bir user account oluşturduk. Parolamız netscreen ile aynı algoritma ile şifrelenecektir.”$ ” işaretinden sonraki “n” , ve satır sonundaki “n” karakterleri netscreen hashing algoritması kullanıldığını gösteriyor.Burada “$” işaretinden öncesi kullanıcı adı bilgisini, sonrası ise kullanıcının password hash bilgisini verir.
Netscreen firewall’u üzerinde gerek CLI(Command Line Interface) gerekse NSM üzerinden(yukarıda anlattığım gibi) get config komutu ile gerekli account bilgileri(username ve password hash) alınabilir. Burada oluşturduğumuz account bilgilerini bir text dosyasına (netscreenhack.txt ) kopyalayalım.
Text dosyasını touch komutu ile oluşturuyoruz.
Şimdi text dosyamıza yukarıda oluşturduğumuz(veya netscreen cihaz üzerinden alacağınız) username ve password hash’ini kopyalayalım. Bunun için vi editörünü kullandık.
Şimdi vereceğimiz komut ile JTR, password.lst dosyasındaki tüm kelimeleri netscreen hashing algoritması ile hashleyip daha sonra tek tek bizim oluşturduğumuz netscreen.txt içerisindeki hash ile aynı hash olup olmadığını kıyaslayacaktır.Eğer eşleşmeyi sağlayabilirse(bunun için güçlü bir word list verilmeli), bize kullanıcı ve parola bilgisini aşağıdaki gibi verecektir.
Örneğimizi, deneme kullanıcı adına sahip bir kullanıcının password isimli şifresini kırarak anlatmaya çalıştım. Bu herhangi bir netscreen ürünü üzerinden alınan kayıt içinde yapılıp netscreen ürününün üzerindeki kullanıcıların hesapları kırılabilir. En büyük avantajı ise bu işlemi offline olarak gerçekleştirebiliyor olmamız.
Bu arada wordlist içersindeki her kelimenin hash’inin alınıp karşılaştırması işleminden dolayı işlem biraz uzun sürebilir. Bu işlemin daha hızlı gerçekleştirmesini isterseniz internet üzerinden rainbow table olarak adlandırılan hazır hash’ler bulunarak bunlar ile de crack işlemi gerçekleştirilebilir.
Çıktıdan da görüleceği üzere burada kullanılan hashing algoritması özel bir MD5(NS MD5) hashing algoritmasıdır.