Sitemi temizliyorum, enfeksiyon ertesi gün geri geliyor
İşaretlenen dosyaları siliyorsunuz, birkaç saat her şey normale dönüyor, ardından sorun aynı şekilde geri geliyor: bir yerde hâlâ bir yeniden yükleme noktası var ve bu nokta nadiren tarayıcının baktığı yerde bulunuyor.
Kısmi bir temizlik neden tekrarı garantiler
Bir enfeksiyon temizlikten sonra birebir aynı şekilde geri geliyorsa, bu nadiren yeni bir saldırıdır. Temizliğin dokunmadığı bir bileşenden yola çıkarak kendini yeniden kuran aynı ele geçirmedir. Ele geçirilmiş bir site genellikle iki tür dosya barındırır: görünür etkiyi üretenler (yönlendirme, enjekte edilmiş sayfa, sipariş akışına eklenmiş beklenmedik betik) ve onları yeniden yerleştirenler. Birinciler gürültülüdür, bir tarayıcı onları bulur. İkinciler sessizdir ve çoğu zaman yönetim panelinin hiç göstermediği konumlara yerleştirilir.
Yeniden yükleme mekanizması yerinde durdukça, işaretlenen dosyaları silmek açık kalmış bir kapının önünü süpürmeye benzer. Tipik gecikme — birkaç saat veya bir gece — yalnızca bu mekanizmanın çalışma sıklığıdır. Bu başlı başına yararlı bir ipucudur: sabit aralıklarla tekrarlanan bir dönüş, elle tekrarlanan bir saldırıdan çok zamanlanmış bir göreve işaret eder.
Pratik kural şudur: kodun hangi yoldan geri geldiğini bulmadığım sürece, ne kadar temiz görünürse görünsün siteyi hâlâ ele geçirilmiş kabul ederim.
Bir yeniden yükleme noktasının kaldığını gösterenler
- Aynı dosyalar, aynı veya çok benzer bir adla, silindikten birkaç saat sonra yeniden beliriyor.
- Tarayıcı siteyi temiz ilan ediyor ama anormal davranış geri geliyor: yönlendirme, bilinmeyen bir sayfa, sayfalara eklenen bir betik.
- Tüm parolaları değiştirmiş olmanıza rağmen enfeksiyon geri geliyor.
- Sildiğiniz bir yönetici hesabı yeniden ortaya çıkıyor.
- Dönüş rastgele bir anda değil, düzenli aralıklarla gerçekleşiyor.
- Bir yedeği geri yüklemek sorunu birkaç gün çözüyor, sonra aynısı geri geliyor.
Eklenti listesine bakan bir tarayıcı bunu neden kaçırır
WordPress’te otomatik yüklenen bir eklenti klasörü vardır: wp-content/mu-plugins/, yani « must-use ». Buradaki kod her sayfa gösteriminde, etkinleştirme gerekmeden çalışır ve yönetim panelindeki eklenti listesinde görünmez. Onu etkili bir saklanma yeri yapan da tam olarak budur. Sucuri, Mart 2025’te saldırganların bu klasörü kullanmasını belgeledi ve üç zararlı dosya gözlemledi: redirect.php, ziyaretçileri tarayıcı güncellemesi kılığındaki zararlı bir dış sayfaya yönlendiriyor; index.php, sunucuya uzaktan erişim veren bir webshell; ve custom-js-loader.php, site içeriğini istenmeyen bağlantılarla değiştiriyor ve görselleri değiştiriyor.
Yönetim panelinde görünen listeyi bir referans listesiyle karşılaştıran bir araç bu klasörden hiçbir şey göremez, çünkü klasörün içeriği o listede hiçbir zaman yer almaz. Aynı kör nokta temalarda da vardır. Sucuri’nin Mayıs 2025’te incelediği bir kampanya, kodunu kurulu tüm temaların — aktif olmayanlar dâhil — header.php dosyasına enjekte ediyor ve ziyaretçiye sahte bir robot doğrulama sayfası gösteriyordu. Bu durumda yalnızca aktif temayı temizlemek, sunucuda kalan tema sayısı kadar kopyayı dokunulmadan bırakır: birinin etkinleştirilmesi her şeyin geri gelmesi için yeterlidir.
Tespit önerileri kısadır: olağandışı davranışları izleyin (yönlendirmeler, dosya değişiklikleri), anormal izinleri kontrol edin, dosya bütünlüğü denetimi kurun, yönetici hesaplarını gözden geçirin, her şeyi güncel tutun ve iki adımlı doğrulamayı etkinleştirin.
Kalıcılık noktaları, kontrol ettiğim sırayla
-
Otomatik yüklenen eklentiler
Her şeyden önce wp-content/mu-plugins/ klasörünün içeriğini listelerim. Sağlıklı birçok kurulumda bu klasör hiç yoktur. Varsa ve kimsenin talep etmediği dosyalar içeriyorsa, önce ele alınacak yeniden yükleme noktası odur; çünkü yönetim panelinde hiç görünmeden her sayfada çalışır.
-
Aktif olmayan temalar
Yalnızca aktif temanın değil, sunucudaki her temanın başlık dosyasını okurum. Kullanılmayan bir tema da okunabilir ve değiştirilebilir bir dosyadır; aktif tema temizlendikten sonra enjeksiyonu olduğu gibi korur. Kullanmadığınız ve kullanmayı düşünmediğiniz bir tema devre dışı bırakılmalı değil, silinmelidir.
-
Zamanlanmış görevler
Zamanlayıcının olaylarını listelerim. Patchstack’in Nisan 2025’te incelediği kimlik avı kampanyasında zararlı eklenti, her dakika çalışan rastgele adlı bir WP-Cron görevi planlıyor ve yükü yeniden kuruyordu. Adını tanımadığınız ve anormal derecede sık çalışan bir görev, planlanmış bir yeniden bulaşma olarak ele alınmalıdır.
-
Aktif temanın fonksiyon dosyası
Haziran 2026’da yayımlanan ShapedPlugin dağıtım zinciri ele geçirmesinde, aktif temanın functions.php dosyasına bir yükleyici kod enjekte ediliyor ve base64 ile kodlanmış bir yük okunuyordu. Burası birçok eklentinin düzenlediği tamamen meşru bir konumdur: taranmaz, satır satır okunur.
-
Yönetici hesapları
Ayrıcalıklı hesapların listesini gerçekte beklediğinizle karşılaştırırım. Birçok kampanya yönetici hesapları oluşturur ve bunları bazen panelde görünen kullanıcı listesinden gizler. Unutulmuş tek bir hesap, dosyalar ne kadar özenle temizlenirse temizlensin tam erişimi yeniden açar.
-
API anahtarları ve jetonları
Uygulama parolaları, API anahtarları, bağlı servislerin OAuth jetonları, iki adımlı doğrulama gizli anahtarları: okunmuş olabiliyorlarsa erişimi kesen tek önlem bunları yeniden üretmektir. Hâlâ geçerli bir jetonu elinde tutan bir saldırganın, az önce sildiğiniz arka kapıya ihtiyacı yoktur.
ls -la wp-content/mu-plugins/
wp cron event list
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
wp theme list
find wp-content/themes -name "header.php"
find . -type f -name "*.php" -mtime -14
Konuyla ilgili diğer sayfalar
-
Enfekte bir siteyi temizlemek
Site zaten ele geçirilmişse izlenecek tam prosedür, sırasıyla.
-
Temizlikten sonra korunmak
Dosyalar kaldırıldıktan sonra kapının yeniden açılmaması için geriye kalanlar.
-
Sunucuda bilinmeyen bir dosya
Yüklemediğiniz bir dosyayı silmeden önce nasıl niteleyeceğiniz.
-
Sitemin ele geçirilip geçirilmediğini kontrol etmek
Şüphe varken ama henüz hiçbir şey doğrulanmamışken yapılacak kontroller.
İhtiyacınızı bir dakikada anlatın
Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.