WINDOWS 7 ETERNALBLUE ZAFİYETİ - SİBER GÜVENLİK EĞİTİMİ

NELER VAR

8 Aralık 2019 Pazar

WINDOWS 7 ETERNALBLUE ZAFİYETİ

Merhaba. Bu yazımda sizlerle windows 7 cihaza sızma işlemini gerçekleştireceğiz. Bu sızma işlemini 'eternalblue' açığını kullanarak gerçekleştireceğiz.Peki eternalblue açığı nedir?
EternalBlue Kötü Amaçlı Yazılım Ulusal Güvenlik Ajansı (NSA) tarafından geliştirilen ve Windows tabanlı SMB kullanan ve aracın Shadow Brokers korsanları grubu tarafından Nisan 2017'de piyasaya sürülmüştür. Bu zafiyetten etkilenen işletim sistemleri aşağıdaki gibi sıralanabilir: 

  • Microsoft Windows Vista x64 Edition SP2 
  • Microsoft Windows Vista SP2 
  • Microsoft Windows Server 2012 R2 SP0
  • Microsoft Windows Server 2008 R2 for x64-based Systems SP1
  • Microsoft Windows RT 8.1
  • Microsoft Windows 7 for x64-based Systems SP1
  • Microsoft Windows 7 for 32 bit Systems SP1 
gibi bazı işletim sistemleri bu zafiyetten etkilenmiştir. Sızma işlemini her zaman olduğu gibi Kali Linux üzerinden gerçekleştireceğiz. Öncelikle elimizde olması gereken verilerden en önemlisi hedef cihazın ip'sidir. Hedef ip'yi netdiscover komutu üzerinden bulabiliriz. Burada önemli olan noktalardan diğeri hedef cihazın bu açığa elverişli olup olmadığıdır. Hedef makinede bu açığın olup olmadığını anlamak için nmap aracını kullanacağız. Kullanacağımız komut:
nmap -p445 --script smb-vuln-ms17-010 'hedefip'
Komutun çıktısına baktığımız zaman, hedef makinemizde bu zafiyetin olduğu anlaşılıyor. Peki bu açığı nasıl sömürebiliriz? 
Hedef makinenin bu açığa zafiyetli olduğunu öğrendikten sonra açık olan portlarından sızmamız gerekecek. Açık olan portlarına bakalım. Bunun için terminal ekranına 'nmap hedefip' yazabiliriz.
Açık olan portlar listelenmektedir. Ben önce 445(Microsoft) portunu kullanacağım. Ama bazen bu portu kullanırken hata alabiliyoruz. 139 portunu da işin içine sokabiliriz.
Kali Linux'un metasploit eklentisi bize büyük kolaylıklar sağlamaktadır. Bulduğumuz zafiyetleri, metasploit eklentisiyle exploit edebiliriz. Terminal ekranına 'msfconsole' yazarak metasploit framework'ü açalım. 
Birkaç dakika bekledikten sonra karşımıza bu ekran gelecektir. Yukarıda da yazdığı gibi bu frameworkte bulunan exploit, auxiliary, payload gibi özellikleri görebiliyoruz. Açığın adı 'eternalblue' idi. Bu açıkla ilgili exploit bakalım. Komut ekranına 'search eternalblue' yazıyoruz. 
Bu açıkla ilgili kullanabileceğimiz exploitleri görüyoruz. Burada 'exploit/windows/smb/ms17_010_eternalblue' exploitini kullanacağız. Bunun için exploit numarasını ya da ismini kullanabiliriz. 
Exploiti kullanmak  için use komutunu kullanıyoruz. Exploitin bizden istediklerine bakmak için 'options' komutunu kullanabiliriz. Exploit bizden hedef makinenin ip'sini ve açık portunu istemektedir.
Rhost ve rport komutları hedef makinenin ipsi ve port numara bilgisi anlamına gelmektedir. Lhost ise (birazdan karşımıza çıkacak) kendi cihazımın ipsi anlamına gelmektedir. İstenilen bilgileri girdikten sonra 'run' ya da 'exploit' komutunu girip sızma işlemine başlıyoruz. 
Evet, yukarıda bahsettiğim gibi bazen 445 portunu denerken hata alabiliyoruz. Bu hata yukarıdaki hatadır. Portumuzu 'set RPORT 139' komutu ile değiştirip bir de o porttan girmeye çalıştığımızda orada da aynı hatayla karşılaşıyoruz. Bu bazen portların meşgul olması durumuyla alakalıdır. Tekrar portu 445'e set ettiğimiz zaman bu defa exploitin çalıştığını göreceksiniz. 
Görüldüğü gibi 'Win' yazısı geldikten sonra hedef cihazdan shell almış bulunmaktayız. 
Shell ekranından 'ipconfig' yazdığımız zaman hedef cihazın ip bilgilerini, subnet bilgilerini görüntüleyebiliyoruz. Shell ekranından hedef cihaz ekranında klasör oluşturabilir,silebilir veya güncelleyebiliriz. Sızma işleminin ilk adımını gerçekleştirmiş bulunmaktayız. Burada kalıcı olabilmek için shell ekranından meterpreter'e yükselmemiz gerekiyor. Meterpreter, metasploit framework için yazılmış ve sistem sızma testlerini kolaylaştırmayı hedefleyen bir araçtır. Bir çeşit arka kapı olarak çalışır. Meterpreter ile dosya yükleme, dosya indirme, ekran görüntüsü alma, kötü niyetliler için webcam çalıştırma gibi birçok işlem gerçekleştirebiliriz.
Shell_to_Meterpreter 
Shell aldığımız ekranda 'ctrl+z' komutunu kullanarak oturumu arka plana atıyoruz. Gelen 'background sessions' uyarısına 'y' cevabını veriyoruz. 
Arka plana attığımız uygulamaları listelemek için 'sessions -l' komutunu kullanıyoruz. 
Oturumun id'si 4'tür. Bu oturuma tekrar dönmek için 'sessions -i 4' komutunu kullanabiliriz. Shell oturumunu meterpreter'e yükseltmek için yine exploitten yararlanacağız. 
'search shell_to_meterpreter' komutunu kullanarak exploiti arıyoruz. Karşımıza bir tane exploit çıktı. Onu kullanmak için tekrar 'use' komutunu kullanıyoruz. 
'options' komutunu kullanarak bizden istenilen verileri giriyoruz. Burada yukarıda da bahsettiğim 'lhost' verisi bulunmaktadır. LHOST'u girerek, meterpreter'i nerede dinleyeceğimizi, göreceğimizi belirliyoruz. Yani lhost aslında kendi cihazımın ip'si demektir. Burada lhost ve session id'sini giriyoruz. Session id'si 4 idi. Bu komutları girdikten sonra 'run' ya da 'exploit' diyoruz. 
Daha sonra 'sessions -i 4' deyip giriş yaptığımızda meterpreter ekranının geldiğini göreceğiz. 
'meterpreter > help' yazarak kullanabileceğimiz komutları görebiliyoruz. Örneğin, 'screenshot' yazıp hedef makinenin ekran görüntüsünü alabiliriz. Ya da 'webcam_start' diyerek hedefin webcam'i varsa çalıştırabiliriz. Benim hedef cihazım sanal makinede kurulu olduğu için kamerayı kullanamıyoruz. 
Bu yazımda bir Windows 7 makinesine sızma işlemini gerçekleştirdik. Shell'i meterpreter'e yükseltmeyi öğrendik. Meterpreter'i birçok işlemde kullanabiliriz. Örneğin bir trojan oluşturduğumuzda, bu trojan karşı tarafta çalıştığında dinleme işlemini meterpreter ile gerçekleştirebiliriz. Meterpreter ile komutlar çok fazla olduğu için hepsini bilmemize imkan yok. İsterseniz hepsini tek tek deneyebilirsiniz. O şekilde öğrenmenin daha uygun olacağını düşünüyorum. 


Hiç yorum yok:

Yorum Gönder