Fristileaks 1.3 Zafiyetli Makine Çözümü // Qwx

Qwx

Kıdemli Üye
30 Nis 2012
2,728
13
Fristileaks 1.3 Zafiyetli Makine Çözümü
APM7O5.png

Fristileaks 1.3
5xJRdf.png

İsim: Fristileaks 1.3
Yazar: Ar0xA
Seri: Fristileaks
Stil: Enumeration/Follow the breadcrumbs
Hedef: get root (uid 0) and read the flag file
Test cihazları: dqi, barrebas
Zorluk: Basic
5c586f6b04976667309416.gif
Makinemiz ilk açılışındaki görüntüsü. Bizlere kendi IP adresini de vermektedir. netdiscover komutumuzda da makinemiz gözükmektedir.

acilis.jpg


IP adresini ziyaret ettiğimizde bizi renkli bir görüntü karşılamaktadır. Kaynak kodlarına baktığımızda hedefimiz ve bize zaman dilimi zaman dilimi vermektedir.


site.jpg


Açık olan portların taramasını yapıyoruz. nmap -sS -sV <ipadress> Çıkan sonuçta sadece 80 numaralı web sayfası için olan portumuzun açık olduğunu görüyoruz.

nmap.jpg


Başka dizinlerin varlığını kontrol etmek amacıyla alt dizin taraması yapacağız. dirb http://<ipadress> dirb taramamız tamamlandı çıkan alt dizinleri ziyaret ediyoruz.

dirbbb.jpg


Dizinlerimizi ziyaret ettiğimizde karşılaştığımız sonuçlar.

dirbsonuclari.gif


robots.txt deki uzantıları da kontrol ettiğimiz zaman hep aynı fotoğraf ile karşılaşmaktayız ilginç bir şekilde /fristi uzantısına giriş yaptığımızda admin paneli karşımıza çıkmıştır. Aralarındaki bağlantı hepsinin birer içeçek olması sisi ve fristi ülkemizde bulunmadığı için bu bağlantıyı kurmak biraz daha zor olmaktadır.

adminp.jpg

Admin panelimize belli başlı ID ve PASS denemelerinde herhangi bir sonuç elde edemedik diğer sayfalara yaptığımız gibi kaynak kodlarına bakacağız ID PASS burada vermiş olabilir.

admink.jpg


Kaynak kodlarımızı incelediğimizde en başta bizim için yazılmış iki cümle bulunmaktadır. Bunlar bize yol gösterici olmaktadır. base64 kullandıklarını ve bunu temizlememiz gerektiğini bizlere söylemektedir. Bulduğumuz base64 kodunu bir txt içine yazdıktan sonra bunu çözümleyeceğiz. cat <dosyaadi>.txt | base64 --decode komutumuzu girdik ve ilk başta PNG yazısını görmekteyiz bu dosyanın aslı png olduğunu söylemektedir, şimdi ise bu kodu .png olarak çözümleyeceğiz. Bunu yapmak için kodumuz; cat <dosyaadi>.txt | base64 --decode > sifre.png Ardından png dosyamızı açıyoruz.

base64.jpg

sifre.png


Admin panel için bilgilerimiz elimizde mevcuttur. Şimdi panele geri dönüp bilgilerimiz ile giriş sağlayalım. Giriş bilgilerimiz; eezeepz::keKkeKKeKKeKkEkkEk Giriş yaptıktan sonra giriş başarılı demektedir altında da bir Upload File butonu bulunmaktadır.

Upload file'a tıkladığımız zaman bizi bir resim yükleme yerine götürmektedir.

resimyukle.jpg


Bu sayfayı gördüğümüz gibi aklımıza File Upload zafiyeti gelmektedir fakat dosya uzantılarını kontrol eden bir sistem var sadece .png .jpg .gif uzantılarını kabul ettiğini söylemektedir. İlgili shell için ; SHELL Onun içinde shell'imizin sonuna .png koyuyoruz. zararli.php.png adlı shellimizi başarıyla yükledik bize yüklenenlerin /uploads uzantısında olduğunu söyledi. Shell kodlarında girdiğimiz ilgili portumuzu dinlemeye alıyoruz. nc -lvp <port> Ardından bizde ilgili konuma gittik ardından yüklemiş olduğumuz shellimizin adını girdik ve bağlantı sağlandı.

shell.jpg


Giriş yaptıktan sonra root dizinine erişmeye çalıştık fakat giriş reddedildi. Ardından admin klasörüne girmeye çalıştık tekrardan reddedildi, eezeepz klasörüne giriş yapabildik içerisindeki notes.txt 'yi okuyoruz. Bizim için bırakılmış bir ipucu;

icerisi.jpg


ipucu.jpg


İpucundan aldığımız bilgiler eşliğinde kodlarımızı yazıyoruz; echo "/home/admin/chmod 777 /home/admin" > /tmp/runthis

ipucukodlar.jpg



Ardından tekrar denediğimiz zaman admin dizinine girişimiz başarılı oluyor. İki tane .txt dosyasını açtığımız zaman şifrelenmiş textler bulunmaktadır. Bunları çözeceğiz yukarıda çözmek için ilgili programlar verilmişti. cryptpass.py 'yi kullanıyoruz. Bulduğumuz şifrelenmiş textleri decode ettiğimizde karşımıza LetThereBeFristi! çıkmaktadır.


admin.jpg


Giriş için bir kullanıcı adı istemektedir bu kullanıcı adını biraz dolaşma sonucunda buluyoruz. Kendileri şifrenin yanındaymış :) fristigod Sadece ls değilde ls -la komutunun daha işlevsel olduğu çıkarımını da burada yapmaktayız. Gözden kaçan ilgili yer için resim linki ; -TIKLA-

Bilgileri elde ettik ve giriş yapıyoruz. Evet giriş yaptıktan sonra da kolay bir şekilde bize flagımızı vermemekte giriş sonrası epey bir uğraştırdı .secret_admin_stuff dizininde bir doCom adlı dosya bulunmaktadır bu dosyayı açmak istediğimizde iyi deneme ama yanlış kullanıcı şekilde bir hata ile karşılaştık yetkilerimizi roota yükseltmek adına bu komutu giriyoruz. sudo -u fristi .secret_admin_stuff/doCom /bin/sh Giriş yaptıktan sonra /root dizinine geliyoruz ve içerisinde bulunan .txt doyasını okuyoruz sonunda flagımıza erişim sağlıyoruz.


flag.jpg

 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.