PriviaHub Holmes Makinesi Çözümü

Bu yazıda PriviaHub platformunda bulunan ve emekliye ayrılan “HOLMES” adlı makinenin çözüm adımları anlatılmaktadır. İlk olarak; makinede bulunan açık portların, açık portlar üzerinde çalışan güncel servislerin ve işletim sisteminin tespit edilmesi için tarama başlatıldı. Tarama işlemi için NMAP aracı kullanılarak, nmap -A <<IP_Adresi>> -v komutu çalıştırıldı. -A parametresi SYN taraması, güncel servis versiyon taraması, işletim sistemi taraması ve traceroute taraması yapan bir parametredir. -v parametresi ise detaylı bilgi vermek amacıyla kullanıldı.

 Yapılan tarama işlemi sonucunda 80, 445 ve 3389 numaralı TCP portlarının açık olduğu ve 80 numaralı port üzerinde IIS 7.0 servisinin çalıştığı tespit edildi.  Resim 1’de tarama sonuçları yer almaktadır.

1. ipucu “Kullanıcı adı makine adından anlaşılabilir.” olarak verildi. Hayali dedektif kahraman “Sherlock Holmes” akıllara getirilerek, makinede tanımlı olan düşük yetkili hesabın kullanıcı adının “sherlock” olduğu anlaşılabilir. Bu kullanıcıya ait parolanın tespit edilmesi için, Brute-Force saldırısı gerçekleştirilmelidir. Metasploit konsol uygulaması çalıştırıldı ve SMB servisine yönelik Brute-Force saldırısı gerçekleştirmek için “smb_login” modülü seçildi. Resim 2’de smb_login modülünün seçenekleri yer almaktadır.

RHOSTS parametresine makinenin IP adresi, SMBUSER parametresine kullanıcı adı ve PASS_FILE parametresine “rockyou” kelime listesinin dizin yolu atandı. Ardından “run” komutu kullanılarak Brute-Force saldırısı başlatıldı. Resim 3’te, parametrelere değerler atanmaktadır.

Yapılan Brute-Force işlemi sonucunda, sherlock kullanıcısına ait parolanın “!Paxxxxxxx” olduğu tespit edildi.  Resim 4’te, parolanın tespit edildiği ekran görüntüsü yer almaktadır.

Elde edilen parola kullanılarak RDP servisi üzerinden makineye erişim sağlandı. Resim 5’te RDP oturumu yer almaktadır.

Makine üzerinde Metasploit modülleri ile işlemler yapmak için, makine üzerinden meterpreter oturumu elde etmek üzere, “msfvenom” aracı kullanılarak zararlı bir payload dosyası oluşturuldu. Payload dosyası, “windows/meterpreter/reverse_tcp” adlı payload kullanılarak, hedef sistemden 192.168.253.161 IP adresli saldırgan makinenin 4444 portuna ters (reverse) bağlantı oluşturacak şekilde ayarlandı.  Resim 6’de payload oluşturmak için kullanılan msfvenom komutu yer almaktadır.

holmes.exe adlı payload dosyası RDP üzerinden makineye yüklendi.

Metasploit konsol uygulaması üzerinde “handler” modülü seçildi ve dinleme işlemi başlatmak için gerekli parametrelere değerler atandı. Ardından exploit -j komutu kullanılarak arkaplanda bir dinleme işlemi başlatıldı. Resim 8’de handler modülü üzerinde, gereken parametrelere atanan değerler yer almaktadır.

holmes.exe adlı dosya çalıştırıldı ve hedef sistem üzerinden meterpreter oturumu elde edildi.

“privflag.txt” dosyasının okunabilmesi için hak ve yetki yükseltme işlemi yapılmalıdır. Hak ve yetki yükseltme işlemi için, sherlock kullanıcı adı bir çağırışım yapabilir. Sherlock adlı script, makine üzerinde yapılan güncelleştirmeleri inceler ve Resim 11’de yer alan hak ve yetki yükseltme zafiyetlerinin olup olmadığını tespit eder.

Makinenin işletim sistemi Windows 2008 olduğu için Powershell bulunmamaktadır. Bu nedenle script makine üzerinde çalıştırılamaz. Ancak listede yer alan zafiyetlere ait güncelleştirmelerin makine üzerinde kurulu olup olmadığı incelenerek, kullanılabilecek hak ve yetki yükseltme zafiyeti tespit edilebilir.

MS10-092, “Task Scheduler” servisinden kaynaklanan ve düşük yetkili bir kullanıcı hesabı üzerinden SYSTEM haklarına erişilmesine olanak veren bir güvenlik zafiyetidir. Makine üzerinde bu zafiyeti engelleyen bir güncelleştirme yapılmamıştır.

Bu nedenle Metasploit konsolu üzerinde bu zafiyet için bir modül araştırması yapılabilir. Resim 13’te zafiyete ait modül araması yapıldı ve ms10_092_schelevator adlı modül bulundu.

Modül seçildi ve “show options” komutu kullanılarak seçenekler listelendi. Modülün kullanılabilmesi için, SESSION parametresine düşük yetkili hesap ile elde edilen oturumun ID değeri atanmalıdır ve bir payload seçilmelidir.

SESSION parametresine sherlock kullanıcısı üzerinden elde edilen meterpreter oturumunun ID değeri atandı. Ters bağlantı elde etmek için windows/meterpreter/reverse_tcp modülü seçildi ve exploit komutu ile yerel exploitation işlemi başlatıldı.

Hak ve yetki yükseltme işlemi tamamlanarak, SYSTEM haklarıyla yeni bir meterpreter oturumu elde edildi.