Hoşgeldin Misafir

RCE Açığı Nedir / Nasıl Sömürülür? - Lojistik Tim

Sham

Sham

r00tSHAM
THS
15 Haz 2024
527 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
RCE Açığı Nedir / Nasıl Sömürülür?

RCE Açığı Nedir?


RCE, bir web sitesinde bulunan, direkt sunucu ile etkileşime giren sistemlerin yanlış ve güvensiz yapılandırılmasından ortaya çıkan açık türüdür. Tam adı Remote Code Execution (Uzaktan Kod Çalıştırma.)


RCE Nelere Sebep Olabilir?

-Hacker uzaktan kod çalıştırarak sunucuda istediğini yapabilir.
-Önemli verileriniz çalınabilir. (Sunucuya erişen bir hacker, config dosyasını okuyarak SQL veri tabanına bağlanabilir, biz buna kısaca config çekmek diyoruz.)
-Siteniz deface edilebilir.
-Prestij kaybına uğrarsınız.


RCE Açığını Nasıl Tespit Ederim?

Hedef sitede backend etkileşimi olan bölümleri araştırmalısınız. Örnek olarak login sayfası sql veri tabanı ile etkileşime girdiği için bu bölümde sql injection açığı arıyorsak, eğer sitede ping atma bölümü varsa burada uzaktan kod çalıştırma açığı bulabiliriz belkide :) Şimdi sizlerle beraber bu açığı uygulamalı olarak tespit edip sömüreceğiz.

NOT: Ben bu tür testler için güzel bir lab olan Web For Pentester isimli sanal makineyi kullanacağım. Eğer sizde kullanmak isterseniz vulnhub üzerinden indirebilirsiniz.


Tespit

Sayfamızı açtığımızda bizi bir ping atma bölümü karşılıyor.

r3twtv5.jpg


Gördüğünüz gibi ip parametresinin sonuna yazdığınız ip adresine ping atıp sonucu olduğu gibi ekrana veriyor, yani server'a şu kodu gönderiyor diyebiliriz:

[SIZE=5]ping 127.0.0.1[/SIZE]

Şimdi ben kendi çalıştırmak istediğim kodu buraya enjekte etmek istiyorum. Nasıl yapacağım? bunun içinde linux kod çalıştırma bilgisi gerekiyor. Bir komuttan sonra başka bir komutu çalıştırmak için ; (noktalı virgül.) karakterini kullanırız bu şekilde pwd komutunu çalıştırmayı deneyelim.

navwoox.jpg


Ee shikatag? bu şekilde kodu çalıştırdım yine aynı ekran geldi? İşte o iş öyle değil :) Aslında kod çalıştı. Fakat web sunucusunun gönderdiği response yani yanıttaki herşey tarayıcıda gösterilen html sayfasında yer almaz. Kodun gerçekten çalışıp çalışmadığını anlamak için web sunucusunun gönderdiği tam http response'a bakacağım. Bunun için Burp Suite kullanabilirsiniz.

c56t3zw.jpg


Evet, yanıtı incelediğimizde yazmış olduğumuz komutun çalışmış olduğunu gördük (pwd komutunu çalıştırdık ve bize mevcut dizini verdi.)

Sömürü


Şimdi bulduğumuz açığı kullanarak sisteme notumuzu bırakıp zone kaydı almak istedik diyelim. Nasıl yapacağız? ben nasıl pwd komutunu çalıştırdıysam şimdi de aşağıdaki komutu çalıştıracağım. Sırasıyla:

touch hacked.txt
echo HACKED BY TURKHACKS > hacked.txt


touch komutu dosya oluşturmak, echo komutu dosyanın içine metin yazmak için. Şimdi bakalım bulunduğumuz dizini deface edebildik mi :)

t8r8jp8.jpg


Sonuç

Gördüğünüz gibi dostlar, rce açığını tespit ettik ve sömürdük. Okuduğunuz için teşekkür eder, yorumlarınızı beklerim.


btn1pyf.png