CTF ile OwaspTop10 Serisi | #3Server-side Request Forgery (SSRF)

w1sd0m

Katılımcı Üye
28 Mar 2020
699
626
/802.1x/
ykuqgij.png







Merhaba değerli dostlarım, CTF (Capture The Flag) çoğumuzun merak konusu ve gün geçtikçe popülaritesi de artmakta. Hem insanların bu alana merakı, hem başlamakta çekinenler hem de özelden aldığım sayısız mesaj neticesinde böyle bir konu/konular açmayı uygun gördüm. Ctf ile Owasp konularını bir seriye dönüştürerek, günümüzde en yaygın zafiyetleri ve bunların nasıl sömürüldüğünü Ctf çözerek öğrenmiş olacağız.
Liste sıra ile değil, rastgele gidecektir.

Keyifli okumalar dilerim.


|

|
v



Server-side Request Forgery (SSRF)


1u58gel.png


Web uygulamaları, HTTP sunucuları arasındaki istekleri tetikleyebilir. Bunlar genellikle yazılım güncellemeleri gibi uzak kaynakları getirmek veya bir URL'den veya başka bir web uygulamasından meta verileri içe aktarmak için kullanılır. Bu tür sunucular arası istekler genel olarak tehlikeli değildir, ancak doğru uygulanmadıkça sunucuyu SSRF'e karşı savunmasız hale getirebilirler.


Peki SSRF nedir?


Sunucu tarafı istek sahteciliği (SSRF), OWASP İlk 10 2021 listesinde kendi kategorisine sahip olan tek güvenlik açığı türüdür. Son yıllarda Capital One ve MS Exchange saldırıları da dahil olmak üzere birkaç büyük siber güvenlik ihlali, SSRF'nin zorla girme tekniklerinden biri olarak kullanılmasını içeriyordu.

SSRF güvenlik açıkları, bir saldırganın güvenlik açığı bulunan bir uygulamanın arka uç sunucusundan hazırlanmış istekler göndermesine olanak tanır. Suçlular genellikle güvenlik duvarlarının arkasındaki ve harici ağdan erişilemeyen dahili sistemleri hedeflemek için SSRF saldırılarını kullanır. Saldırgan, yararlanılan sunucunun geri döngü arabirimi (127.0.0.1) aracılığıyla sağlanan hizmetlere erişmek için SSRF'den de yararlanabilir.


Saldırgan, güvenlik açığı bulunan sunucudan istek oluşturmak veya kontrol etmek için güvenlik açığı bulunan web uygulamasındaki bir parametre değerini değiştirebilir.

ehcvwbw.png


Sunucu taraflı istek sahteciliği neden tehlikelidir?

Birçok web güvenlik açığı hedef sistemi doğrudan etkilerken, SSRF saldırganların hedefi üçüncü bir sisteme istekleri ileten bir aracı olarak kullanmasına izin verir. Bu nedenle, bir SSRF saldırısı kendi başına zarar vermese de, kötü niyetli bilgisayar korsanlarına İnternet'ten asla erişilemeyecekleri varsayılan dahili sistemlere erişim sağlayabilir. Bunun tehlikeli olmasının birkaç nedeni var.




Peki nedir bu nedenler?

SSRF Zafiyetinin Etkileri:
Portları ve IP adreslerini taramaya imkan verir.
Daha fazla keşif yapmanıza izin veren Gopher gibi bazı protokollerle etkileşime izin verir.
Bir reverse proxy’nin arkasındaki sunucuların IP adreslerini tespit edebilir.
Uzaktan kod çalıştırma yapabilir.



Peki, gelin bu zafieti CTF ile pratiğe dökelim.


CTF - 01


"WebGoat" uygulamasını hiç duydunuz mu?
WebGoat, içerisinde OWASP zafiyetlerini öğreten mini dersler barındıran bir ctf platformudur. Daha önceki makalelerde de kullandığımız için ilk örneği yine buradan yapalım. Hemde işin mantığını kavramış oluruz.
Şimdiki örneği bu uygulama üzerinde bulunan dersten yapacağız.


30qdoze.png

Sayfa görüntüsü bu şekildedir. İlk derste bizden resimde bulunan "Tom" karakterini, ezeli rakibi olan "Jerry" ile değiştirmemizi istiyor. Bunun için giden isteği yakalamamız gerektiğini de söylemiş.
Bizde Burpsuit ile isteği yakalayalım ve rakibin resmini getirmeye çalışalım.


ezn83lj.png
lgjuxkb.png

Giden istekte "url=" parametresi ile "Tom.png" dosyasını görüyoruz. Bunu "Jerry.png" olarak değiştirsek neler olur diye baktığımızda, sonucun başarılı olduğunu görüyoruz.

t70v3u6.png

Bu bize, herhangi bir müdahale yapmadan sadece dönen isteği değiştirerek göremediğimiz dosyaları görebileceğimizi gösteriyor.
İşte size en basit yolu ile
SSRF : )

Peki, diğer derse geçiyoruz.


otg9nvq.png

Bu derste ise yine bizden giden isteği kontrol etmemiz isteniyor. Bu sefer farklı bir dosya bulmaktansa "ifconfig . pro" adresini isteğe enjekte etmemiz söylenmiş. Bakalım istek üzerine böyle bir url yazdığımızda birşeyler oluyor mu?

3gr7bhw.png
amwemk4.png

Bu kez isteği tamamen değiştirdik ve isteğin başarıyla işlendiğini gördük. Yani burada biz, bir site üzerinden başka bir siteye istekte bulunduk ve başarılı bir geri dönüş aldık. Sıkıntılı değil mi?



CTF - 02


"TryHackMe" uygulamasını hiç duydunuz mu?
Tryhackme, içerisinde birçok zafiyetli makineyi barındıran bir ctf platformudur. Daha önceki makalelerde de kullandığımız için ikinci örneği de buradan yapalım. Hemde işin mantığını pekiştirmiş oluruz.
Şimdiki örneği bu uygulama üzerinde bulunan bir zafiyetli makinede yapacağız.

axovxb4.png

Böyle bir web sitemiz var. Sitede dosya yükleyebileceğimiz girdiler mevcut. URL üzerinden dosya çekebiliyormuş. Burpsuit aracını kullanarak URL kısmına bir bakalım. Bozmaya çalışalım, kurcalayalım.

eyl0mvt.png


6ydf8ka.png

Burpsuit'in çalıştığı portu yazarak isteği yakaladık. "Send to Repeater" seçeneği ile isteği "Repeater" bölümüne gönderdik. İlk önce dönen isteğimize bakalım. Daha sonra neler yapabilir ona bakarız.

1oepbwk.png

İsteğe dönen yanıt biraz tuhaf. Nedesi ise, hem hata mesajını hem 200 değerini hem sayfa içeriğini görebilmemiz. Tam anlamıyla yapılandırılmamış gibi. Üstelik bir de "Nothing to see here..." mesajı var.
İstek için gönderdiğimiz parametreyi değiştirerek yanıtta bir hareketlilik var mı ona bakalım.


nz8qwun.png

Parametrede Burp'ten zafiyetli siteye bir url verdiğimizde yanıtın değiştiğini görüyoruz. Sayfa kaynak konu karşımıza geldi. Emin olmak için bir bakşa parametre yazacağım. Daha derine inebiliyor muyuz?

s8d9w49.png

Bu kez ise parametreye "cd ~;ls -la" komutunu yazdım. Eğer sistemde komut çalıştırabiliyorsam birçok değerli bilgi edinebilirim, hatta sisteme dahi sızabilirim. Ancak burada yaptığım isteğe göre bir hata aldım. Herhangi bir koruma önlemi olabilir diye düşündüm ve isteğin "cd ~;ls -la" kısmını encode etmeye karar verdim. Encode edip tekrar istek atalım bakalım.

9bcwfo5.png

Encode edip tekrar gönderdiğimde kodun çalıştığını gördüm. İşte zafiyet burada çok kritik oldu. Hiçbir fiziksel şekilde sistemle alakam olmadan sistem dosyalarını görebildim. Bu büyük bir problem. Sistem üzerinde komut çalıştırmak, kurbanın son isteyeceği şey olabilir.
Peki burada "
dev-note.txt" dosyasını görüyorum. Bunu okuyalım ve makalemizi bitirelim.


hlnnrou.png

Yine encode bir şekilde "cd ~;cat dev-note.txt" komutu başarılı bir şekilde çalıştı ve bana developer'ın bıraktığı notu okudu. Burada "Hydra" adlı bir kullanıcı olduğunu ve parolasının "fluffybunnies123" olduğunu anlıyoruz.
Bundan sonrası size kalmış. İster SSH ile ister Reverse shell ile ister iseniz diğer yöntemler ile işlemi devam ettirebilirsiniz.



^
|
|


SSRF zafiyetinin nelere yol açtığını 2 farklı CTF ile göstermiş oldum.
Zafiyetin ne derece tehlikeli olduğunu anlayabildik.


|
|
v




Bu makalemizde "SSRF" konusuna iki CTF ile cevap verdik. Bir sonraki makalede de bu böyle devam edecektir.
Her bir üyeye bu CTF işini çözdüreceğim inşAllah.
Takipte kalmayı unutmayın ;)



q8w1arc.png
 

'GHOST

Uzman üye
31 Mar 2022
1,390
568
ykuqgij.png







Merhaba değerli dostlarım, CTF (Capture The Flag) çoğumuzun merak konusu ve gün geçtikçe popülaritesi de artmakta. Hem insanların bu alana merakı, hem başlamakta çekinenler hem de özelden aldığım sayısız mesaj neticesinde böyle bir konu/konular açmayı uygun gördüm. Ctf ile Owasp konularını bir seriye dönüştürerek, günümüzde en yaygın zafiyetleri ve bunların nasıl sömürüldüğünü Ctf çözerek öğrenmiş olacağız.
Liste sıra ile değil, rastgele gidecektir.

Keyifli okumalar dilerim.


|

|
v



Server-side Request Forgery (SSRF)


1u58gel.png


Web uygulamaları, HTTP sunucuları arasındaki istekleri tetikleyebilir. Bunlar genellikle yazılım güncellemeleri gibi uzak kaynakları getirmek veya bir URL'den veya başka bir web uygulamasından meta verileri içe aktarmak için kullanılır. Bu tür sunucular arası istekler genel olarak tehlikeli değildir, ancak doğru uygulanmadıkça sunucuyu SSRF'e karşı savunmasız hale getirebilirler.


Peki SSRF nedir?


Sunucu tarafı istek sahteciliği (SSRF), OWASP İlk 10 2021 listesinde kendi kategorisine sahip olan tek güvenlik açığı türüdür. Son yıllarda Capital One ve MS Exchange saldırıları da dahil olmak üzere birkaç büyük siber güvenlik ihlali, SSRF'nin zorla girme tekniklerinden biri olarak kullanılmasını içeriyordu.

SSRF güvenlik açıkları, bir saldırganın güvenlik açığı bulunan bir uygulamanın arka uç sunucusundan hazırlanmış istekler göndermesine olanak tanır. Suçlular genellikle güvenlik duvarlarının arkasındaki ve harici ağdan erişilemeyen dahili sistemleri hedeflemek için SSRF saldırılarını kullanır. Saldırgan, yararlanılan sunucunun geri döngü arabirimi (127.0.0.1) aracılığıyla sağlanan hizmetlere erişmek için SSRF'den de yararlanabilir.


Saldırgan, güvenlik açığı bulunan sunucudan istek oluşturmak veya kontrol etmek için güvenlik açığı bulunan web uygulamasındaki bir parametre değerini değiştirebilir.

ehcvwbw.png


Sunucu taraflı istek sahteciliği neden tehlikelidir?

Birçok web güvenlik açığı hedef sistemi doğrudan etkilerken, SSRF saldırganların hedefi üçüncü bir sisteme istekleri ileten bir aracı olarak kullanmasına izin verir. Bu nedenle, bir SSRF saldırısı kendi başına zarar vermese de, kötü niyetli bilgisayar korsanlarına İnternet'ten asla erişilemeyecekleri varsayılan dahili sistemlere erişim sağlayabilir. Bunun tehlikeli olmasının birkaç nedeni var.




Peki nedir bu nedenler?

SSRF Zafiyetinin Etkileri:
Portları ve IP adreslerini taramaya imkan verir.
Daha fazla keşif yapmanıza izin veren Gopher gibi bazı protokollerle etkileşime izin verir.
Bir reverse proxy’nin arkasındaki sunucuların IP adreslerini tespit edebilir.
Uzaktan kod çalıştırma yapabilir.



Peki, gelin bu zafieti CTF ile pratiğe dökelim.


CTF - 01


"WebGoat" uygulamasını hiç duydunuz mu?
WebGoat, içerisinde OWASP zafiyetlerini öğreten mini dersler barındıran bir ctf platformudur. Daha önceki makalelerde de kullandığımız için ilk örneği yine buradan yapalım. Hemde işin mantığını kavramış oluruz.
Şimdiki örneği bu uygulama üzerinde bulunan dersten yapacağız.


30qdoze.png

Sayfa görüntüsü bu şekildedir. İlk derste bizden resimde bulunan "Tom" karakterini, ezeli rakibi olan "Jerry" ile değiştirmemizi istiyor. Bunun için giden isteği yakalamamız gerektiğini de söylemiş.
Bizde Burpsuit ile isteği yakalayalım ve rakibin resmini getirmeye çalışalım.


ezn83lj.png
lgjuxkb.png

Giden istekte "url=" parametresi ile "Tom.png" dosyasını görüyoruz. Bunu "Jerry.png" olarak değiştirsek neler olur diye baktığımızda, sonucun başarılı olduğunu görüyoruz.

t70v3u6.png

Bu bize, herhangi bir müdahale yapmadan sadece dönen isteği değiştirerek göremediğimiz dosyaları görebileceğimizi gösteriyor.
İşte size en basit yolu ile
SSRF : )

Peki, diğer derse geçiyoruz.


otg9nvq.png

Bu derste ise yine bizden giden isteği kontrol etmemiz isteniyor. Bu sefer farklı bir dosya bulmaktansa "ifconfig . pro" adresini isteğe enjekte etmemiz söylenmiş. Bakalım istek üzerine böyle bir url yazdığımızda birşeyler oluyor mu?

3gr7bhw.png
amwemk4.png

Bu kez isteği tamamen değiştirdik ve isteğin başarıyla işlendiğini gördük. Yani burada biz, bir site üzerinden başka bir siteye istekte bulunduk ve başarılı bir geri dönüş aldık. Sıkıntılı değil mi?



CTF - 02


"TryHackMe" uygulamasını hiç duydunuz mu?
Tryhackme, içerisinde birçok zafiyetli makineyi barındıran bir ctf platformudur. Daha önceki makalelerde de kullandığımız için ikinci örneği de buradan yapalım. Hemde işin mantığını pekiştirmiş oluruz.
Şimdiki örneği bu uygulama üzerinde bulunan bir zafiyetli makinede yapacağız.

axovxb4.png

Böyle bir web sitemiz var. Sitede dosya yükleyebileceğimiz girdiler mevcut. URL üzerinden dosya çekebiliyormuş. Burpsuit aracını kullanarak URL kısmına bir bakalım. Bozmaya çalışalım, kurcalayalım.

eyl0mvt.png


6ydf8ka.png

Burpsuit'in çalıştığı portu yazarak isteği yakaladık. "Send to Repeater" seçeneği ile isteği "Repeater" bölümüne gönderdik. İlk önce dönen isteğimize bakalım. Daha sonra neler yapabilir ona bakarız.

1oepbwk.png

İsteğe dönen yanıt biraz tuhaf. Nedesi ise, hem hata mesajını hem 200 değerini hem sayfa içeriğini görebilmemiz. Tam anlamıyla yapılandırılmamış gibi. Üstelik bir de "Nothing to see here..." mesajı var.
İstek için gönderdiğimiz parametreyi değiştirerek yanıtta bir hareketlilik var mı ona bakalım.


nz8qwun.png

Parametrede Burp'ten zafiyetli siteye bir url verdiğimizde yanıtın değiştiğini görüyoruz. Sayfa kaynak konu karşımıza geldi. Emin olmak için bir bakşa parametre yazacağım. Daha derine inebiliyor muyuz?

s8d9w49.png

Bu kez ise parametreye "cd ~;ls -la" komutunu yazdım. Eğer sistemde komut çalıştırabiliyorsam birçok değerli bilgi edinebilirim, hatta sisteme dahi sızabilirim. Ancak burada yaptığım isteğe göre bir hata aldım. Herhangi bir koruma önlemi olabilir diye düşündüm ve isteğin "cd ~;ls -la" kısmını encode etmeye karar verdim. Encode edip tekrar istek atalım bakalım.

9bcwfo5.png

Encode edip tekrar gönderdiğimde kodun çalıştığını gördüm. İşte zafiyet burada çok kritik oldu. Hiçbir fiziksel şekilde sistemle alakam olmadan sistem dosyalarını görebildim. Bu büyük bir problem. Sistem üzerinde komut çalıştırmak, kurbanın son isteyeceği şey olabilir.
Peki burada "
dev-note.txt" dosyasını görüyorum. Bunu okuyalım ve makalemizi bitirelim.


hlnnrou.png

Yine encode bir şekilde "cd ~;cat dev-note.txt" komutu başarılı bir şekilde çalıştı ve bana developer'ın bıraktığı notu okudu. Burada "Hydra" adlı bir kullanıcı olduğunu ve parolasının "fluffybunnies123" olduğunu anlıyoruz.
Bundan sonrası size kalmış. İster SSH ile ister Reverse shell ile ister iseniz diğer yöntemler ile işlemi devam ettirebilirsiniz.



^
|
|


SSRF zafiyetinin nelere yol açtığını 2 farklı CTF ile göstermiş oldum.
Zafiyetin ne derece tehlikeli olduğunu anlayabildik.


|
|
v




Bu makalemizde "SSRF" konusuna iki CTF ile cevap verdik. Bir sonraki makalede de bu böyle devam edecektir.
Her bir üyeye bu CTF işini çözdüreceğim inşAllah.
Takipte kalmayı unutmayın ;)



q8w1arc.png
Eline sağlık.
 

Helmsys

Yazılım Ekibi Kıdemli
16 Mar 2022
1,481
1,640
Alıntı yapılabilecek nadir kaynaklardan.
Muazzam bir anlatım. Örneklemeler, kullanılan renkler, uyum, okurun dikkatinin dağıtılmamasını sağlamak, kendinize ait cümlelerden oluşturduğunuz makale tadında bir konu olmuş.
.
.
CTF ilgimi çekmiyor fakat bu alanda ilerleyenlere gerçekten rehber olacağını düşünüyorum.
Gerçekten elinize sağlık.
 

w1sd0m

Katılımcı Üye
28 Mar 2020
699
626
/802.1x/
Ellerine sağlık kardeşim.

Alıntı yapılabilecek nadir kaynaklardan.
Muazzam bir anlatım. Örneklemeler, kullanılan renkler, uyum, okurun dikkatinin dağıtılmamasını sağlamak, kendinize ait cümlelerden oluşturduğunuz makale tadında bir konu olmuş.
.
.
CTF ilgimi çekmiyor fakat bu alanda ilerleyenlere gerçekten rehber olacağını düşünüyorum.
Gerçekten elinize sağlık.
<3
@Helmsys Değerli yorumun için teşekkür ederim kardeşim. 😊
Konu açmış olmak için değil de gerçekten birilerine tecrübelerim doğrultusunda yardım edebilmek adına açıyorum bu konuları. Ne görevim ne de benden istenen birşey bu. Tamamen içimden gelen bir dürtü.
Alanın değil biliyorum ancak Adventure-Time ve HarryPotter makalelerini de okumak isteyebilirsin. İlk makalelerim olduğu için düzenleri biraz sıradan gibi ancak içeriği çok eğlenceli : )

Seninde konularını görmek istiyorum artık bu forumda. Bizi bilgilerinden mahrum etme <3
 
Ü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.