THM RootMe CTF WriteUp

AdaletinKILICI

Katılımcı Üye
29 Eyl 2019
311
120
127.0.0.1
Selamın Aleyküm arkadaşlar. Ben AnkaRedTeam'dan AdaletinKILICI. Bu yazımızda sizlerle beraber THM(tryhackme) platformunda bulunan RootMe makinesini çözeceğiz. Hemen başlayalım.

Bilgi Toplama

İlk olarak hepinizin de bildiği gibi bilgi toplamamız lazım. Bunun için nmap aracımızla açık portları keşfediyoruz.

Kod:
nmap -A -T4 makineIP
Komutunu çalıştırarak nmap ile hedef ip üzerindeki açık portları keşfedebiliriz.

Nmap.png


Resimde gördüğünüz gibi 2 adet port açık. Bunlar http yani website kullanılan 80. port ve 22. ssh portu.

Yani ilk sorumuzun cevabı: 2

İkinci sorumuza geldiğimiz zaman bizden apache sürümünü istiyor. Onu bulmak için birden fazla yol var. İlk yolumuz nmap çıktısına bakmak.
Nmap çıktısına bakınca sürürümünü göstermedi. Bu yüzden ikinci yolumuza geçiyoruz. O da sitede bulunmayan bir dizini site sonuna yazmak :)

Kod:
 http://ip/rastgele

Gibi yazınca aşağıdaki resimde de göreceğiniz apache sürümü gösteriliyor.

Apache.png


Yani ikinci sorumuzun cevabı: 2.4.29


Üçüncü sorumuzda 22. portta hangi servisin çalıştığını sormuş. SSH servisi çalıştığı için
üçüncü sorumuzun cevabı: ssh

Sonraki kısımda ise bizden goBuster aracı ile dizin taraması yapmamızı istemiş. GoBuster yerine dirb veya dirbuster de kullanılabilir. Şimdi dizin taramamızı başlatalım.

Kod:
gobuster dir -u http://10.10.91.106/ -w /usr/share/wordlists/dirb/common.txt

Komutu ile dizin taramasını gerçekleştirebilirsiniz. Site adresini değiştirmeyi unutmayın :)

GoBuster.png


Tarama sonucunda /panel diye bir dizin bulduk. Yani gizli dizinimiz bu. Dolayısıyla
dördüncü sorumuzun cevabı: /panel/

Reverse Shell Alma

Belirtilen alana gittikten sonra gördüğümüz şey bir upload alanı. Yani buradan reverse shell upload edebiliriz.

Upload.png


Hemen bir reverse shell hazırlayalım. Bunun için terminale

Kod:
locate php-reverse-shell.php

yazarsanız size kali linux üzerinde bulunan reverse shell konumunu verecektir. Bunu

Kod:
cp /usr/share/webshells/php/php-reverse-shell.php ./Masaüstü

komutu ile masaüstüme kopyalıyorum. Asıl dosyaya karışmayın ki işiniz olduğunda zorda kalmayasınız :)

Burada editlememiz gereken iki yer var. Bunlar ip ve port alanları. IP yerine thm'nin bize verdiği ip adresini, port yerine de istediğimiz rastgele kullanılmayan bir port yazıyoruz ve kaydediyoruz. Artık reverse shell'imiz hazır:)

shellchange.png


Şimdi shell'imizi upload etmeye çalışalım.

IzinYok.png


Fakat resimde de gördüğünüz gibi php dosyaları kabul etmiyor. Bunu atlamanın pek çok yolu var. Biz uzantı değiştirmeyi deneyeceğiz. Eğer php dosyalarına izin vermiyorsa .phtml, .php5, .php6, .php7 gibi çeşitli uzantılar da deneyebiliriz. Şimdi phtml olarak değiştirip upload etmeyi deneyelim.

Phtml.png


Evet bu şekilde upload edildi. GoBuster ile dizin taraması yaparken bir de /uploads diye bir dizin bulmuştuk. Oraya gittiğimizde shell'imizi buluyoruz. Açmadan önce yapmamız gereken shell'e yazdığımız portu dinlemeye almak. Bunun için

Kod:
nc -lvp 1453

Kodunu kullanabiliriz. Siz 1453 yerine shell'e yazdığınız portu yazacaksınız.

Ve shell'imizi çalıştırınca bağlantının geldiğini gördük.

baglanti.png


İlk olarak interaktif shell'e geçmemiz lazım. Bunun için

Kod:
python -c 'import pty;pty.spawn("/bin/bash")'

komutunu kullanıyoruz. Sonraki sorumuzda bizden user.txt dosyasındaki flag'ı sormuş. Bunun için /home/rootme dizinindeki asıl kullanıcımıza gidiyoruz ama flag orada yok. Daha sonra sitenin oynatıldığı /var/www/html dizinine gidiyoruz. Ve buradaki /panel dosyasının altında bulup user.txt dosyamızı okuyoruz.

Beşinci sorumuzun cevabı: THM{y0u_g0t_a_sh3ll}

Yetki Yükseltme

Son olarak yetki yükseltme işlemimiz kaldı. Suidlerden yola çıkacağız. Bunun için The Serum dostumun açtığı SUİD İle Yetki Yükseltme

konudan yardım alabilirsiniz.

İlk olarak

Kod:
find / -perm -u=s -type f 2>/dev/null

komutunu kullanarak yetkimizin olduğu suidlere bakıyoruz.

suid.png


Resimde de gördüğünüz gibi pek çok uygulamada yetkimiz var. Burada ilginç olan python üzerinde de yetkimizin olması. Yani altıncı sorumuzun cevabı: /usr/bin/python

Şimdi bizden python kullanarak yetki yükseltmemizi istemiş. Bunun için gtfobins sitesini kullanacağız. Siteye gidip python yazıyoruz. Oradan da suid simgesine tıklıyoruz. Karşımıza yapacağımız işlemler çıkıyor.

gtfobins.png


Kod:
/usr/bin/python -c 'import os; os.execl("/bin/sh", "sh", "-p")'

Komutunu kullanarak yetkimizi yükseltiyoruz. VE id yazarak yetkimize baktığımızda

root.png


Grubumuzun root grubuna geçtiğini görüyoruz. Artık son olarak /root dizinine gidip root flag'ımızı okuyoruz.

flagroot.png


Yani son sorumuzun cevabı: THM{pr1v1l3g3_3sc4l4t10n}

Kapanış

Evet arkadaşlar bu konumuz da böyleydi. RootMe makinesini çözdük. Bir sonraki konuda görüşmek üzere hoşça kalın...
 
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.