Webshell nedir?
Webshell, bir web sunucusuna yerleştirilen ve saldırganın tarayıcı veya HTTP istekleri üzerinden sunucuda komut çalıştırmasını, dosya yönetmesini sağlayan zararlı betiktir. Genellikle PHP, ASP veya JSP gibi sunucu tarafı dillerle yazılır.
Bir site ele geçirildiğinde saldırganlar çoğu zaman kalıcı erişim için webshell bırakır. Küçük bir dosya bile tam bir yönetim arayüzü sunabilir.
Nasıl çalışır?
Webshell önce bir açık veya zayıf kimlik bilgisi sayesinde sunucuya yüklenir: dosya yükleme açığı, güncellenmemiş eklenti, çalınmış FTP parolası gibi. Sonrasında saldırgan betiğin adresine istek göndererek komut verir; betik komutu sunucuda çalıştırır ve çıktıyı döndürür.
Tespitten kaçınmak için kod şifrelenir veya karıştırılır, dosya adları meşru dosyalara benzetilir ve yalnızca belirli parametre geldiğinde tetiklenecek şekilde gizlenir.
Sunucu ve hosting ortamında
Paylaşımlı hostingte webshell, sitenin yazma izni olan dizinlerine (yükleme klasörleri, önbellek dizinleri) yerleştirilebilir. Hesap yalıtımı yoksa diğer sitelere sıçrama denenebilir.
- Yükleme klasörlerinde
.phpuzantılı dosya görmek güçlü bir uyarıdır. - Erişim günlüklerinde tek bir dosyaya gelen tuhaf POST istekleri incelenmelidir.
- Kötü amaçlı yazılım tarayıcıları, bilinen webshell imzalarını arayabilir.
Nasıl korunulur?
- CMS, eklenti ve temaları güncel tutun; kullanmadıklarınızı silin.
- Yükleme dizinlerinde betik çalıştırmayı web sunucusu yapılandırmasıyla engelleyin.
- Dosya izinlerini sıkılaştırın; web sunucusu kullanıcısının yazabildiği alanları azaltın.
- Dosya bütünlüğü izleme ve düzenli kötü amaçlı yazılım taraması uygulayın.
- FTP/SFTP, panel ve yönetici hesaplarında güçlü parola ve iki aşamalı doğrulama kullanın.
- Bir webshell bulduğunuzda tek dosyayı silmeyin; erişim nasıl sağlandıysa o yolu da kapatın.
Sık yapılan hatalar
- Yalnızca bulunan dosyayı silip ilk giriş yolunu kapatmamak.
- Yükleme klasörlerinde betik çalıştırmaya izin vermek.
- Güvenilmeyen kaynaktan tema ve eklenti kurmak.
- Temizlik sonrası parolaları değiştirmemek.
Sık sorulan sorular
Webshell nedir?
Web sunucusuna yerleştirilen ve uzaktan komut çalıştırmaya imkân veren zararlı betiktir.
Webshell nasıl tespit edilir?
Beklenmeyen dosyalar, yükleme klasöründeki betikler, dosya değişiklik tarihleri ve tuhaf istekler işaret olabilir. Dosya bütünlüğü ve kötü amaçlı yazılım taramaları tespit etmeye yardım eder.
Webshell ile arka kapı arasındaki fark nedir?
Webshell, web üzerinden çalışan özel bir arka kapı türüdür. Arka kapı kavramı ise sunucuda kullanıcı, anahtar veya servis gibi başka biçimleri de kapsar.
Bu terimin geçtiği rehberler
- ClamAV ile sunucuda zararlı yazılım taramasıClamAV kurulumu, imza güncelleme, clamscan ile site dizinlerini tarama, cron ile otomatik rapor ve karantina adımlarını Debian ile AlmaLinux için öğrenin.
- Webshell ve zararlı dosya tespitiSunucuda webshell ve zararlı PHP dosyalarını bulma rehberi: şüpheli dosya arama komutları, kontrol toplamı karşılaştırma, günlük analizi ve önleme önlemleri.
İlgili terimler
- XSS (Siteler arası betik çalıştırma)Saldırganın başkalarının tarayıcısında kendi JavaScript kodunu çalıştırması.
- XXE (XML dış varlık enjeksiyonu)XML ayrıştırıcısının dış kaynakları okumasına yol açan açık.
- Yan kanal saldırısı (side-channel)Algoritmanın kendisini değil, çalışma süresi, güç tüketimi veya önbellek davranışı gibi yan etkileri kullanarak gizli veri çıkarma yöntemi.
- Yarış durumu (race condition)İşlemlerin zamanlamasına bağlı olarak ortaya çıkan, istismar edilebilir hata.
- Yetki yükseltme (privilege escalation)Düşük yetkili bir hesabın daha yüksek yetki elde etmesi.
- Zararlı yazılım (malware)Sisteme zarar vermek ya da yetkisiz erişim sağlamak için yazılmış yazılımların genel adı.