Siber Güvenlik

Metasploitable-2 Çözümleri Part ..- -.-.

Merhabalar bugün internet bulmuşken Metasploitable çözümlerinin üçüncü partına devam edeceğim.

İlk partta nmap ile hangi servislerin çalıştığını bulmuştuk ve 21-22 nolu portlara pentest işlemi gerçekleştirmiştik, ikinci partta ise 23 ve 25 nolu servislere pentest işlemi gerçekleştirmiştik , bugun ise 111 portuna ve 80 portuna pentest işlemi gerçekleştireceğim.111 portuna bağlı olarak çalışan 2 servis portu daha var tabi , onlarıda aradan çıkarmış olacagız.

 

Ağ Dosya Sistemi (NFS),bir ağ üzerindeki birden fazla bilgisayarda bulunan dosyaların, tek bir sabit diskteymiş gibi yönetilmelerini sağlar.Böylece, dosyaların erişelebilmek için nerede olduğunuzun önemi olmaz NFS sayesinde bir makinada yer alan belirli bir disk bölümü, başka makinalar tarafından okunabilir veya yazilabilir.Nfs sistemi 4 farklı protokolden oluşur.Rpc ile yönetilir sistem.

Sistem hakkında bilgi toplamak amacıyla rpcinfo aracımı kullanıyorum.

Rpcinfo yardımıyla portmapper’a bağlanıp kayıtlı nfs programlarını görüyorum.Herhangi bir güvenlik kısıtlamasına gidilmemiş.

Ardından nmapın nse scripti olan nfs-ls yi kullaıyorum. Bu script nfs sistemine bağlanarak etc/exports dosyasını okuyor , bu dosya paylaşılan dosya bilgisini tutar. Scripti çalıştırdıktan sonra bize verdiği çıktıda kök dizinini paylaşıma sunmuş , mount ile kendime bağlayıp kendi oluşturduğum ssh-keygen ile sisteme şifresiz olarak giriş yapabilirim.

Çalışmamın toplu gözükmesi için bir klasör oluşturacağım , mkdir komutu ile nfs adında boş bir dosya oluşturuyorum.

mount -t nfs <sunucu_adresi>:/<paylasim klasörü> <baglanacak_klasör>

Bu komuta ek olarak -o nolock parametresinide ekliyorum , bu parametre networkde 2 kişi aynı dosyayı düzenlerken eger dosya kilitli degilse , dosyayı kaydederken sorun çıkabiliyor , ama benim dosya düzenleme gibi derdim yok , o yüzden nolock seçeneğini kullandım , bir nevi performans artışı bekliyorum. Mount ile nfs sistemini , nfs dosyama bağladım , listeledigimde karşı bilgisayarın kök dizinini görebiliyorum.Şimdi karşı bilgisayara şifresiz bağlanmak için ssh-keygen oluşturacağım , bu komut ile genel-gizli olarak 2 tane key dosyası çıkartıyor bize , bizi tanımasını istedigimiz makinaya genel olan keyi taşımamız gerekiyor böylelikle şifresiz şekilde giriş yapabiliriz.

Keyleri oluşturduktan sonra bağlanma yetkisi olan keyimi authorized_keys dosyasına yazıyorum.Bu dosya bağlanmasına izin verilecek genel anahtarları içerir.Ardından umount komutu ile nfs bağlantımı koparıyorum.Sonrasında ssh bağlantımı yapıyorum ve şifre sormadan sisteme root hakları ile erişiyorum.

 

80 portuna pentest işlemi gerçekleştirmek için tarayıcı çubuğuna http://192.168.117.131 yazıp enterliyorum.

Beni karşılayan sayfaya baktığımda Twiki adında cms yazılımı görüyorum (diğer scriptleri başka yazıda detaylı olarak ele alacağım).

Twiki dizinine baktığımda bir kaç dosya karşılıyor beni , versiyon bilgisi elde etmek amacıyla dosyaları karıştırdım ama herhangi birşey bulamadım , bu yüzden exploit aradığımda versiyon numarasız exploitleri öncelik olarak tutacağım.

Siteyi baya karıştırdıktan sonra ek yüklemek için bi sayfa buldum , hemen yükleme yapılan sayfada , dosya kontrollerinin istemci taraflı mı yoksa sunucu taraflı mı olduğunu kararlaştırmak için msfvenom ile ters bağlantı alabileceğim payload oluşturuyorum.

Payloadı yükledikten sonra ters bağlantımı alabileceğim bir dinleme noktası oluşturmam gerekiyor bunun için msfconsole’da multi/handler modülünü kullanıyorum.

Ardından yüklediğim shelli tarayıcıda açıyorum ve ters bağlantı geliyor , bundan sonra eğer standart kullanıcı ile girmişsem hak yükseltme yapacağım.

getuid komutu ile mevcut kullanıcının haklarına baktığımda root olmadığını görüyorum.Yetki yükseltmek için ilk önce kernel exploitlerinden başlıyorum , bunun için sysinfo komutu ile kernel sürüm numarama bakıyorum.Ardından google’da araştırma yapıyorum ama 2.6.24-16-server , 2.6.24’ün degiştirilmiş çekirdek versiyonu olduğundan bulduğum 16 kernel exploitinden 2 tanesi hariç çalışmayacağını düşünüyorum , 2 tane çalışanıda önce ki yazımda kullandığımdan tekrardan göstermek istemedim.Ardından udf injection yaparak root olmak için mysql kütüphanelerini kontrol ettiğimde exec ve eval fonksiyonlarının olduğu kütüphanelerin sistemde bulunmadığını gördüm. Manuel olarak kurmaya çalıştığımda ise çeşitli hatalar aldım.Pythonun pty modülü ile interaktif shelle geçiş yaparak son bir umut mevcut kullanıcının haklarını kontrol ettiğimde düşük kullanıcı olduğunu gördüm.Ardından searchsploit kullanarak Twiki ile ilgili exploitleri araştırdım.

Gelen exploitlere baktığımda 7 exploitte sürüm numarası yazmadığını görüyorum, rapid7 sitesinden bu exploitlerin nasıl kullanıldığını sırasıyla kontrol ederken Debugenableplugins exploiti 4-6 versiyonlarını kapsıyormuş , bunu da elemek zorunda kalıyorum , diğer exploite baktığımda herhangi bir sürüm numarası göremiyorum , umut fakirin ekmeğidir diyerek msfconsole geçip gerekli işlemlere başlıyorum.

Twiki_history zafiyetine baktığımda arama parametresine girilen meta karakterler yardımıyla sistem komutları çalıştırıldığını öğreniyorum , o zaman bu exploitten ters baglantı gelmesi için payloada ihtiyacım var , gerekli ayarları yaptıktan sonra exploit ettiğimde karşıdan bağlantı açılıyor ama mevcut kullanıcı yine düşük seviye , bu adımda root olamadık.

Bir sonraki yazıda görüşmek üzere. Güvenli günler dilerim.

Yazar Hakkında

Andhrimnir
Yazara ait blog yazıları eğitim amaçlıdır.Etik kuralların dışında kullanım sorumluluğu kullanıcıya aittir.
~Tanrı denizcilere yardım eder ancak kaptan dümende olmalıdır.

Bu makaleyi 4 dakikada okuyabilirsiniz.
Andhrimnir
Yazara ait blog yazıları eğitim amaçlıdır.Etik kuralların dışında kullanım sorumluluğu kullanıcıya aittir. ~Tanrı denizcilere yardım eder ancak kaptan dümende olmalıdır.