Submit Form
Form ile saldırı;
Web sitelerinde genelde form doldurup gönderme (submit etme) kısmı olur. Eğer bu tarz bir form doldurup submit etme varsa o alanda kod çalıştırıp çalıştıramadığımızı kontrol etmeliyiz.
mesela bu örnekte submit kısmına ping yazıp gönderiyoruz ayrıca “ping 10.0.2.15” gibi bir komut yazdıktan sonra “ping 10.0.2.15; ls” yazıp gönderince “ls” komutunun da çalıştığını görüyoruz (resimde kırmızı ile işaretli kısımda ls komutunun sonucu olan dosya listesini görüyoruz). Demek ki burada sadece ping değil başka komutlarda çalıştırabiliriz. İşte burda komut olarak mesela “reverse shell” yani ters bağlantı komutu çalıştırabiliriz. İnternette reverse shell diye arattığımızda bir çok kaynak ve cheat sheet bulabiliriz.
işte bunun gibi farklı farklı dillerde reverse shell komutları mevcut.
### 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.
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;
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.
Gerekli düzenlemeleri yapınca komut bu hale geldi. Artık bu komutu gidip site üzerinde ki form da çalıştırmak üzere submit edebiliriz.
bu şekilde yazıp submit ediyoruz.
komutumuzu 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.
### Upload Form
bu tarz upload edebileceğimiz kısımlara kendi backdoor trojanımızı yüklemeye çalışarak da hacklemeyi deneyebiliriz.
Şimdi sırf bu tarz durumlarda hızlıca bir backdoor oluşturup dinleyebilmek için yazılmış bir tool kullanacağız.
Kullanacağımız tool adı weevely;
“weevely” olarak komutu yazdığımızda nasıl kullanacağını bu şekilde anlatıyor.
Şimdi bir örnek ile backdoor oluşturup siteye upload edelim.
“weevely generate
Şimdi root kısmına oluşturduğumuz connection.php backdoor unu siteye upload edelim.
bu şekilde upload ettikten sonra oluşturup upload ettiğimiz “connection.php” dosyasının nereye kaydolduğunu da gösteriyor. Burada nereye yüklediğini ve gerçekten de yüklenmiş mi diye kontrol edip o url adresi almamız gerekiyor.
burada “../../” kısmında da görüldüğü gibi iki klasör geriye gitmiş. Bizde tarayıcımızda iki klasör geriye gidilmiş haline bu “/hackable/uploads/connection.php” kısmını yapıştırırsak “connection.php” dosyamızın bulunduğu url adresine girmiş oluruz.
tarayıcının adres kısmına bunu yazıp girdik ve bir hatayla karşılaşmadık demek ki yüklenmiş. Şimdi bu adresi weevely ile kullanalım.
Şimdi weevely framework une geri dönüp bu upload ettiğimiz dosya sayesinde bağlantıyı açıp sızalım.
weevely yazıp url adresi ve backdoor’u oluştururken yazdığımız password’u yazıp çalıştırdıktan sonra, artık bağlantıyı kurduk ve cihazı hackledik. İşte bu kadar! Artık içerdeyiz.
Önemli NOT: Eğer yüklenecek sayfa php uzantısını kabul etmiyorsa;
### XSS
örneğin bir websitesinde bu şekilde bir mesaj gönderme kısmı varsa, mesaj kısmında bu örnekte olduğu gibi beef açıp, mesaj kısmında hook.js scriptini yazıp mesajı göndererek çalıştırıp, websitesini ziyaret edenleri hackleyebiliriz.