THM C0lddBox CTF Writeup ||

The Serum

Katılımcı Üye
13 Ocak 2018
365
154
/etc/shadow
Herkese Merhabalar. Bu gün sizlere TryHackMe'deki C0lddBox makinesini çözmeye çalışacağım. İyi okumalar.


Makine Linki
Zorluk Seviyesi: Kolay



1.Recon(Bilgi Toplama)


İlk olarak Nmap ile ip adresini bi tarıyoruz



Kod:
nmap -A -T4 -v İP


Parametrelere bir göz gezdirecek olursak



-A parametresi = Agresif bir tarama yapıcağımızı söylüyoruz


-T4 parametresi = Tarama hızımızı söylüyoruz


-v parametresi = İşlemleri detaylı bir şekilde görmemizi sağlıyor



3D1Pz7.png


Gördüğünüz gibi Nmap çıktımızdan sadece 80 portunun açık olduğunu görüyoruz. 80.portu görür görmez aklımıza 2 şey gelmeli. 1. gobuster(Veya eşdeğer bir uygulama dirb gibi) çalıştırmalıyız, 2. ise tarayıcımıza gidip ip adresini adres çubuğuna yapıştırıp siteye gitmek


İlk olarak bakalım ne tarz bi siteymiş



4unAzO.png


Sitemiz gördüğünüz gibi blog tarzında bir site şimdide dizin bulma programımızı(gobuster) çalıştıralım



Kod:
[COLOR=slategray]gobuster dir -u İp -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt [/COLOR]


NuPeDy.png




Sitede hidden adında bir dizin olduğunu görüyoruz ve hemen o dizine gidiyoruz.


PRSQXC.png



Burada bizi bir yazı karşılıyor. Bu yazının içinde geçen şahıs isimlerini kaydedelim belki ileride işe yarayabilirler. Şimdi buraya kadar her şey güzel peki devamında ne yapıcaz ?


2. Sisteme Giriş Ve Reverse Shell


Şimdi sitemiz Wordpress'ti. Demekki giriş panellerinede bakabilir kolaylıklar.



Kod:
[COLOR=slategray]İp/wp-login.php[/COLOR]


7L2R5F.png



Bakınız burda ne varmış. Admin paneli. Tamda istediğimiz. Aklımıza kenara yazdığımız şahısların isimleri geldi tek tek hepsini deniyoruz ve C0ldd kullanıcısının hesabının olduğunu fark ediyoruz. Hemen terminalimiz açıyoruz ve Wpscan'in bf özelliğini kullanıyoruz.


Kod:
[COLOR=slategray]wpscan --url http://İP --usernames C0ldd --passwords /usr/share/wordlists/rockyou.txt[/COLOR]


Wl9QOe.png



Veee sonuç


0XH0YA.png



Elimizde artık bir kullanıcı adı bir de şifre var hemen dashboarda girmeye deniyelim


snwUWX.png



Giriş başarılı şimdide kendimize makineye girmek için bir kapı açalım. Sol tatafta gördüğünüz seçenklerden ilk olarak Appearance kısmına tıklıyoruz ve en altta yer alan editör kısmına giriyoruz. Burada sağ tarafta sayfalarımız var kolaylık açısından 404.php yazan sayfaya tıklıyoruz ve o sayfanın php kodlarını görüyoruz burayı tamamen temizleyip php reverse shellimizi yapıştırıyoruz. Ağaıdaki linkten kodlara ulaşabilirsiniz.



PHP Reverse Shell




NOT: Kodların içinde değiştirmemiz gerekn 2 yer var biri ip adresi diğeride port. Portu değiştirmesenizde olur ancak ip adresimizi değiştirmek zorundayız. Terminalden ifconfig yazarak ip adresimizi öğrenebiliriz.

CwAdYF.png




Kaydettikten sonra terminalemizden verdiğimiz portu dinlemeye başlıyoruz


Kod:
[COLOR=slategray]nc -nvlp 123[/COLOR]4


DrWDc6.png




Terminalden portu dinlemeye aldıktan sonra tekrar tarayıcımıza gelip reverse shellimizi yüklediğimiz sayfayı açıyoruz


Kod:
[COLOR=slategray]http://İp/wp-content/themes/twentyfifteen/404.php[/COLOR]


NnW2Ip.png



Sayfaya girdikten sonra boş bir sayfada yükleme yapıyormuş gibi gözükecek. Eğer dediğim gibi olduysa shellimizi başarlı bir şekilde sisteme aktarmışız ve makineye girmişiz demektir. Eğer bu şekilde olmassa yüklediğiniz kodları ip adresini ve sayfayı kontrol edip tekrar deneyin.


Sayfaya girdikten sonra terminalimize dönüyoruz ve makineyle bağlantı kurduğumuzu görüyoruz.


9pPSXs.png




Burdan sonra işlem kolaylığı açısından kendimize bir python shell açmamız lazım.


Kod:
python3 -c 'import pty;pty("/bin/bash")'


Şuanda makinedeyiz ama bir şey değiştirmek bir şey okumak için iznimiz yok. Bu sepepten dolayıda kendimizi bir üst kullanıcıya geçirmemiz gerekli. Nasıl yapıcaz diye düşünüyor sitemizin wp olduğu aklımıza tekrar geliyor ve site dosyaları arasından database şifresini bulabiliriz. Sitenin olduğu dizine gidip oradan öğrenmeliyiz.



zeQzu2.png



wp-config.php dosyasında aradğımız şifreyi bulabiliriz. Cat komutu ile dosyanın içindekileri okuyabiliriz.



97cBiR.png



Şifremizi öğrendiğimize göre artık c0ldd kullanıcısına geçebiliriz. Bunun için su komutunu kullanmamız yeterli


Wmmw5K.png



Artık user.txt dosyasını okuyabilir haldeyiz.


Kod:
[COLOR=slategray]cd /home/c0ldd[/COLOR]


3RS5Df.png



Birinci bayrağımızıda almış olduk. Sıra 2. bayrak olan root.txt dosyasında


3.Privilege Escalation(Yetki Yükseltme)


1. Bayrağımızı almıştık. 2.bayrağımızı almamız için sistemde root olmamız gerekli. Yetki yükseltmenin bir çok farklı yolu var. Bunuda ayrı bir konuda anlatabilirim. Makinemize devam edelim. Makine terminaline gelip şu komut satırını yazalım



Kod:
[COLOR=slategray]sudo -l[/COLOR]


Bizden sudo şifresini istiyor. Korkmamıza gerek yok çünkü biz zaten sudo şifresini sistemden c0ldd kullanıcısı için almıştık. O şifreyi burada kullanıyoruz.



ivV6O9.png



Buradaki amacımız root tarafından bizim şuandaki kullanıcımıza verilen sudo ile çalıştırılabilir program yetkilerimizi görmek


Burada 3 farklı program verilmiş. Birini kullanmak bizim işimizi görür. Şimdide kafalarda tek bir soru biz programla nasıl root olucaz ? Bunun için harika bir site önerim var sizlere. Aşağıda bırakacağım site çoğu ctf çözümde işinize yarayacaktır.


GTFOBins



KOoF6E.png



Siteye girdikten sonra arama kısmına makineden yetki yükseltmek için seçtiğimiz bir programı yazıyoruz.(Ben kolaylık açısından vim programını seçtim)


1J0ECm.png



Orada vim yazan yere tıkladıktan sonra bir sayfa gelicek önümüze buradan üst kısımda yer alan etiketlerden sudo etiketini seçiyoruz.


qj9t17.png



Karşımızda 3 tane seçenek var bunlardan ilkini deniyoruz ilki olmazsa diğerlerinide kullanabiliriz. a şıkkında yer alan komutu makine terminaline yapıştırıyoruz ve entera basıyoruz.



sMs18D.png



Arka planda program bizim yetkimizi yükseltmeye çalışıyor. Bu arada ekranda yazılar çıkacaktır. Hiç bir yere basmayın. Yapıştırdığımız kod bizim yerimize her şeyi halledecektir.


İşlem bittiğinde bu ekran bizi karşılayacaktır.


p1ACbF.png



daha sonra root klasöründeki root.txt yi okuyabiliriz


CGoa5e.png



Evet saygı değer dostlar makinemizin çözümü bu kadardı umarım yeterince açıklayıcı olmuştur. Bir sonraki konumda görüşmek üzere. Kendinize iyi bakın






 
Moderatör tarafında düzenlendi:
Ü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.