HackTheBox - Querier - Writeup

mao7un

VM Creator
Moderatör
Katılım
22 Ocak 2024
Mesajlar
26
Tepkime puanı
38
Puanları
13
Merhabalar. Bugün, HackTheBox platformundaki Querier makinesinin çözümünü anlatacağım.

Her makinede olduğu gibi, burada da nmap taraması ile işe başlıyorum.

1


SMB ve MSSQL portları açık. Direkt olarak numaralandırmaya SMB'den başlıyorum.

Anonymous olarak SMB paylaşımlarını listeleyebildim.

2


Reports paylaşımı dikkatimi çekiyor ve Anonymous olarak buraya bağlanmaya çalışıyorum.

3


Bir Excel dosyası karşıma çıkıyor ve bunu buradan lokal makineme indiriyorum.

Bu Excel dosyasını LibreOffice aracılığıyla açıyorum (LibreOffice ücretsiz bir office uygulaması).

Excel dosyasını açtığımda içeriğinde hiçbir şey olmadığını görüyorum (görünürde).

4


Bu uyarı butonunun en sağında "show macros" diyerek makroları görüntülüyoruz.

Buradaki dosyaları kurcaladığınızda bir dosya dikkatinizi çekecektir.

5


SQL Server'in (MSSQL) giriş bilgileri elimizde bu bilgiler ile MSSQL'e giriş yapıyoruz

6


-windows-auth parametresi, Windows authentication sistemini kullanır ve varsayılan olarak kapalıdır. Eğer bu parametreyi komut satırına eklemazseniz MSSQL'e giriş yapamazsınız.

MSSQL'e giriş yapabildim. İlk olarak MSSQL istemcisi sayesinde sunucuda komutları yürütebiliyor muyum veya komut yürütmeyi etkinleştirebiliyor muyum, bunu kontrol ediyorum.

7


Görüldüğü gibi, komut çalıştırmayı aktif etmeye de yetkimiz yok ve komut yürütme de zaten kapalı.

Komut yürütme dışında, bir diğer komut olan xp_dirtree'yi kullanarak client içerisinde belirtilen dizinin içeriğini göstermeyi deniyorum. Tabii bunu kendi lokal makinemdeki bir dizini görmek için (aslında direkt olarak sahte SMB server'a bağlanmak için) kullanıyorum :)

Bunun için ihtiyacım olan bir fake SMB server (alternatif olarak Responder da kullanılabilir).

8


SMB sunucumu başlattım. Şimdi bu sunucaya uzaktan bağlanmayı deneyeceğim. Bu şekilde MSSQL sunucusuna bağlandığım kullanıcının yani servis kullanıcısının hash'ine ulaşabilirim.

9


Herhangi bir sorun çıkmadı. Şimdi SMB sunucumuzun çıktısına bir bakalım.

10


mssql-svc kullanıcısının hash'i düştü :)

Şimdi JohnTheRipper ile bu hash'i kıralım.

John


mssql-svc kullanıcısının şifresi "corporate568" olarak belirlendi.

Bu bilgilerle sisteme evil-winrm aracılığıyla (port 5985) girmeye çalışıyorum ancak başarısız oluyorum. Bu nedenle, bu bilgilerle tekrar MSSQL istemcisine bağlanıyorum ve bu sefer xp_cmdshell komutunu aktive ederek komut çalıştırmayı başarıyorum.

11


Şimdi sırada reverse shell almak var.

nc64.exe dosyasını karşıya yüklememiz gerekiyor, ancak burada herhangi bir şekilde dosyayı indirtemedim (certutil, wget, vb.).

Tekrar fake SMB sunucusu oluşturuyorum.

12


SMB sunucusu oluşturduğum dizinde mutlaka nc64.exe dosyası bulunmalıdır.

Şimdi hedef makine ile bu sunucuya bağlantı kurmayı deneyelim.

13


Bu komut sayesinde, lokal makinemizdeki "file_upload" paylaşımını "k:" diski üzerine çıkarttık. Artık buradan dosya kopyalayabiliriz.

14


İlk komutta, herhangi bir yetki hatası almamak için C: dizini altında bir Temp klasörü oluşturdum. İkinci komutta, file_upload paylaşımını çıkarttığımız K: diskindeki nc64.exe dosyasını alıp az önce oluşturduğumuz Temp dizinine koyduk. Son komutta ise nc64.exe ile reverse shell almayı başardık.

Artık sistemin içerisindeyiz ve user flagi aldık.

15


SeImpersonatePrivilege yetkimiz olduğunu görüyoruz. Burada işletim sistemini öğrendikten sonra potato saldırılarını deneyebilirsiniz (rogue, rotten). Juicy Potato bu versiyonlarda düzeltildi. Ben potato saldırılarını es geçerek, direkt olarak PrintSpoofer64.exe'yi sunucuya indirip (eğer SMB sunucusunu kapatmadıysanız, paylaştığınız dizine PrintSpoofer64.exe'yi kopyalamanız yeterli olacaktır.) SYSTEM shell'ini almayı denedim.

16


17


ve SYSTEM shellini alabildik flagleri okuyup makineyi kapatıyorum.

18


Buraya kadar okuduğunuz için teşekkür ederim.
 
Son düzenleme:
Geri
Üst