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.
Komutunu çalıştırarak nmap ile hedef ip üzerindeki açık portları keşfedebiliriz.
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
Gibi yazınca aşağıdaki resimde de göreceğiniz apache sürümü gösteriliyor.
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.
Komutu ile dizin taramasını gerçekleştirebilirsiniz. Site adresini değiştirmeyi unutmayın
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.
Hemen bir reverse shell hazırlayalım. Bunun için terminale
yazarsanız size kali linux üzerinde bulunan reverse shell konumunu verecektir. Bunu
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
Şimdi shell'imizi upload etmeye çalışalım.
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.
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
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.
İlk olarak interaktif shell'e geçmemiz lazım. Bunun için
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
komutunu kullanarak yetkimizin olduğu suidlere bakıyoruz.
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.
Komutunu kullanarak yetkimizi yükseltiyoruz. VE id yazarak yetkimize baktığımızda
Grubumuzun root grubuna geçtiğini görüyoruz. Artık son olarak /root dizinine gidip root flag'ımızı okuyoruz.
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...
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
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.
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
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.
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
Şimdi shell'imizi upload etmeye çalışalım.
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.
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.
İ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.
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.
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
Grubumuzun root grubuna geçtiğini görüyoruz. Artık son olarak /root dizinine gidip root flag'ımızı okuyoruz.
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: