- 16 May 2022
- 18
- 9
Merhaba değerli Turkhackteam kullanıcıları
Merhaba değerli Turkhackteam kullanıcıları
bu konumda Tryhackme de yer alan Root Me adlı
bu konumda Tryhackme de yer alan Root Me adlı
CTF i çözeceğiz
CTF i çözeceğiz
Odaya göz atmak için TryHackMe | RootMe bağlantısını ziyaret edebilirsiniz. Bu odada privilege escalation (yetki yükseltme), take the Shell (kabuk alma) ve brute force (kaba kuvvet saldırısı) konularını öğrenmiş olacaksınız.
1-)Bu soru bize nmap taramasında kaç portun açık olduğunu sormaktadır. ‘Nmap’ genel anlamda ağ taramak ve zafiyet tespiti yapmak için kullanılan açık kaynaklı bir araç olarak bilinir. Nmap, sistemlerde ne tür cihazların çalıştığını ortaya koymak, ana makinelerin sunduğu hizmetleri öğrenmek, açık bağlantı noktaları bulmak, güvenlik riskleri tespit etmek için oluşturulmuştur. Soruyu cevaplamak için terminal ekranına nmap -sS -sV -sC -O -Pn [Makine IP] komudunu kullanacağız. Ama ondan önce nmap için kullandığımız parametrelerin ne olduklarına bakalım:
-sS Daha gizli tarama olması ve hızlı sonuç vermesi için kullanılan parametredir.
-sV Açık olan portlardaki versiyonları tespit etmek için kullanılan parametredir.
-sC Zafiyetleri taramak için kullanılan parametredir.
-O İşletim sistemleri tespiti için kullanılan parametredir.
-Pn Ping atılmadan tarama yapılması istendiğinde kullanılan parametredir.
Nmap taraması sonucunda 22/tcp ssh service ve 80/tcp http service portları açıktır yani iki tane aktif porta sahiptir.
2-)Bu soruda Apache'nin hangi sürümünün çalıştığını sormaktadır.
İşaretli yerde de gördüğümüz üzere apache ‘nin sürümü 2.4.29 dur.
3-)Bu soru 22 numaralı bağlantı noktasında hangi hizmet çalışıyor sorusunu sormaktadır.
İşaretli yerde de görüldüğü gibi 22 numaralı bağlantı noktasında ssh hizmeti çalışıyor.
4-) Bu soru GoBuster aracını kullanarak web sunucusundaki dizinleri bulmamızı istiyor. Gobuster, bir dizin keşfi yapan burte-force (kaba kuvvet) saldırı programıdır. Gobuster aracı daha çok web sitesindeki dizleri bulmak ve subdomain bulmak için kullanılmaktadır.
Bu soruda ilk başta makinemizin IP adresini mozilla firefox ‘ un arama moturuna yazıp bu IP adresine gidelim.
Yukarıda da görüldüğü gibi bir web sayfası alıyoruz. Sitenin sayfa kaynağına (page source ) bir bakalım
Web sitesinin sayfa kaynağına baktığımızda herhangi gibi önemli bir şey ile karşılaşmıyoruz.
Şimdi gobuster aracını kullanalım.
Burda yine dizinleri (directory) bulabilmek için dir parametresini kullanılması gerektiği belirtilmiş. Dizinleri bulmak için gobuster dir -u http:// [Makine IP] -w/usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt komudunu kullandım.
Böylece dizinleri bulduk.
5-) Bu soruda gizli dizin nedir diye sorulmaktadır.
Gizli dizi /panel/ dir.
Yüklemek ve ters bir kabuk almak için bir form bulun ve bayrağı bulun.
Burada ilk görevimiz kabuk almak olmalı. Bu yüzden ‘php-reverse-shell’ adlı bağlantıyı indirmemiz gerekmekte. ‘pentestmonkey reverse shell’ adlı siteye gidiyoruz ve php-reverse- shell i indiriyoruz.
İndirdiğimiz php-reverse-shell dosyasını değiştirilebilir hale getirmek için chmod komutunu kullanıyoruz.
Daha sonra ise http://machıne_ıp/panel/ isimli siteye bu php dosyasını yüklemeye çalıştığımızda aşağıdaki gibi php uzantılı dosyaların yüklenemeyeceğini söyleyen bir hata ile karşılaşıyoruz.
Dosyanın uzantısını php(1-7) kadar veya html olarak değiştirmemiz gerekiyor. Html olarak değiştirmeyi tercih ederek aşağıdaki komutu kullanıyoruz.
Komutunu yazarak indirdiğimiz dosyanın uzantısını phtml olarak değiştirmiş oluyoruz. Sonra tekrar dosyayı yüklemeye çalıştığımızda kolay bir şekilde yüklendiğini görüyoruz.
Açtığımız shell i rahat bir şekilde dinleyebilmek için nc –lvnp 1234 (1234 port numarasıdır) komutunu kullanıyoruz.
Şimdi ise http://machıne_ıp/uploads/ sitesine gidiyoruz.
Aşağıda yazan php-reverse-shell.phtml yazılı olan linke tıklıyoruz ve portu dinliyoruz.
Daha sonrasında ise python kodu ile yolumuza devam ediyoruz. Yazacağımız kod ;
'import pty;pty.spawn("/bin/bash")'
kodu yazılarak shell daimi hale getirilir.
whoami yazılarak kim olduğumuzu öğrenmemiz gerekir.
Soru bizden user.txt yi bulmamızı istiyor. Bu yüzden şu komutu kullanacağız;
find/ -type f –name user.txt
Bu komut sayesinde aradığımız dosyanın /var/www/user.txt de olduğunu bulmuş olduk. Bunu okumak için cat komutuna ihtiyacımız var.
cat /var/www/user.txt yazarak okuma yapıyoruz. Bayrağımız burada.
İkinci baydağı bulmak içinse yine aynı şekilde find / -type f –user root –perm -4000
Yazıyoruz ve çıkan sonuçlarda bize python ile ilgili SUID yetkilenirmesi verdiğini görüyoruz.
Flag burada
Diğer flag i bulabilmek için usr dizinine geçiyoruz cd komut ile.
./python -c 'import os; os.execl("/bin/sh", "sh", "-p")'
Bu komut bizi root yapıyor ve whoami yazarak kontrol ediyoruz.
Pwd dizinine geçerek root dosyasını buluyoruz.
Cat ile okuma yaptığımızda ise flag in burada olduğunu görüyoruz.
OKUDUĞUNUZ İÇİN TEŞEKKÜR EDERİM. UMARIM FAYDALI OLMUŞTUR.
Son düzenleme: