HackTheBox OpenAdmin Writeup (Türkçe)

  Herkese merhabalar, uzuuunca bir süredir herhangi bir şey yazmıyordum ancak HackTheBox daki makinelerin writeuplarını yazmaya karar verdim. Makineler emekli oldukça eğer o makineyi çözmüş isem çözümünü Türkçe olarak yayınlamaya çalışacağım. Neyse fazla boş yapmadan makinenin çözümüne geçelim. OpenAdmin benim Hackthebox üzerinde çözdüğüm ilk makine, kendisi 20 puanlık mütevazı puanı ile Easy kategorisinde bulunmakta.

  İlk oarak her zamanki gibi nmap taramasıyla başlıyoruz.

    Hackthebox üzerinde makinelerin nmap taramaları genellikle uzun zamanlar alıyor, belki de bende vip olmadığı için vs olabilir bilmiyorum ama ben genelde önce ilk 1000 port için tarama yapıyorum. Çıkan sonuçlara bakarken de tüm portlar için tarama yapıyorum.

  Çıkan sonuçlara baktığımızda top 1000 portta sadece 22 ve 80 numaralı portlar açık. Şu an elimizde herhangi bir username ve password olmadığı için 22 portunda çalışan ssh servisini bi kenara bırakıp 80 portuna bakıyoruz.
Dirb ile tarama yaptığımızda işe yarar bir şey bulamadım ancak makine ismi ile arama yapınca open net admin cms olabileceğini düşünerek deneme yapıyoruz.(gobusterda one directory çıkıyormuş)


  "ona" için tarayıcıdan bakınca bizi bu sayfa karşılıyor. Login vs olamadığım için versiyon bilgisinden faydalanıp hemen bi exploit arıyoruz.Bu versiyon için arama yaptığımızda https://www.exploit-db.com/exploits/47691 exploitini buluyoruz.

  Bu exploiti makinemize indirip çalıştırıyoruz ancak dosya windows ortamında hazırlanmış olsa gerek ki bize \r lerden dolayı hata veriyor.
(yav niye hata veriyor acaba diye düşünenler için buyrun: https://en.wikipedia.org/wiki/Newline



  Dosyadaki \r lerden arınmak için dos2unix ile dosyamızı unix formatına dönüştüryoruz ve çalıştırıyoruz.


  Ve pek de işlevleri olmayan bir shell bizi karşılıyor, cd komutu çalışmıyor, ls ve grep komutları çalışıyor. Shell geldikten sonra dosyalarda dolanarak işe yarar bi şey var mıdır diye bakınıyoruz. (Bu makine ilk makinem olduğu için Linpeas vs bilmiyordum o yüzden enum manuel yapıldı :D)
  Bir arkadaş tavsiyesi üzerinde grep komutunu kullanarak dosyalarda "pass, db_pass, password" stringleri var mı diye bakınıyoruz ve işe yarar bir database şifresi buluyoruz.
grep -Ri db_pass

.
.
db_passwd = n1nj4W4rri0R!
-R ve -i nin ne işe yaradığını görmek için : https://linux.die.net/man/1/grep


  Ama bu passwordu kullanmak için usernameler lazım. ls ../../../home şeklinde bir komutla
kullanıcıları listeliyoruz. Jimmy ve joanna isminde iki kullanıcımız var.
İkisi için de ssh deniyoruz ve jimmy ile login oluyoruz.



  Ardından joanna ile ilgili şeyler bulmamız lazım. Aynı grep komutu ile directorylerde arama yapıyoruz ve elimize önemli iki dosya geçiyor.



  Dosyaların içeriklerine bakalım.


  Main.php ye istek attığımızda bize id_rsa dönen bir komut çalışıyormuş(Ben öyle anlamıştım yani :D). Ayrıca ninja şifresini de unutmayın diyor. Başta bulduğumuz ninjawarrior tarzındaki şifreden bahsediyor. Diğer dosyaya bakalım.


  Bu dosyada da üst dosyadaki içeriği DocumentRoot olarak ayarlanmış bir konfigürasyon dosyası var. Orada da localhostun 52846 portunu dinlemekten bahsetmiş.
Hemen curl ile istek atıyoruz ve id_rsa dönüyo :)


  Çıkan bu id_rsa I kırarak bir şifre almamız lazım. Önce bu keyi kaydedip ssh2john ile john’un kırabileceği formata dönüştürüyoruz.


  Şifre “bloodninjas” mış. Ssh ile joanna için bağlanmayı deniyoruz.


USER GG!

  Root almak için ilk aklımıza gelen “sudo -l” komutunu kullanarak şifre olmadan root yetkisiyle neler yapabileceğimize bakıyoruz.


  https://gtfobins.github.io/gtfobins/nano/ adresinden de bunu nasıl kullanacağımızı öğreniyoruz.(Baya güzel site, tavsiye edilir :))
sudo /bin/nano /opt/priv
ctrl+r
ctrl+x
Yukarıdaki adımları uygulayarak nano da komut çalıştıracağız.


  Gelen satırda
reset; sh 1>&0 2>&0
inputunu veriyoruz ve root olarak shell geliyo :)


ROOT GG!

  Umarım anlaşılır ve faydalı bir yazı olmuştur. HTB ye başladığım zamanlarda bana makine çözümlerinde yardımcı olan noi ye buradan teşekkürler. Bir sonraki writeupta görüşmek üzere...(İşlemler tecrübesizlikten dolayı biraz körlemesine ilerlemiş olabilir, official writeupı da okumanızı tavsiye ederim :D)


Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

rgbCTF Writeup(Rev/Pwn)

Overthewire Bandit Çözümleri