HackTheBox - SecNotes - Writeup

  • Konbuyu başlatan Konbuyu başlatan mao7un
  • Başlangıç tarihi Başlangıç tarihi

mao7un

VM Creator
Moderatör
Katılım
22 Ocak 2024
Mesajlar
26
Tepkime puanı
40
Puanları
13
Merhabalar! HackTheBox platformundaki SecNotes makinesinin çözümünü elimden geldiğince anlatacağım. Keyifli okumalar!

Hızlıca bir port taraması yapıyorum. Çıktı olarak 80 ve 445 portlarının açık olduğunu görüyorum.

1.jpg


445 portunu numaralandırıyorum, ancak listelemeye bile yetkim olmadığını görüyorum.

2.jpg


Bunu gördükten sonra direkt olarak 80 portunu numaralandırıyorum. Siteye ilk girdiğimde bir login sayfası beni karşılıyor. Hemen admin kullanıcısının default olarak kullanılabilecek şifrelerini deniyorum :)

3.jpg


İşe yaramayınca, ilk olarak manuel SQLi (SQL injection) deniyorum.

4.jpg


Bunda da başarısız oluyorum ve SQLmap ile bir saldırı gerçekleştiriyorum

5.jpg


Başarısız olunca, artık yapmam gereken tek şey hesap açmaya geçiyorum.

6.jpg


Test adlı bir hesap oluşturuyorum ve bu hesapla siteye giriş yapıyorum.

7.jpg


Neredeyse her sekmede SQLi deniyorum ve en sonunda pes edip hesaptan çıkıyorum. Şimdiki stratejim ise direkt kullanıcı adımı bir SQLi payload'ı yapmak.

8.jpg


Bunu yaptıktan sonra sisteme aynı kullanıcı adıyla giriş yapıyorum.

9.jpg


SQLi'yi başarıyla uyguladık ve sitede görmememiz gereken notları ana sayfamıza düşürdük.

Bir notta, SMB protokolüyle ilgili çok fazla bilgi ediniyoruz.

10.jpg


"new-site" adlı bir paylaşımın olduğunu ve Tyler adlı kullanıcının şifresini öğrendik. Şimdi bu bilgilerle SMB'ye bağlantı sağlamaya çalışalım.

11.jpg


Dosyalari listelediğimde bir sitenin paylaşımının bu server üzerinden yapıldığını fark ediyorum

12.jpg


Burada, nmap taramasını hızlı olması için baştansavma yaptığım için, "new-site" paylaşımının bir alt alan adı (subdomain) olduğunu zannedip subdomain taraması yaptım. Bu hatalı yaklaşım nedeniyle baya bir zaman kaybettikten sonra, daha kapsamlı bir nmap taraması gerçekleştirdim.

aslında13bu.jpg


Tarama sonucunda 8808 portunun açık olduğunu farkediyorum. Siteyi ziyaret ettiğimde, aradığım sitenin bu olduğunu anlıyorum.

Hemen bir PHP payload'ı hazırlayıp buraya upload ediyorum. (Burada reverse shell almak istediğimiz için aynı zamanda nc.exe'yi de upload edebilirdik, ancak ben Windows'ta dosya indirme komutunu göstermek istedim.)

13.jpg


Şimdi reverse shell almak için komutlarımı giriyorum.

1) nc.exe'yi hedef makinemize indiriyoruz.

14.jpg


Burada, response status code 500 olsa dahi, Python serverımızın çıktısında nc.exe dosyasının başarılı bir şekilde indirildiğini görebiliyoruz.

15.jpg


2) reverse shell alma

16.jpg


17.jpg


User flag'i alıp bu kısmı bitiriyoruz.

18.jpg


Privilege Escalation

Bu kısımda, doğrudan servera girdiğimde dikkatimi çeken bir dosya oldu.

19.jpg


Bu dosyayı fake SMB server oluşturarak kendi makineme aktarmaya çalıştım, ancak başarılı bir şekilde aktarım yapamadım. Bu kısımda tıkandığım için makinenin info kısmından bir hint aldım ve bunun bir WSL olduğunu anladım.
Windows Subsystem for Linux (WSL) dosyalarının nerede olduğunu öğrenmek için Google'da yaptığım aramada çok fazla sonuç buldum.

buradan WSL'in pathine ulaşabilirsiniz


Bu dizine gidince karşıma Linux işletim sisteminin dosyaları çıktı. Buradan /root dizinine gittiğimde .bash_history dosyasının okunabilir olduğunu fark ettim. Okuduktan sonra, karşıma Administrator kullanıcısının şifresi çıktı.

21.jpg


Şimdi Administrator kullanıcısı ile bir shell alalım. Bunun için psexec'i kullanacağım.

22.jpg


Buraya kadar okuduğunuz için teşekkürler.
 
Geri
Üst