2049 - Pentesting NFS Service
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
NFS, kullanıcıların dosyalara bir ağ üzerinden, bu dosyaların yerel bir dizinde bulunuyormuş gibi sorunsuz bir şekilde erişmelerini sağlayan istemci/sunucu için tasarlanmış bir sistemdir.
Bu protokolün dikkat çekici bir yönü, yerleşik kimlik doğrulama veya yetkilendirme mekanizmalarının olmamasıdır. Bunun yerine, yetkilendirme dosya sistemi bilgilerine dayanır ve sunucu, istemci tarafından sağlanan kullanıcı bilgilerini dosya sisteminin gerektirdiği yetkilendirme formatına doğru bir şekilde çevirmekle görevlidir; bu genellikle UNIX sözdizimini takip eder.
Kimlik doğrulama genellikle UNIX UID
/GID
tanımlayıcıları ve grup üyeliklerine dayanır. Ancak, istemciler ve sunucular arasındaki UID
/GID
eşleştirmelerindeki olası uyumsuzluk nedeniyle bir zorluk ortaya çıkar; bu durum sunucu tarafından ek bir doğrulama yapılmasına olanak tanımaz. Sonuç olarak, bu protokol, bu kimlik doğrulama yöntemine dayanması nedeniyle en iyi şekilde güvenilir ağlar içinde kullanılmak için uygundur.
Varsayılan port: 2049/TCP/UDP (sadece versiyon 4 için, TCP veya UDP yeterlidir).
NFSv2: Bu versiyon, çeşitli sistemlerle geniş uyumluluğu ile tanınır ve ilk işlemlerinin çoğunlukla UDP üzerinden gerçekleşmesi ile önemini vurgular. Serinin en eski versiyonu olarak, gelecekteki gelişmeler için bir temel oluşturmuştur.
NFSv3: Bir dizi iyileştirme ile tanıtılan NFSv3, değişken dosya boyutlarını destekleyerek ve geliştirilmiş hata raporlama mekanizmaları sunarak selefinin üzerine çıkmıştır. Gelişmelerine rağmen, NFSv2 istemcileri ile tam geriye dönük uyumlulukta sınırlamalarla karşılaşmıştır.
NFSv4: NFS serisinde bir dönüm noktası olan NFSv4, ağlar üzerinden dosya paylaşımını modernize etmek için tasarlanmış bir dizi özellik getirmiştir. Dikkate değer iyileştirmeler arasında yüksek güvenlik için Kerberos entegrasyonu, güvenlik duvarlarını aşabilme ve port haritalayıcılarına ihtiyaç duymadan İnternet üzerinden çalışabilme yeteneği, Erişim Kontrol Listeleri (ACL'ler) desteği ve durum tabanlı işlemlerin tanıtımı bulunmaktadır. Performans iyileştirmeleri ve durum bilgisi olan bir protokolün benimsenmesi, NFSv4'ü ağ dosya paylaşım teknolojilerinde önemli bir ilerleme olarak ayırmaktadır.
NFS'nin her versiyonu, ağ ortamlarının gelişen ihtiyaçlarını karşılamak amacıyla geliştirilmiş, güvenlik, uyumluluk ve performansı kademeli olarak artırmıştır.
Hangi klasörün sunucu tarafından mevcut olduğunu öğrenmek için ona şu şekilde sorabilirsiniz:
Sonra bunu kullanarak bağlayın:
Sürüm 2'yi kullanmayı belirtmelisiniz çünkü herhangi bir kimlik doğrulama veya yetkilendirme içermez.
Örnek:
Eğer yalnızca bazı kullanıcılar tarafından erişilebilen dosyalar veya klasörler içeren bir klasörü bağlarsanız (UID ile). O UID ile yerel olarak bir kullanıcı oluşturabilir ve bu kullanıcı ile dosya/klasöre erişebilirsiniz.
Dosyaları erişmek için UID ve GID'yi kolayca listelemek, bağlamak ve değiştirmek için nfsshell kullanabilirsiniz.
Okuma ve Yazma İzinleri (rw
): Bu ayar, dosya sisteminden hem okuma hem de yazma işlemlerine izin verir. Bu kadar geniş bir erişim izni vermenin sonuçlarını dikkate almak önemlidir.
Güvensiz Portların Kullanımı (insecure
): Bu etkinleştirildiğinde, sistemin 1024'ün üzerindeki portları kullanmasına izin verir. Bu aralıktaki portların güvenliği daha az katı olabilir ve riski artırabilir.
İç İçe Dosya Sistemlerinin Görünürlüğü (nohide
): Bu yapılandırma, başka bir dosya sistemi bir dışa aktarılmış dizinin altında monte edilse bile dizinlerin görünür olmasını sağlar. Her dizin, uygun yönetim için kendi dışa aktarma girişine ihtiyaç duyar.
Kök Dosyalarının Sahipliği (no_root_squash
): Bu ayar ile, kök kullanıcı tarafından oluşturulan dosyalar, 0 olan orijinal UID/GID'lerini korur, bu da en az ayrıcalık ilkesini göz ardı eder ve aşırı izinler verebilir.
Tüm Kullanıcıların Squash Edilmemesi (no_all_squash
): Bu seçenek, kullanıcı kimliklerinin sistem genelinde korunmasını sağlar, bu da doğru bir şekilde ele alınmadığında izin ve erişim kontrol sorunlarına yol açabilir.
NFS no_root_squash ve no_all_squash ayrıcalık yükseltmesi
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)