13 Mart 2020 Cuma

SMB Anonim Oturumla Nasıl Sömürülür?


                                                             Tuğcan Özel, Sızma Testi Uzmanı


SMB Nedir?

Server Message Block (Sunucu İleti Bloğu), sunucu istemci (server-client) arasındaki iletişimi sağlayan bir ağ protokolüdür. SMB protokolü, Windows sistemlerinin 139 ve 445 portlarını kullanarak, paylaşılan dosyalara erişimi, ağlar, yazıcılar ve çeşitli bağlantıları sağlar. Bu bağlantıların yanında oplock, dosya ve kayıt kitleme, dosya ve dizin değişikliği gibi işlemler de SMB üzerinden gerçekleşmektedir.


Kullanılan Araçlar

Nmblookup – TCP/IP üzerinden NetBIOS isimleri hakkında bilgi toplamaktadır.
Smbclient – FTP protokolü gibi SMB paylaşımlarına erişmeye yaramaktadır.
Smbmap – Host üzerindeki paylaşıma açık dosyaları ve izinlerini göstermektedir.
Nmap – Scriptleri ile genel bir tarayıcıdır.
Rpcclient – Kullanıcı tarafındaki MS-RPC fonksiyonlarını çalıştırmaya yaramaktadır.
Enum4Linux – Çeşitli SMB fonksiyonlar

Host İsimleri Hakkında Bilgi Toplama

Nmblookup – A [IP]
- A parametresi, IP adresine göre bilgi toplamamıza izin vermektedir.


Dizin Listeleme


Smbmap –H [ip/hostname]
-H parametre host ismi veya ip adresimi belirtmemizi istemektedir.


Eğer kimlik bilgileri ele geçirilirse, erişim sağlanması için aracımız şu şekilde kullanılabilmektedir.

Smbmap –H [ip] –d [domain] –u [user] –p [password]


Smbclient –L \\[ip]
             -L parametresi ilgili hosttaki dizinleri getirmektedir.

Nmap  --script –smb-enum-shares –p 139,445 [ip]
-script smb-enum-shares -> smb hakkında bilgi toplamak için çalıştırılan bir scripttir.

            -p 139,445 ilgili portları belirtmektedir.


Smbmap –H [ip/hostname] belirli kimlik bilgileri ile veya null oturum ile dizinlerde neler gerçekleştirilebileceği hakkında bilgi vermektedir.
Rpcclient –U “” –N [ip]

-U “” null oturumlar anlamına gelmektedir.

-N parola yok anlamına gelmektedir.(No password)



Bu noktadan itibaren rpc komutları çalıştırılabilmektedir.


NULL Oturum Kontrolü

Smbclient //[ip]/[dizin_adı] şeklinde host üzerindeki dizine kimlik bilgileri yollanmadan erişilmeye çalışılmaktadır. Erişim sağlanırsa NULL session meydana gelmektedir.










Zafiyet Kontrolü

Nmap –script smb-vuln* -p 139,445 [ip]

--script smb-vuln* smb zafiyetleri ile ilgili bünyesinde barındırdığı tüm scriptleri çalıştıracaktır.

-p 139,445 smb portları






GENEL TARAMA

Enum4Linux –a [ip]
-a host hakkındaki bütün(all) bilgileri toplamamıza yaramaktadır.
Çıktı çok uzun olmakta, özet olarak ifade edilirse:
Nmblookup’a benzer host çıktıları
Otomatik Null oturum kontrolü
Dizinleri listeleme
Domain bilgileri
Password politikaları gibi bilgiler elde edinmektedir.



ÖZET

Hostname bilgi toplama
 nmblookup –A [ip]
Dizin Listeleme
Smbmap –H [ip/hostname]
Smbclient –L \\[ip]
Nmap –script smb-enum-shares –p 139,445 [ip]
Null Oturum Kontrolü
Smbmap –H [ip/hostname]
Rpcclient –U “” –n [ip]
Smbclient //ip/dizin_adı
Zafiyet kontrolü
 nmap –script smb-vuln* -p 139,445 [ip]
Genel Tarama
 enum4Linux –a [ip]

Sızma testi Penetrasyon testi) hizmetlerimiz hakkında detaylı bilgi almak için tıklayınız.  

Hiç yorum yok:

Yorum Gönder