billu: b0x CTF - Pentest Çözümü / Pentester

Pentester

Özel Üye
8 Eyl 2016
1,646
1,001
Merhaba arkadaşlar, bugün çözerken çok zevk aldığım bir pentest lab'ını sizlere anlatacağım. Hemen başlayalım, CTF'mizi sanal makineye import ettim. Konu sonunda link vereceğim.
Şimdi, hedef makinemizin ip adresini öğrenmek için yerel ağda tarama yapalım.

ER2q4Z.jpg


Kırmızı ile işaretlediğim alan hedef makinemizin İP adresi, bende bu İP adresini nmap ile port taraması yaparak keşfe başlayayım. Her işin başı port taramasıdır!

pW2oOr.jpg


80 ve 22 portları açık, yani 80 portunda bir web uygulaması çalışıyor,
22'de malum SSH portu. Şimdi, makinenin İP adresini tarayıcıya yazarak girelim bakalım, ne çıkacak karşımıza.


N1GWVY.jpg


"SQL Injection becerilerinizi sergileyin" diyor, ben bypass kodları denedim sonuç nafile. Zaten o kadar basit olamaz, bizi oyalamak için olan bir sayfa. Peki şimdi ne yapacağız? web uygulamasında dizin keşfini gerçekleştireceğiz, bakalım başka ne sayfalar var, illaki vardır. Dirb ile tarayalım.

jWAjvg.jpg


200 sonucunu döndürdüğü sayfalar tespit edilen sayfalardır. "/add" sayfasına girdim beni bir upload sayfası karşıladı, shell yüklemeyi denedim ancak olumsuz oldu ve yoluma başka keşiflerle devam etmeye başladım. Diğer sayfaları gezdim, "in" sayfası phpinfo sayfası idi, buradan sistemin dizin yapısını elde ettim.

9dbE4Q.jpg


Demek ki, web dosyaları "/var/www" dizininde, işimize yarayabilir bir bilgi bu, dursun kenarda, diğer sayfaları inceleyelim.

"/panel" adlı php dosyasına baktım, bizi index.php'ye atıyordu, onda da vardır bir şey diyerek es geçtim.

En sonunda, "test" adlı php dosyasına giriş yaptım, ve olay burada başlıyordu!

y3jRoy.jpg


"file" adlı bir parametreden bahsediyor, bende burada bir zafiyet olabilir diyerekten, "test.php" dosyasında, file POST parametresinde Local File Inclusion denedim.

JlW62Y.jpg


Bakalım, passwd dosyasını çekecek mi?

7NQPAY.jpg


Ve bomba! passwd dosyasını okuyabiliyoruz. Ben bunu bir de kali de curl ile çekeyim.

aGg0L4.jpg


Gördüğünüz gibi, file parametresi üzerinde local file inclusion bulnmakta, ama biz bunu nasıl kullanacağız, config çekip SSH ve PhpMyadmin erişimi elde etsek çok daha iyi olur. Acaba phpmyadmin sayfası var mı? dizin taramasında çıkmadı? acaba farklı adda mı?

Bende başka bir wordlist ile tekrar tarayayım madem.

kW0J6J.jpg


Bom! iki dizin daha bulduk. "/phpmy" phpmyadmin sayfası, "uploaded_images" ise 3 adet resmin tutulduğu bir dizin. Config dosyası okusak phpmyadmin ile giriş yapabilir miyiz? veya SSH ile direk sisteme de girebiliriz, kafamda deli sorular. Acaba config dosyası hangi dizinde, bir tahmin yapayım.

Kod:
/var/www/phpmy/config.inc.php

Şöyle bir deneme yapalım, curl ile isteği yollayalım, sonuca bakalım.

pW292J.jpg


Bomba! Local File Inclusion zafiyeti içeren parametremiz üzerinden config dosyasını okudum. "User: root Password: roottoor" bu bilgiler SSH bağlantı bilgileri ise,direk root'uz :) deneyelim bakalım.


komutunun ardından, "roottoor" olarak şifremizi girdim, ve sonuç:


N1GWJY.jpg


Ve sisteme root hakları ile eriştik :) ama beni kesmedi, SSH bilgilerini elde edemeseydik, web uygulaması üzerinden ne yapabilirdik? /panel dosyası niye index sayfasına atıyordu bizi? /c sayfası niye boştu?

Şimdi /c sayfasını LFI zafiyetimiz ile okuyalım.

XXlJGo.jpg


Bom! "billu" ve "b0x_billu" neyin bilgileri idi, acaba phpmyadmin mi? deneyelim.

Bom! giriş yaptık, auth adlı bir tablo vardı, baktım user ve pass bilgisi var acaba neyin?

mkR5AV.jpg


Acaba index sayfasındaki user ve pass alanı mı? deneyelim./B]

qWyRXD.jpg


İlginç! bizi panel sayfasına yönlendirdi giriş yapınca. Hatırlarsanız, panel sayfasına giriş yaparken de, index sayfasına atıyordu. Sırlar yavaş yavaş çözülüyor :)

29P5Bq.jpg


Karşıma bir upload sayfası geldi. Bir de aklıma şu geldi, biz ikinci dizin keşfinde, "uploaded_images" sayfası bulmuştuk, acaba buradan yüklenen dosyalar, oraya mı gidiyordu? Test olarak bir jpg dosyası yükledim ve aynen oraya gitti. Ben de buradan reverse shell yükleyerek meterpreter oturumu elde edip, sisteme bir de öyle sızıp, root olmayı aklımdan geçirdim. Ancak bazı sorunlardan ötürü işlemi yarım bırakmak zorunda kaldım, ancak olayı siz anladınız, elde edilen meterpreter oturumu üzerinden kernel sürümüne uygun root exploit'i sunucuya wget komutu ile çekip çalıştırdıktan sonra sistemde root hakları sağlanıyor. Bu makinenin çözümü de bu kadar. SSH bağlantısı ile zaten root olmuştuk.

İndirme Linki:
https://download.vulnhub.com/billu/Billu_b0x.zip
 
Son düzenleme:

Phoique 7

Katılımcı Üye
14 Mar 2017
505
1
Manisa
Pentest ile alakam olmasa da konuyu ne kadar kaliteli yazdığını gördüğüm için gelip eline sağlık demek istedim.
 

Belvando

Üye
3 Haz 2017
249
15
Mantı V2
Efendim bende bu konuyu daha önceden paylaşmıştım ve buna benzerleride konularımda mevcut.
Ancak sizin izlediğiniz yol daha farklı olmasından ötürü Ellerinize sağlık.
 

Pentester

Özel Üye
8 Eyl 2016
1,646
1,001
Efendim bende bu konuyu daha önceden paylaşmıştım ve buna benzerleride konularımda mevcut.
Ancak sizin izlediğiniz yol daha farklı olmasından ötürü Ellerinize sağlık.

Sizin konuları takip ediyorum, siber güvenlik kategorisinde baktım aynısını bulamadım, megersem bilgisayar güvenliğinde imiş. Zaten farklı şeyler var benim konumda, o yüzden sıkıntı yok.
 
Ü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.