Web Shell Nedir ? Ne işe Yarar ?
Site üzerinden sunucuda kod çalıştırmamızı, dosya oluşturmamızı, silmemizi, okumamızı ve daha bir çok şey yapmamıza olanak sağlayan yazılımlardır.
Web Shell Nasıl Kullanılır ?
Web shell kullanmak için bir sunucuya ihtiyacınız olacak. Sunucuya bir web dili kurduktan sonra artık shell’imizi yükleyebiliriz.
Genel olarak PHP kullanıldığı için ben PHP üzerinden örnekler göstereceğim.
İlk olarak bize bir shell gerekiyor. En rahat kullanım ve anlatım için Alfa Shell üzerinden örnek vereceğim.
Alfa Shell’i indirmek için https://github.com/solevisible/ALFA-SHELL-V4 bu bağlantıyı kullanabilirsiniz.
Alfa-Shell-V4.1-Tesla.zip dosyasını zipten çıkarın. İçerisinde bulunan alfav4.1-tesla.php
bizim web shellimiz.
Web Shell Nasıl Yüklenir ?
Web shell kullanımı çok tehlikeli olabilir. Yüklediğiniz shell’i başkası fark ederse sitenizin dosyaları üzerinde oynamalar yapabilir, silebilir. Siteye zarar verebilir. Çok dikkat etmelisiniz.
İndirdiğiniz shell’i sitenize FTP, Cpanel gibi yollarla yükleyebilirsiniz. Yazılımınızı kullanarak da yükleyebilirsiniz. Normal dosya yükler gibi.
Shell’i attıktan sonra bulunduğu dizine gidiyoruz.
Ben uploads klasörüne shell.php adı altında atmıştım.
Tarayıcıya yazıp giriyoruz.
Evet Web shell’imiz geldi.
Şimdi neler olduğunu inceleylim.
Web Shell Fonksiyonları Detaylı Anlatım:
- Uname: İşletim sistemi hakkında bilgi verir.
- User: Shellin çalıştığı useri gösterir.
- PHP: PHP sürümünü hakkında bilgi verir.
- Safe Mode: Safe Mode’un açık mı kapalı mı olduğunu belirtir.
- ServerIP: Serverin IP adresini gösterir.
- Your IP: Sizin IP adresinizi gösterir.
- DateTime: Tarih ve saati gösterir.
- HDD: Disk kullanımı hakkında bilgi verir.
- Useful: Kullanabilecek şeyleri gösterir.
- Downloader: Herhangi bir şey indirmek istediğinizde kullanabileceğiniz yazılımları gösterir. Genelde wget ve curl kullanılır.
- Disable Funcitons: Sunucuda kapalı olan fonksiyonları gösterir.
- SoftWare: Sunucunun kullandığı yazılımı gösterir.
- PWD: Dizini gösterir. Yanında bulunan “Home Shell” butonuna basarsanız shell’in bulunduğu dizine gidersiniz.
Şimdi ortada bulunan menünün özelliklerine bakalım.
Procces: Sistem işlemleri hakkında bilgi almanızı sağlayan bölüm.
Eval: Yazılım dillerini çalıştırabiliceğiniz bölüm.
SQL Manager: Database bağlantıları yapabileceğiniz bölüm.
Deneme amaçlı oluşturduğum “ders” adlı veri tabanını girdim. İçerisinde ki verileri dump butonuna basarak indirebilirsiniz. Drop butonuna basarak silebilirsiniz.
Verileri değiştirebilirsiniz. SQL sorgusu çalıştırabilirsiniz.
En-Decoder: Bölümü ile bir çok şifreleme algoritması kullanıp decode-encode işlemi yapabilirsiniz.
BC: BackConnect kelimesinden gelmektedir. Reverse Shell almanızı sağlar.
Reverse shell bağlantısı almak için yapacağımız şeylere bakalım.
IP: Bölümü direk sizin IP adresiniz ile gelir.
Port: Port bölümüne de bir port girebilirsiniz. Default olarak 2012 gelmektedir.
Netcat indirmeniz gerekecek.
https://eternallybored.org/misc/netcat/ Bu adrese giderek indirebilirsiniz.
Windows: CMD’yi yönetici olarak çalıştırın. Netcat’i indirdiğiniz dizine cd
komutu ile gidin ve nc -lvp girdiğiniz port
yani port bölümüne 2012 girdiyseniznc -lvp 2012
yazın ve port bölümün yanında ki yeşil butona basın.
Linux işletim sistemlerinin bir çoğunda yüklü gelir direk nc -lvp girdiğiniz_port
yani nc -lvp 2012
yaparak kullanabilirsiniz.
Şuan dinleme işlemindeyiz. Şimdi shell’den butona basalım.
Evet basıyorum.
Bağlantı geldi. Artık sunucuda daha rahat komut çalıştırabiliriz.
Install Back-Door: Arka kapı (back-door) oluşturmamızı sağlar. Shell’imiz silinde bile backdoor silinmediği sürece backdoorumuzu kullanarak shell yükleyebiliriz.
“In File” diyerek dosyaların içine backdoor koyabilirsiniz. “In Database” diyerek database’in (veri tabanının)içine koyabilirsiniz.
“In file” diyoruz ve “Backdoor Loader” bölümüne backdoor koymak istediğimiz dosyayı diziniyle birlikte yazıyoruz. Ben index.php dosyasına koydum.
/var/www/html/index.php yerinde olduğu için bunu yazdım. Sonrasında yeşil butona basıp onayladım.
Alt kısımda “Succes…! Run With index.php?alfa=alfa” yazdı.
site.com/index.php?alfa=alfa yazdım ve backdoor geldi. Buradan tekrar web shell yükleyebilirsiniz.
Remove Shell: Shell’i kaldırmak için kullanılır. “Yes” butonuna basarak shell’i kaldırabilirsiniz.
Evet şimdi alt bölümlere geçelim. Dosya ve dizin kısmını kolayca görebilirsiniz.
Make File: Bu buton sayesinde dosya oluşturabilirsiniz.
Make Dir: Dizin oluşturabilirsiniz.
Change Dir: Dizin değiştirebilirsiniz.
Delete: Dosyayı, klasörü silebilirsiniz.
Read File: Dosya okumayı sağlayabilirsiniz.
Execute: Komut çalıştırabilirsiniz.
Upload File: Dosya yükleyebilirsiniz.
Web Shell Ne Amaçla Kullanılır ?
Web Shell ile sitemizi kontrol edebiliyoruz fakat bunu cPanel gibi yerlerden yapmak daha güvenli olacaktır. Web Sheller genelde illegal amaçla kullanılır.
Sitenin güvenliğini test etmek için pentesterlar da kullanabilmektedir.
Web Shell Nasıl Önlenir ?
Web sheller çok tehlikelidir. Sitenizde ki upload butonlarının kontrollerini iyi yapın.
Resim yükleme butonlarından web shell girmesi muhtemel olabilir. CMS güvenliği yaptırmanızda fayda var.
Yorum Gönder