27 Ara, 2022

Saldırgan Güvenlikte Windows İşletim Sistemi

Giriş

Windows, Microsoft tarafından ilk defa 1985 yılında yayınlanmış olup şahıs ve kurumlar için en çok tercih edilen işletim sistemlerinden biridir. Windows siber güvenlik sektörünün var olmasında çok büyük bir katkı payına sahiptir. Katkı payının yüksek olması birçok tehlikeyi de beraberinde getirmektedir. Makale içerisinde Microsoft Windows işletim sistemlerine yönelik kurumsal ve kullanıcı bazında gündelik kullanımlar içerisinde gerçekleştirilebilme potansiyeli olan saldırı teknikleri uygulamalı bir şekilde göz önünde bulunduruldu. Bu makale Windows Server güvenliğine odaklanır. Bu makale okunduktan sonra Windows işletim sistemine yönelik atak vektörlerine hâkim olacaksınız. 

Anahtar Kelimeler

Sızma Testi, Exploit, Windows, Yetki Yükseltme, Bilgi Toplama, Zafiyet Taraması, ISSAF 

1. Windows işletim sistemi nedir?  

Microsoft Windows, kullanıcıya grafik arabirimler ve görsel iletilerle yaklaşarak, yazılımları çalıştırmak, komut vermek gibi klavyeden yazma zorunluluğunu ortadan kaldıran, Microsoft şirketinin geliştirdiği dünyada en çok kullanılan işletim sistemi ailesidir. Windows, ilk olarak 20 Kasım 1985 tarihinde satışa sunulmuştur. 

Windows dünya çapında masaüstü piyasasında yaklaşık %97,46’lık bir pay sahibiydi. 2021 Haziran ayı itibarıyla Windows’un tüm dünyadaki kullanım oranı %72,96’dır. (Wikipedia, 2022) 

2.Sızma Testi Metodolojileri Nelerdir?

İşinin ehli bir hacker kendisine hedef olarak belirlediği sisteme sızmak için daha önce edindiği  tecrübeler ışığında düzenli bir yol izler. Benzer şekilde sızma testlerini gerçekleştiren uzmanlar da  çalışmalarının doğrulanabilir, yorumlanabilir ve tekrar edilebilir olmasını sağlamak için metodoloji geliştirirler veya daha önce geliştirilen bir metodolojiyi takip ederler. 

Bu bahsedilen metodolojilerin başında; 

  • ISSAF (Information Systems Security Assessment Framework)
  • OWASP (Open Web Application Security Project)
  • OSSTMM (The Open Source Security Testing Methodology Manual)

gelmektedir. İnternetten ücretsiz edinilebilecek bu test metodolojileri incelenerek yapılacak güvenlik denetim testlerinin daha sağlıklı ve tekrar edilebilir sonuçlar üretmesi sağlanabilir. 

Metodoloji hazırlanmasında dikkat edilmesi gereken en önemli hususlardan biri sızma test metodolojisinin araç tabanlı (X adımı için Y aracı kullanılmalı gibi) olmamasına dikkat edilmesidir.

Bizim bu makale içerisinde genellikle kullanacağımız metodoloji ISSAF ’dır.  

Sızma testlerinde ISSAF (Information Systems Security Assessment Framework) tarafından geliştirilen metodoloji temel alınmıştır. Metodolojimiz dört ana bölüm ve beş alt bölümden oluşmaktadır. 

  1. Bilgi Toplama
    • Ağ Haritalama 
    • Zafiyet Tarama Süreci 

 2. Sızma Süreci

    • Erişim Elde Etme ve Hak Yükseltme  
    • Detaylı Araştırma 

 3. Erişimlerin Korunması

    • İzlerin silinmesi

4. Raporlama

Sızma-testlerinde-ISSAF-tarafından-geliştirilen-metodoloji

2.1 Bilgi Toplama 

Bilindiği üzere sızma testi yapıldığında hedefe istenildiği yerden yaklaşmak her zaman mümkün olmamaktadır. Hedef sistemin durumu göz önüne alındığında birçok karmaşık yapı ile  karşılaşılabilmekte ve sızma testi yapan kişiler bazen anlamlandırması zor durumlarla karşılaşabilir. (BGA,2022) 

Sızma testlerinde karmaşalardan sıyrılmak ve zor durumları aydınlatabilmek için sistem hakkında bilgi sahibi olmak kritik bir faktördür. Sistem hakkında yeterli bilgi sahibi olunmadığı takdirde test işlemi oldukça fazla uzadığı gibi, sonuçları da çok sağlıklı olmayacaktır. Fazla bilgi sahibi olmanın bir zararı olmayacağı gibi aksine faydası olacaktır. 

Bilgi toplama aşamasında pek çok araç kullanılmaktadır, bunların arasında en sık kullanılan bilgi  toplama aracı Nmap’i ele alacağız. Nmap ile taranan ağın haritasını çıkarabilir ve ağ makinalarında  çalışan servislerin durumlarını, işletim sistemlerini, portların durumlarını öğrenebiliriz. 

Nmap’in kullanım amaçlarını genel olarak aşağıdaki gibi de inceleyebiliriz; 

  • Ağ keşif 
  • Port, servis tarama 
  • Versiyon tarama 
  • İşletim sistemi tespiti 
  • Zafiyet keşfi 
  • Firewall/IDS atlatma 

Nmap kullanırken öncelikle parametreleri tanımamız daha sonra bu parametrelerin kullanım şeklini bilmemiz gerekir. 

Nmap çıktıları 3 durumla sonuçlanır bunlar; 

  • Open: Portun erişilebilir durumda olduğunu belirtir.
  • Close: Portun erişilebilir olduğunu fakat üzerinde herhangi bir servis olmadığını belirtir.
  • Filtered: Dönen tepkilerin bir paket filtreleme mekanizması tarafından engellendiğini, portun açık veya kapalı olduğuna karar veremediğini ve bir güvenlik cihazı olabileceğini belirtir.

Nmap’in kullanım mantığı şu şekildedir.  

  • “nmap ‘parametreler’ host” 

En sık kullanılan parametreler ise şu şekildedir; 

  • -A Agresif tarama opsiyonunu aktifleştirir. 
  • -p Taranacak portların belirtildiği parametre. 
  • -sS SYN taraması yapılır. 
  • -sV Açık portlar üzerinde çalışan servislerin versiyonlarını öğrenmeye çalışır.
  •  -sC sV ile versiyon tespiti yapılırken nmap scriptlerini kullanır. 
  • –script Script çalıştırmaya yardımcı olur. 
  • -O İşletim sistemi tespiti yapmaya yardımcı olur. 
  • –open Açık portları getirir. 
  • -V Nmap sürümünü öğrenirsin 
  • -T Hız ayarını yapılır. 0-5 arasındadır, varsayılan -T3’tür.  
  • -Pn Ping atmadan bir tarama işlemi başlatır. 

Nmap örnek kullanım şekilleri; 

  • nmap -p 80,443 -sS -sV hosts (ip) Http (80) ve Https (443) portlarının servis versiyonlarını kontrol ederler. 
  • nmap -p “*” hosts (ip) Tüm portlara tarama gerçekleştirir. (-p “*”) = (-p-)
  • nmap –script firewall-bypass hosts Firewall atlatmak için kullanılan script.
  • nmap –script vuln hosts Zafiyet taraması yapmak için kullanılan script.
  • Nmap -sn hosts Açık makinaları öğrenmek için kullanılan parametre.

Şimdi genel olarak bir makinadan işimize yarayacak pek çok bilgiyi elde ettik ancak bir insanın eliyle kontrol edemeyeceği kadar çok fazla zafiyet bulunmaktadır bunun için yazılımlardan yardım  istemeliyiz. 

2 adet yazılımı konuk edeceğiz, bunlar Nessus ve Netsparker’dır. 

Nessus, sıkça kullanılan kapsamlı bir güvenlik açığı tarama yazılımıdır. Görevi bilgisayar sistemlerinde ve bilgisayar ağlarında potansiyel güvenlik açıklarını tespit etmektir. Yerel ağ testlerinde başarı oranı yüksek olan bu yazılım Windows işletim sistemlerine yönelik pek çok zafiyeti test eder ve test  sonucunda tespit edilen bu zafiyetlerin nasıl engelleneceğine yönelik bilgiler sunar.  

Netsparker ise aynı şekilde sıkça kullanılan kapsamlı bir güvenlik açığı tarama yazılımıdır. Görevi  internet sitelerine yönelik güvenlik açıklarını tespit etmektir. Nessus ile arasındaki en büyük fark,  Nessus yerel ağ testlerinde yüksek başarı oranı sergilerken Netsparker ise internet testlerinde daha  yüksek başarı oranına sahiptir. Saldırganlar tarafından bu yazılımlar sıklıkla kullanılır ve zafiyet keşfinin  ardından sızma sürecine geçmek için hazırlık (silahlanma) aşamasına başlanır. Uygulamalara yönelik  örnek resimler aşağıda bulunmaktadır. 

Nessus:

nessus

NetSparker:

netsparker

2.2 Sızma Süreci  

Sızma sürecinde enumeration, bilgi toplama ve zafiyet taraması sonucunda elde edilen bilgiler  doğrultusunda belirlenen teknikler kullanılarak hedef sisteme erişim elde edilmeye çalışılır. 

Bir hedefin güvenlik açıklarını ortaya çıkarmak için XSS, SQL İnjection ve İdor gibi atak vektörleri  kullanılır. Test kullanıcıları daha sonra, neden olabilecekleri hasarı anlamak için tipik olarak  ayrıcalıkları artırarak, verileri çalma, trafiği durdurma gibi işlemleri gerçekleştirmek için bu güvenlik açıklarından yararlanmaya çalışırlar. 

2.3 Erişimlerin Korunması  

Güvenlik açığının istismar edilen sistemde kalıcı bir varlık elde etmek için sistemde birtakım işlemler  gerçekleştirilir. Buradaki fikir, bir kuruluşun en hassas verilerini çalmak için genellikle aylarca  sistemde kalan gelişmiş kalıcı tehditleri taklit etmektir. En son olarak sistemden istenilen bilgiler bulgu kartlarını oluşturacak olan kanıtları toplamak ve sistemden izleri temizleyerek cihazdan çıkış yapmak. 

2.4 Raporlanma  

Ele geçirilen sistemden kritik edinilebilecek bilgilerin kanıtları ile bir şablonda bu bulgular belirtilir. Bu bulgu karlarının içerisinde; bulgunun açıklaması, etkilenen sistemler, çözüm önerisi, risk seviyesi, erişim noktası gibi bilgiler yer almaktadır. Bu rapor kurumunuzun politikasına yönelik güvenilir bir  şekilde müşterilere iletilir. Müşteri ile sonrasında raporun hakkında bir görüşme planlanır ve bu  görüşmede raporun sunumu gerçekleştirilir. Bu sunum gerçekleştirilirken hedef kurumun aklına takılan sorular cevaplanır ve sızma testi süreci tamamlanır. 

3. Saldırı Senaryoları  

3.1 Saldırı Senaryoları- 1  

İlk uygulamamızda öğrendiğimiz bilgi toplama aracını kullanacağız. Nmap ile hedef makine üzerinde bir script yardımı ile zafiyet taraması gerçekleştireceğiz. Nmap sorgumuzun şu şekilde olması gerekir;  nmap –script vuln <HedefIP>

Nmap-sorgusu

ms17-010-zafiyet

Resimde görüldüğü gibi Vulnerability alanında ms17-010 isminde bir zafiyet bulunmaktadır. Bu zafiyeti Metasploit Framework içerisinde bulunan exploit ile sömürebiliriz. 

Bunun için öncelikle Metasploit Framework’ümüzü ‘msfconsole’ komutu ile açmalıyız.

msfconsole

Zafiyetimizi ‘search’ komutu ile aratmalıyız. Sorgumuz şu şekilde olmalıdır; “search ms17-010” 

Çıkan sonuçların içerisinde “exploit/windows/smb/ms17_010_eternalblue” sonucunu solunda yazan değere göre ’use X’ veya ‘use exploit/windows/smb/ms17_010_eternalblue’ şeklinde kullanmalıyız. 

Gerekli konfigrasyon ayarlarını ‘options’ diyerek inceleyip ayarlarımızı ‘set’ komutu ile yapılandırıyoruz. 

saldırı-senaryoları1.1

saldırı-senaryoları2.2

Ardından bu ayarların yapınca ‘run’ veya ‘exploit’ yazıp zafiyeti sömürmeye başlayabiliriz.

saldırı-senaryoları3.3

Sistemde başarılı bir şekilde local admin durumunda giriş yapabildik.

3.2 Saldırı Senaryoları- 2  

Bu senaryomuzda ilk senaryomuzda olduğu gibi bir nmap taraması gerçekleştireceğiz.

saldırı-senaryoları-2.1

AChat’ isminde bir uygulama olduğunu keşfediyoruz. 

saldırı-senaryoları-2.2

saldırı-senaryoları-2.3

Metasploit Framework içerisinde bir exploit olduğunu öğrendik şimdiki aşamada içeride çalışan  uygulamayı exploit etmek için ‘msfconsole’ ile Framework’ü açıp varlığını kontrol ediyoruz.

saldırı-senaryoları-2.4

‘Achat exploit’ araması yaptığımda github içerisinde bir exploit bulunduğunu gördük bunu saldırgan
makinemize indirip exploit etmeye çalışalım.

saldırı-senaryoları-2.5

Aynı zamanda multi/handler ile dinleme işlemini başlıyoruz.

saldırı-senaryoları-2.6

Öncelikle ‘AChat_Exploit.py’ içeriği derleniyoruz ve sonrasında çalıştırıyoruz.

saldırı-senaryoları-2.7

saldırı-senaryoları-2.8

Sistemden erişim sağlayabildik.

3.3 Saldırı Senaryoları- 3

LLMNR ve NetBIOS Nedir

LLMNR: Bağlantı-Yerel Çok Noktaya Yayın Ad Çözümlemesi hem IPv4 hem de IPv6 ana bilgisayarlarının aynı yerel bağlantıdaki ana bilgisayarlar için ad çözümlemesi gerçekleştirmesine izin  veren Etki Alanı Adı Sistemi paket biçimine dayalı bir protokoldür. (Wikipedia, 2021) 

NetBIOS (Network Basic Input/Output System): Ağ’a bağlı aygıtların birbirleri ile haberleşmesi için  kullanılan bir API’dir. NetBIOS, Network Basic Input/Output System ‘in kısaltmasıdır. Bu, ayrı bilgisayarlarda yerel alan ağı üzerinden iletişim kurmak için OSI Modelini sağlayan uygulamaların oturum katmanı ile ilgili hizmet vermektedir. (Wikipedia, 2021) 

Bu bilgileri öğrendikten sonra bu saldırı girişimimizde ‘responder’ isimli aracı kullancağız. 

Responder uygulaması ile LLMNR ve NetBIOS isteklerine sahte bir cevap (kendi IP adresimizi) gönderiyoruz. Hedef makinede bize kullanıcı adını ve kullanıcı parolasının hash halini gönderiyor. Biz bu hash bilgilerini kimi zaman kırıyoruz (john the ripper, hashcat) kimi zaman doğrudan yönlendirerek  ağdaki diğer cihazlar üzerinde oturum elde etme yoluna gidiyoruz.

Responder-uygulaması

Responderi çalıştırıyoruz.

saldırı-senaryoları-3.1

Hedef \\ufukcandal\’a bağlanmaya çalışırken, olmayan bir sunucuya erişmeye çalışmaktadır. Bu sırada girilen parola ise ele geçilmektedir.

saldırı-senaryoları-3.2

Kullanıcıının NTLMv2 parola hash’ini vermesi ile saldırgan dinleme yaptığı ekrana düşen credential
bilgileri;

saldırı-senaryoları-3.3

Elde edilen parolayı psexec ile erişim sağlayabiliriz.

saldırı-senaryoları-3.4

Kaynak:

Wikipedia.” Microsoft Windows”. 10.12.2022. https://tr.wikipedia.org/wiki/ .

Wikipedia. ”Link-Local Multicast Name Resolution”. 10.12.2021. https://tr.wikipedia.org/wiki/ .

Wikipedia. ”NetBIOS”. 10.12.2021. https://tr.wikipedia.org/wiki/ .

BgaSecurity. “Sızma Testlerinde Metodolojinin Önemi”. 11.12.2022. https://www.bgasecurity.com/.

Futurelearn. “Ethical Hacking”. 10.12.2022. https://www.futurelearn.com/.

Beyaz. “Sızma Testlerinde Bilgi Toplama Araçları”. 11.12.2022. https://www.beyaz.net.

Barış Koparmal. “llmnr ve poisoning nedir”. 10.12.2022. https://bariskoparmal.com/

Aslanbakan, E., (2020), Windows İşletim Sistemlerine Yönelik Saldırı ve Savunma Yöntemleri, (Pusula İstanbul)


Siber Güvenlik, Dijital Dönüşüm, MSSP, Sızma Testi, KVKK, GDPR, ISO 27001, ISO 27701 ve DDO Bilgi ve İletişim Güvenliği Rehberi başlıklarıyla ilgili teklif almak için lütfen tıklayın.


 

İçerik Hakkında:
Sosyal Medyada Paylaş:
Facebook
Twitter
LinkedIn
Telegram