Tryhackme | Root Me CTF Writeup

'Akınay

Yeni üye
16 May 2022
18
9

Merhaba değerli Turkhackteam kullanıcıları

bu konumda Tryhackme de yer alan Root Me adlı

CTF i çözeceğiz

shp4vi9.png


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.

7k786of.jpg


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.

7jbcv3c.jpg


İş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.

qvf1ejs.jpg


İş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.

dr1egid.jpg


Yukarıda da görüldüğü gibi bir web sayfası alıyoruz. Sitenin sayfa kaynağına (page source ) bir bakalım


89kd75r.jpg



Web sitesinin sayfa kaynağına baktığımızda herhangi gibi önemli bir şey ile karşılaşmıyoruz.


naks5jj.jpg


Şimdi gobuster aracını kullanalım.

7xqpp5r.jpg


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.

soh5ihy.jpg


Böylece dizinleri bulduk.

orzvuf2.jpg


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.

1sb0zz7.jpg


İndirdiğimiz php-reverse-shell dosyasını değiştirilebilir hale getirmek için chmod komutunu kullanıyoruz.

latzeo8.jpg


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.

r7srfvl.jpg


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.

swa7q36.jpg


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.

gu23yc0.jpg

t44wa4t.jpg


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.

st9svkv.jpg


Soru bizden user.txt yi bulmamızı istiyor. Bu yüzden şu komutu kullanacağız;

find/ -type f –name user.txt

rcflp12.jpg


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.

gbmqylq.jpg


İ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.

slrac0x.jpg


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.

dvl0ed2.jpg

Pwd dizinine geçerek root dosyasını buluyoruz.


Cat ile okuma yaptığımızda ise flag in burada olduğunu görüyoruz.

g6g1ejq.jpg



OKUDUĞUNUZ İÇİN TEŞEKKÜR EDERİM. UMARIM FAYDALI OLMUŞTUR.
 
Son düzenleme:

JohnWick51

Uzman üye
20 Mar 2022
1,866
770
28

Merhaba değerli Turkhackteam kullanıcıları

bu konumda Tryhackme de yer alan Root Me adlı

CTF i çözeceğiz

shp4vi9.png


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.

7k786of.jpg


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.

7jbcv3c.jpg


İş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.

qvf1ejs.jpg


İş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.

dr1egid.jpg


Yukarıda da görüldüğü gibi bir web sayfası alıyoruz. Sitenin sayfa kaynağına (page source ) bir bakalım


89kd75r.jpg



Web sitesinin sayfa kaynağına baktığımızda herhangi gibi önemli bir şey ile karşılaşmıyoruz.


naks5jj.jpg


Şimdi gobuster aracını kullanalım.

7xqpp5r.jpg


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.

soh5ihy.jpg


Böylece dizinleri bulduk.

orzvuf2.jpg


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.

1sb0zz7.jpg


İndirdiğimiz php-reverse-shell dosyasını değiştirilebilir hale getirmek için chmod komutunu kullanıyoruz.

latzeo8.jpg


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.

r7srfvl.jpg


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.

swa7q36.jpg


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.

gu23yc0.jpg

t44wa4t.jpg


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.

st9svkv.jpg


Soru bizden user.txt yi bulmamızı istiyor. Bu yüzden şu komutu kullanacağız;

find/ -type f –name user.txt

rcflp12.jpg


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.

gbmqylq.jpg


İ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.

slrac0x.jpg


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.

dvl0ed2.jpg

Pwd dizinine geçerek root dosyasını buluyoruz.


Cat ile okuma yaptığımızda ise flag in burada olduğunu görüyoruz.

g6g1ejq.jpg



OKUDUĞUNUZ İÇİN TEŞEKKÜR EDERİM. UMARIM FAYDALI OLMUŞTUR.
Ellerine saglik
 

'GHOST

Uzman üye
31 Mar 2022
1,387
12
568

Merhaba değerli Turkhackteam kullanıcıları

bu konumda Tryhackme de yer alan Root Me adlı

CTF i çözeceğiz

shp4vi9.png


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.

7k786of.jpg


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.

7jbcv3c.jpg


İş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.

qvf1ejs.jpg


İş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.

dr1egid.jpg


Yukarıda da görüldüğü gibi bir web sayfası alıyoruz. Sitenin sayfa kaynağına (page source ) bir bakalım


89kd75r.jpg



Web sitesinin sayfa kaynağına baktığımızda herhangi gibi önemli bir şey ile karşılaşmıyoruz.


naks5jj.jpg


Şimdi gobuster aracını kullanalım.

7xqpp5r.jpg


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.

soh5ihy.jpg


Böylece dizinleri bulduk.

orzvuf2.jpg


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.

1sb0zz7.jpg


İndirdiğimiz php-reverse-shell dosyasını değiştirilebilir hale getirmek için chmod komutunu kullanıyoruz.

latzeo8.jpg


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.

r7srfvl.jpg


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.

swa7q36.jpg


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.

gu23yc0.jpg

t44wa4t.jpg


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.

st9svkv.jpg


Soru bizden user.txt yi bulmamızı istiyor. Bu yüzden şu komutu kullanacağız;

find/ -type f –name user.txt

rcflp12.jpg


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.

gbmqylq.jpg


İ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.

slrac0x.jpg


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.

dvl0ed2.jpg

Pwd dizinine geçerek root dosyasını buluyoruz.


Cat ile okuma yaptığımızda ise flag in burada olduğunu görüyoruz.

g6g1ejq.jpg



OKUDUĞUNUZ İÇİN TEŞEKKÜR EDERİM. UMARIM FAYDALI OLMUŞTUR.
Ellerine sağlık , temel ctf çözümlerin güzel :) ancak ctf e yeni başlayan arkadaşlar için suid yetkisi nedir ve suid bitine sahip olmasi en tehlikeli olan seyler nelerdir , find komutundaki perm 4000 vb. komutlar ne ise yarar bunlarida açıklaman daha bilgilendirici olurdu değilmi. Istersen bu konuma göz atabilirsin. https://www.turkhackteam.org/konular/shell-nedir.2014282/
 

'Akınay

Yeni üye
16 May 2022
18
9
Ellerine sağlık , temel ctf çözümlerin güzel :) ancak ctf e yeni başlayan arkadaşlar için suid yetkisi nedir ve suid bitine sahip olmasi en tehlikeli olan seyler nelerdir , find komutundaki perm 4000 vb. komutlar ne ise yarar bunlarida açıklaman daha bilgilendirici olurdu değilmi. Istersen bu konuma göz atabilirsin. https://www.turkhackteam.org/konular/shell-nedir.2014282/
Çok teşekkür ederim. Hemen konuna göz atıyorum. Bundan sonraki yazılarımda da daha dikkatli olmaya çalışacağım :)
 
Ü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.