Konuyu Okuyanlar: 1 Ziyaretçi

ksmbd Çalışıyor mu? Linux Sunucuda Çekirdek SMB Modülünü Kontrol Etme ve Kapatma

ksmbd Çalışıyor mu? Linux Sunucuda Çekirdek SMB Modülünü Kontrol Etme ve Kapatma
[Resim: attachment.php?aid=377]

Selamlar,

ZDI raporlarının herkese açık listeye düşmesiyle ksmbd'de iki yamasız RCE (ZDI-CAN-33774 ve ZDI-CAN-33549, CVSS 9.0) gündemde. Bunlardan biri kimlik doğrulaması gerektirmiyor ve 445 portunda ksmbd çalıştıran her sunucuyu etkiliyor. Çekirdek düzeltmesi dağıtımlara ulaşana kadar yapabileceğiniz en etkili şey, ksmbd'ye gerçekten ihtiyacınız olup olmadığını bilmek. Bu rehber adım adım kontrol ve kapatma yöntemini anlatıyor.

Konuda anlatılacaklar
  1. ksmbd ile Samba farkı
  2. ksmbd yüklü ve çalışıyor mu?
  3. Kullanmıyorsanız: kapatma ve kara listeye alma
  4. Kullanıyorsanız: saldırı yüzeyini daraltma
  5. Doğrulama

ksmbd ile Samba farkı
Samba (smbd) kullanıcı alanında çalışan klasik SMB sunucusudur. ksmbd ise çekirdek belgelerine göre performans için çekirdek alanında çalışan bir SMB3 sunucusu; kullanıcı alanındaki ksmbd.mountd yardımcı servisiyle birlikte çalışır. Çekirdek alanında çalıştığı için bir bellek hatası doğrudan çekirdek seviyesinde sonuç doğurur. Red Hat'e göre RHEL varsayılan olarak ksmbd içermiyor; bazı NAS dağıtımları ve elle kurulmuş ksmbd-tools paketleri ise kullanıyor olabilir.

1. Kontrol
Kod:
# Modul yuklu mu? lsmod | grep -w ksmbd # Servis var mi, calisiyor mu? systemctl status ksmbd 2>/dev/null | head -5 # 445'i kim dinliyor? (smbd mi ksmbd mi) sudo ss -ltnp | grep ':445' # Modul sistemde mevcut mu (yuklu olmasa bile)? modinfo ksmbd 2>/dev/null | head -3
ss çıktısında süreç adı smbd ise Samba kullanıyorsunuz; süreç adı görünmüyor ama 445 dinleniyorsa ve lsmod ksmbd gösteriyorsa çekirdek sunucusu aktif demektir.

2. Kullanmıyorsanız: kapatın
Kod:
sudo systemctl disable --now ksmbd 2>/dev/null sudo modprobe -r ksmbd # Yeniden yuklenmesini engelle echo "install ksmbd /bin/false" | sudo tee /etc/modprobe.d/disable-ksmbd.conf echo "blacklist ksmbd" | sudo tee -a /etc/modprobe.d/disable-ksmbd.conf # initramfs'i guncelle (Debian/Ubuntu) sudo update-initramfs -u
modprobe -r "module is in use" hatası verirse önce paylaşımları kapatın (servis durdurulmalı), gerekirse bakım penceresinde yeniden başlatın.

3. Kullanıyorsanız: yüzeyi daraltın
  • 445'i internete açmayın. Yalnızca güvenilir LAN veya VPN aralığına izin verin.
  • Misafir (guest) paylaşımlarını kapatın. pwn.watch'a göre dağıtım yarışı açığı misafir paylaşımı gerektiren senaryoda tetikleniyor; The Hacker News'e göre ise ön-kimlik doğrulama yolu da var. İkisini birden daraltmak gerekiyor.
  • SMB Direct/RDMA kullanmıyorsanız rdma_rxe gibi yazılım RDMA sürücülerini yüklemeyin.
  • Mümkünse geçici olarak Samba'ya geçin.
Kod:
# nftables ornegi: 445'i yalnizca 192.168.10.0/24'e ac sudo nft add rule inet filter input tcp dport 445 ip saddr != 192.168.10.0/24 drop # ksmbd.conf icinde misafiri kapat (yol dagitima gore degisir) grep -n "guest ok\|map to guest" /etc/ksmbd/ksmbd.conf

4. Doğrulama
Kod:
lsmod | grep -w ksmbd || echo "ksmbd yuklu degil" sudo ss -ltnp | grep ':445' || echo "445 dinlenmiyor" # Dis agdan (izinli, kendi sunucunuz) kontrol nmap -Pn -p445 SUNUCU_IP

Takip
Düzeltmeler mainline'a girip CVE atandığında dağıtımınızın çekirdek güncellemesini kurun ve yeniden başlatın. O zamana kadar bu konuyu kendi envanterinizde "açık risk" olarak işaretleyin.

Kontrol sonucunuz ne çıktı: Samba mı, ksmbd mi, hiçbiri mi? Özellikle NAS kullananların deneyimini merak ediyorum.

Yasal uyarı
Bu yazı bilgilendirme ve savunma amaçlıdır. Anlatılan kontrolleri yalnızca kendi sistemlerinizde veya yazılı izinle yapın. İzinsiz erişim, tarama ve sömürü girişimleri TCK 243-245 kapsamında suçtur. TurkTeam white-hat bir topluluktur; çalıntı veri, hesap, combo/log paylaşımı ve hack hizmeti talepleri forum kurallarına aykırıdır.

Kaynaklar


Ek DosyalarEkran Görüntüleri
   
Cevapla



Hızlı Menü: