Reverse Shell

Reverse shell yani ters bağlantı, komut çalıştırabildiğimiz bir sunucudan kendi cihazımıza bir bağlantı açmamıza olanak sağlar. Backdoor mantığına benzerdir ama tam olarak aynı değil. Backdoor da karşıda bir kullanıcının bir .exe veya bir dosya çalıştırması, bir siteye vs. girmesi bi şeylere tıklaması gerekirken, reverse shell de biz kendimiz kod çalıştırabileceğimiz bir açık bulduğumuzda o zaafiyetten faydalanıp kendimize bağlantı yaptırarak içeriye daha kolay sızabilmek için açık bir kapı bırakmış oluyoruz.

Şimdi komutumuzu yani reverse shell komutunu girmeden önce netcad ile bir port açıp dinlemeye başlayalım.

images/65-1.png bu şekilde netcad çalıştırarak “5050” portunu dinlemeye başlıyoruz.

Ardından mesela php için yazılmış olan reverse shell komutunu siteye girelim;

images/65-2.png tabi bu komutta olan ip adresine kendi ip adresimizi ve port kısmına ise netcad ile dinlemeye başladığımız “5050” portunu giriyoruz.

images/65-3.pngGerekli düzenlemeleri yapınca komut bu hale geldi. Artık bu komutu gidip site üzerinde ki form da çalıştırmak üzere submit edebiliriz.

images/65-4.png bu şekilde yazıp submit ediyoruz.


images/65-5.pngkomutumuzu yazıp submit edince, terminalimizde nc ile açıp dinlemeye başladığımız 5050 portuna bağlantı geldi. Gördüğünüz gibi bu komut sayesinde bu siteden kendimize bir shell açıp içeriye girmeyi başardık artık websitesinin bütün dosyalarına erişebiliyoruz. Reverse shell işlemi başarılı olmuş oldu.

NOT: Bir sitede reverse shell denemeden önce python için version kontrolü yapmak çok işe yarayacaktır. Bir şekilde eğer komut çalıştırabiliyorsak bu kontrolü “<which python3> veya <which python>” şeklinde yapabiliriz;

images/65-6.png