Web sitesinde kötü amaçlı kod keşfeden her web yöneticisi pek hoş olmayan pek çok deneyimle karşılaşır. Site sahibi, panik içinde hemen virüsü bulup yok etmeye ve bu iğrenç şeyin sitesine nasıl bulaştığını anlamaya çalışır. Ancak uygulamanın gösterdiği gibi, bir web sitesinde kötü amaçlı kod bulmak o kadar kolay değildir. Sonuçta, bir virüs, WordPress üzerinde çalışan bir motor veya normal bir html web sitesi olsun, büyük bir kısmı bir web sitesini oluşturan bir veya birkaç dosyaya kaydedilebilir.

Dün e-postamı kontrol ederken Google'dan, sitemin belirli sayfalarını ziyaret etmenin kullanıcıların bilgisayarlarına kötü amaçlı yazılım bulaşmasına yol açabileceğini belirten bir mektup keşfettim. Artık bu sayfalara Google.ru arama sonuçlarındaki bağlantılar aracılığıyla erişen kullanıcılara bir uyarı sayfası gösteriliyor. Bu site Google Web Yöneticisi Panelime eklenmediğinden e-postayla bilgilendirildim. Web yöneticisi panelinde birkaç sitem daha vardı; oraya gittiğimde iki sitemde daha kötü amaçlı kod uyarısı gördüğümde dehşete kapıldım.
Sonuç olarak, bulup yok etmem gereken üç siteme kötü amaçlı kod yerleşti. Sitelerden biri WordPress üzerinde çalışıyordu, diğer ikisi ise normal PHP sayfalarından oluşuyordu.

Kötü amaçlı kodun varlığına Google'ın Yandex'den çok daha hızlı tepki verdiğini belirtmekte fayda var. Yandex web yöneticisi panelinde sitede virüs varlığına ilişkin bir uyarı görünmedi. Neyse ki birkaç saat içinde bu talihsiz virüsü bulmayı başardım.

Kural olarak, çoğu zaman sitelere iframe virüsü adı verilen virüs bulaşır. Bu virüs aslında kodlardan oluşuyor... . Virüs, Total Commander'dan veya başka bir ftp istemcisinden tüm şifreleri çalar. Benim durumumda da aynı şey oldu; iframe kodu sitemdeki birkaç düzine dosyaya yazılmıştı. WordPress üzerinde çalışan sitede zararlı kod yalnızca footer.php dosyasına yerleşmeyi başardı.

Peki, sitenize virüs bulaştığını tespit ederseniz kötü amaçlı kodu nasıl bulabilirsiniz:

1. Hosting kontrol panelinize gidin ve şifrenizi değiştirin. Birden fazla siteniz varsa, bunu tüm sitelerimiz için yapıyoruz.

2. FTP istemcisindeki şifreleri değiştirin ve silin. Artık şifreleri hiçbir zaman ftp istemcilerinde saklamıyoruz; onları her zaman manuel olarak giriyoruz.

3. FTP üzerinden hostinge giderek dosyalarınızda nelerin değiştiğini görebilirsiniz. Dosyaları son değiştirilme tarihine göre sıralayın. Etkilenen dosyalar en son ve aynı tarihe sahip olmalıdır. Bu dosyaları açın ve iframe kodunu arayın, genellikle bu kod en sonunda bulunur. Temel olarak kötü amaçlı kod şu dosyalara yazılır: index.php, index.html ve .js uzantılı dosyalar. Çoğu zaman bu enfeksiyon etiketler arasında yaşar... .
Kendi kendine yazılan siteler için, tüm komut dosyalarına ve klasörlerine çok dikkatli bakın; virüs genellikle oraya yazılır. Ayrıca bu virüsün en sevdiği yaşam alanı sitenin sayaç kodları ve reklam kodlarıdır.

4. .htaccess dosyasında şüpheli kod olup olmadığını kontrol edin. Bazen kötü amaçlı kod bu dosyaya sızar. Genellikle motor dosyalarında .htaccess dosyasının bulunabileceği birkaç dizin bulunur. Tüm bu dosyaları kontrol edin ve kodun “temiz” olduğundan emin olun.

WordPress dosyalarına veya diğer CMS'lere gelince, kural olarak, herhangi bir CMS birçok dosya ve klasörden oluşur ve bunların içinde kötü amaçlı kod bulmak çok zordur. Örneğin WordPress için TAC eklentisini önerebilirim. Bu eklenti, temalar klasöründeki tüm temalardaki dosyaları üçüncü taraf kodu açısından kontrol eder. TAC istenmeyen kod bulursa bu dosyanın yolunu gösterecektir. Böylece maskeleme virüsünü hesaplamak mümkündür.
TAC eklentisini indirin: wordpress.org

Genel olarak site dosyalarınızla gerçekleştirdiğiniz tüm eylemleri sürekli olarak aklınızda tutmalısınız. Buna veya bu koda nelerin değiştirildiğini veya eklendiğini hatırlayın.

Kötü amaçlı kodu bulup kaldırdıktan sonra, bilgisayarınızda virüs olup olmadığını kontrol etmenizin zararı olmaz.
Siteniz Google veya Yandx tarafından virüslü olarak işaretlendiyse, web yöneticisi paneli aracılığıyla yeniden kontrol edilmesi için bir istek göndermeniz gerekir. Kural olarak arama motorlarının sitenizdeki tüm kısıtlamaları 24 saat içinde kaldırması gerekir. Google'ın yeniden doğrulama isteğimi işleme alması uzun sürmedi ve birkaç saat sonra sitelerimdeki tüm kısıtlamalar kaldırıldı.

Sitenizi zararlı virüslere karşı periyodik olarak kontrol etmek gereklidir; bu, kendine saygısı olan herhangi bir web yöneticisinin ilk emridir. Temiz bir Twenty Eleven teması kullansanız bile zamanla virüs bulaşmadığı da bir gerçek değil. Bu fenomen, WordPress motorunun orijinal olarak çevrimiçi yayıncılık için tasarlanmış olması nedeniyle ortaya çıkabilir (ve çoğu zaman meydana gelir). Bu nedenle siteyi ve veritabanını tekrar kontrol edip bir kopyasını çıkarmanın hiçbir zararı olmaz.

Örneğin, ben (tabii ki bir süre sonra) kendim için bir sonuç çıkardım - sadece iyi bir barındırma sağlayıcısına ihtiyacınız var ve yedeklemeyle ilgili sorunlarınız kendiliğinden ortadan kalkacak. Artık veritabanı veya web sitesi yedeklemesi yapmam gerekmiyor; barındırıcı her şeyi benim için ve otomatik olarak yapıyor. Dilediğiniz zaman, dilerseniz blogunuzun herhangi bir bölümünün (sadece değil) bir kopyasını sipariş edebilir, bu kopyayı indirebilir veya blogu doğrudan kontrol panelinden geri yükleyebilirsiniz. Yani, bir yedekleme indirmeme gerek yok, her şey otomatik olarak gerçekleşiyor - yedekleme, geri yükleme vb. Bu kullanışlı çünkü blogumda bir virüsün ne zaman ortaya çıktığını yalnızca günlük değil, saatlik olarak takip edebiliyorum ve buna göre onu ortadan kaldırmak için önlemler alabiliyorum.

İyi haberle başlayacağım; kullandığım en az iki eklenti, kötü amaçlı kodu tespit etme ve yerelleştirme konusunda iyi sonuçlar veriyor. Bunlar AntiVirus ve Exploit Scanner eklentileridir. Blogunuzda ne kadar zararlı kod olduğuna inanamayacaksınız! Ancak kontrol ettikten sonra ortaya çıkan tüm bilgileri dogma olarak görmeyin; bu eklentilerin tespit ettiği satırların çoğu aslında kötü bir şey ifade etmez. Eklenti sadece bazı satırları sorguluyor, hepsi bu. Bundan emin olmak için eklentinin kötü amaçlı olarak tanımladığı parçaları manuel olarak kontrol edin. Dolayısıyla, AntiVirus eklentisini kontrol ederken, get_cache_file () işlevine yapılan basit bir çağrının bile eklenti tarafından zaten şüpheli olarak değerlendirildiği ortaya çıktı. Bu nedenle tüm kontrol sonuçlarının manuel olarak takip edilmesi gerekecektir. Ancak örneğin bu gerçekten virüslü bir bağlantıdır ve kaldırılması gerekir:

Bunun bir virüs olup olmadığını veya nasıl olması gerektiğini nasıl anlarsınız? Her şey çok basit - temiz şablonunuzu (varsa) karşılaştırın ve onu (dosya bazında) yüklü ve daha önce bazı değişiklikler geçirmiş olanla karşılaştırın. Doğrudan bir karşılaştırma yapmanıza gerek yok, boş şablonunuzun eklentinin vurguladığı satırı içerip içermediğini kontrol etmek için bir arama yapmanız yeterli. Varsa “Bu bir virüs değil” butonuna tıklayın, bir sonraki taramada bu satır dikkate alınmayacaktır.

İşte test ettiğimiz ikinci eklentinin bir örneği: Exploit Scanner

Gördüğünüz gibi burada her şey çok daha ihmal ediliyor. Benim için bu sonuç şok ediciydi. Ama hepsi bu değil. Eklentinin kontrol adı verilen bir işlevi vardır. Yani, eğer onu açarsanız, blogun metinden ve en fazla birkaç CSS tablosundan oluşması gerektiği ortaya çıkıyor. Bana öyle geliyor ki eklentinin yazarı burada güvenlik konusunda açıkça abartmış. Eklentinin virüslü olduğundan şüphelenilen parçaları göstermesi ve bunları temizlememesi iyi bir şey.

Sarı renkle vurgulanan tüm satırları analiz ettikten sonra, kötü amaçlı yazılımları (kötü amaçlı kod) kolayca tespit edebilir, bundan sonra onunla ne yapacağınıza kendiniz karar verebilirsiniz. Temizleme yöntemi hala aynı - seçilen kodu site yedeğiyle karşılaştırın (bkz.) ve tutarsızlıklar bulursanız, bunu kendiniz mi yaptığınızı yoksa birisinin sizin için mi yaptığını öğrenin; bu, bunun artık iyi olmadığı anlamına gelir ve virüs olduğu ortaya çıkabilir. WordPress geliştiricileri bile bu eklentiyle sitenizi kötü amaçlı kodlara karşı kontrol etmenizi önerir. Ancak, örneğin bir iframe'in gövdesinde, eklentinin virüslü kod olarak da tanımlayabileceği zararsız eklentiler vardır. Ancak gerçekte bu çizgiler olmadan blogunuzun bu alanı düzgün çalışmayacaktır.

Kötü amaçlı yazılım blog dosyalarına nasıl girebilir ve tanımı gereği nedir? Kötü amaçlı yazılım kelimesi kelimenin tam anlamıyla şu anlama gelir: Kötü amaçlı yazılım, İngilizce kötü amaçlı yazılımdan. Bu, siteye ve içeriğine yetkisiz erişim için kullanılabilecek herhangi bir yazılımdır. Muhtemelen ortalama bir bilgisayar korsanı için, özellikle kayıt olduktan sonra bir web sitesini hacklemenin zor olmayacağını hayal ediyorsunuz. Bundan sonra blog içeriğini istediğiniz gibi değiştirebilirsiniz - eğitici olacaktır.

Kötü amaçlı kötü amaçlı yazılımlar, bilinmeyen bir kaynaktan yüklediğiniz eklentilere ve bazen kontrol etmeden ancak yazara güvenerek aldığınız komut dosyalarına eklenebilir. En zararsız kötü amaçlı yazılım, siteye yüklediğiniz herhangi bir modülün yazarına bir bağlantıdır. Ve eğer yazarın kendisi sizi böyle bir bağlantının var olduğu konusunda uyarmadıysa, o zaman bu saf bir virüstür.

Böylece, bir test bloguna yeni bir tema yükledim ve sitenin bodrum katındaki bir tür erkek kulübüne giden zararsız bir bağlantıyı sildikten sonra, açılmayı tamamen durdurdu ve ana sayfada bir yazı vardı - “Yapıyorsun bağlantıları silme hakkına sahip değilsiniz.” İşte size ücretsiz bir tema. Bu tür sol bağlantıların nasıl söküleceğini okuyabilirsiniz.

Veritabanınız virüs içeren kodu çalıştırmak için de kullanılabilir. Spam içerikli bağlantılar da sıklıkla gönderilere veya yorumlara eklenir. Bu tür bağlantılar genellikle CSS kullanılarak gizlenir, böylece deneyimsiz bir yönetici bunları görmez, ancak arama motoru bunları hemen tanıyacaktır. Elbette burada herhangi bir antispam devreye giriyor; örneğin, lisanslanan, test edilen ve defalarca kontrol edilen antispam. Bir bilgisayar korsanı, resim dosyası uzantılarına sahip dosyaları indirebilir ve bunları etkinleştirilmiş eklentilerinizin koduna ekleyebilir. Dolayısıyla dosyanın php uzantısı olmasa bile o dosyadaki kod çalıştırılabilir.

Kötü amaçlı yazılımlarla tanışmaya başladığım başka bir basit araç daha var: Theme Authenticity Checker (TAC) eklentisi. Bu hafif ve oldukça etkili bir araçtır, ancak yalnızca konularınızı, hatta aktif olmayan konularınızı bile kontrol eder. Dizinlerin geri kalanına dokunmuyor ve bu onun dezavantajı. Mevcut temamı bu eklentiyle test etmenin bana sağladığı şey şu:

Aktif başlıkta iki uyarı var, başka bir şey yok. Kötü amaçlı kod yoktur. Bu arada, bunlar, snippet'in kalitesini artırmak için (kişisel verileri, kuruluş adresini vb. görüntüleme) Google'ın tavsiyesi üzerine kendim eklediğim bağlantılar. Ancak bu yalnızca tema dosyalarını kontrol etmektir ve diğer eklentileri veya çevrimiçi hizmetleri kullanarak diğer dizinlerde ne yapıldığını bulmanız gerekecektir. Örneğin, Yandex Webmaster gibi bir hizmet (gerçekten güvenilirdir) veya Google'daki benzer bir hizmet. Herhangi bir web kaynağını kötü niyetli eklentilerin varlığına karşı kontrol etme işlevine sahiptirler ve bunu verimli bir şekilde yaparlar. Ancak bu sizin için yeterli değilse, sonuçları diğer hizmetlerin sonuçlarıyla karşılaştırın ve sonuçlar çıkarın.

Bazı nedenlerden dolayı eklentilere değil Yandex'e güvenmek istiyorum. Başka bir iyi kaynak http://2ip.ru/site-virus-scanner/'dir. Bloglarımdan birini kontrol ettikten sonra şunları buldum:

Herhangi bir şüpheniz varsa burada, tek tek dosyaları kötü amaçlı kodlara karşı da kontrol edebilirsiniz. Genel olarak hizmet fena değil.

Bütün söylenenlerden şu sonuçları çıkardım:

1. Kötü amaçlı kodların ortaya çıkmasını önlemek için, öncelikle dosyaları indirmek için kanıtlanmış hizmetleri (eklentiler, temalar vb.) kullanmalısınız.

2. İndirilen üçüncü taraf dosyalar da dahil olmak üzere sitenin içerdiği her şeyin (veritabanları, içerik, yönetici paneli) düzenli olarak yedek kopyalarını alın.

3. WordPress'in sunduğu güncellemelerden yararlanın. Her zaman işlevsel olarak haklı olmasalar da, en azından virüs içermiyorlar. Ancak güncelleme yaparak mevcut olabilecek virüsleri ortadan kaldırırsınız.

4. Kullanılmayan temaları, eklentileri, görselleri ve dosyaları pişmanlık duymadan silin; bu, kötü amaçlı yazılımlardan asla tahmin bile edemeyeceğiniz başka bir kaçış yoludur.

5. FTP erişimlerinizi, PhpAdmin'e, yönetici paneline ve genel olarak sizden başka kimsenin erişmemesi gereken yerlere giriş yapın.

6. WordPress'in çekirdek dosyalarını değiştirmemeye veya değiştirmemeye çalışın (arzunuz gökyüzü kadar büyük olsa bile). Geliştiriciler neyin nasıl çalışması gerektiğini daha iyi bilir.

7. Virüsleri tespit edip kaldırdıktan sonra tüm şifreleri değiştirin. Farklı kayıtlarda ve özel karakterlerle 148 karakterlik bir şifre oluşturmak için büyük bir istek duyacağınızı düşünüyorum. Ancak çok karmaşık şifrelere kapılmayın, kaybedebilirsiniz ve sonra her şeyi geri yüklemeniz gerekecek ki bu pek hoş değil.

Virüslerden kurtulmanıza yardımcı olacak anlattığım tüm bu yöntem ve bileşenler elbette ücretsizdir, neredeyse ev yapımıdır ve elbette sitenizin kötü amaçlı yazılımlardan temizleneceğine dair %100 garanti vermezler. ekler. Bu nedenle, blogunuzu temizleme konusunda zaten endişeleniyorsanız, örneğin Sucuri hizmeti (http://sucuri.net/) gibi profesyonellerle iletişime geçmek daha iyidir. Burada siteniz iyice izlenecek, size mektupla gönderilecek pratik öneriler verilecek ve siteyi kendiniz temizlemek istemiyorsanız, her şeyi mümkün olan en iyi şekilde yapacak uzmanlar hizmetinizdedir. 4 saat içinde:

Test blogum izleme sonrasında böyle görünüyor ve bu, diğer yöntemlerin (evde yetiştirilen) her zaman farklı sonuçlar vermesine rağmen. Gördüğünüz gibi test ücretsizdir, ancak virüs tespit edilirse siteye zarar vermeden bunları kaldırmak için ödeme yapmalısınız (tabii ki blogunuzu kötü amaçlı yazılımlardan temizleme konusunda uzman değilseniz).

Bir kez daha vurgulamak isterim ki, bilgisayar korsanları uyumuyor, virüsler sürekli güncelleniyor ve her şeyi kendi başınıza takip etmeniz imkansız. Tüm yenilikler o kadar dikkatli bir şekilde gizlenmiş ve gizlenmiştir ki bunları yalnızca ekip ortaya çıkarabilir! profesyoneller ve birçoğunun olduğu gibi kendi kendini yetiştirmiş blog yazarı değil. Kötü amaçlı yazılımların manuel olarak tespit edilmesinin ve kaldırılmasının bu kadar etkisiz olmasının nedeni budur: deneyim yoksa sonuç da yoktur, ancak bir virüs var. Lisanslı programlar kullanın ve tehlikelerin ortadan kaldırılmasını profesyonellere emanet edin

Hayatın gerçeği sitenin er ya da geç hacklenebileceğidir. Güvenlik açığından başarıyla yararlandıktan sonra, bilgisayar korsanı, bilgisayar korsanı web kabuklarını ve indiricilerini sistem dizinlerine yerleştirerek ve komut dosyası koduna ve CMS veritabanına arka kapılar yerleştirerek sitede yer edinmeye çalışır.

Dosyalarda ve veritabanlarında kötü amaçlı kodları tespit etmek için özel çözümler vardır - antivirüsler ve barındırma için tarayıcılar. Bunlardan çok fazla yok; en popüler olanları AI-BOLIT, MalDet (Linux Malware Detector) ve ClamAv'dır.

Tarayıcılar, yüklenen web kabuklarını, arka kapıları, kimlik avı sayfalarını, spam e-posta gönderenleri ve diğer kötü amaçlı komut dosyası türlerini, yani onların bildiği ve kötü amaçlı kod imza veritabanına önceden eklenmiş olan her şeyi algılamaya yardımcı olur. AI-BOLIT gibi bazı tarayıcılar, genellikle kötü amaçlı komut dosyalarında kullanılan şüpheli kod içeren dosyaları veya bilgisayar korsanları tarafından indirilebilecek şüpheli özelliklere sahip dosyaları algılayabilen bir dizi buluşsal yönteme sahiptir. Ancak ne yazık ki hosting üzerinde birden fazla tarayıcı kullanılsa bile bazı hacker scriptlerinin tespit edilemediği durumlar olabiliyor, bu da aslında saldırganın bir “arka kapı” ile kalması ve siteyi hackleyerek site üzerinde tam kontrol sahibi olabilmesi anlamına geliyor. herhangi bir zamanda.anında.

Modern kötü amaçlı yazılım ve hacker komut dosyaları, 4-5 yıl öncekilerden önemli ölçüde farklıdır. Şu anda kötü amaçlı kod geliştiricileri, antivirüs yazılımını kandırmak için gizleme, şifreleme, ayrıştırma, kötü amaçlı kodun dışarıdan yüklenmesi ve diğer hileleri bir araya getiriyor. Bu nedenle, yeni kötü amaçlı yazılımların gözden kaçırılma olasılığı eskisinden çok daha yüksektir.

Bu durumda sitedeki virüsleri ve barındırmadaki hacker komut dosyalarını daha etkili bir şekilde tespit etmek için ne yapılabilir? Entegre bir yaklaşımın kullanılması gereklidir: ilk otomatik tarama ve daha fazla manuel analiz. Bu makalede, tarayıcılar olmadan kötü amaçlı kodları tespit etmeye yönelik seçenekler tartışılacaktır.

Öncelikle hack sırasında tam olarak nelere dikkat etmeniz gerektiğine bakalım.

  • Hacker komut dosyaları.
    Çoğu zaman, bilgisayar korsanlığı sırasında indirilen dosyalar web kabukları, arka kapılar, "yükleyiciler", spam postaları için komut dosyaları, kimlik avı sayfaları + form işlemcileri, girişler ve bilgisayar korsanlığı işaretleyici dosyalarıdır (bilgisayar korsanı grubunun logosundan resimler, "mesaj" içeren metin dosyaları). bilgisayar korsanlarından vb.)
  • Mevcut .
    Kötü amaçlı ve hacker kodu barındırmanın ikinci en popüler türü enjeksiyonlardır. Mobil ve arama yönlendirmeleri mevcut site .htaccess dosyalarına enjekte edilebilir, arka kapılar php/Perl komut dosyalarına enjekte edilebilir ve viral javascript parçaları veya üçüncü taraf kaynaklara yönlendirmeler .js ve .html şablonlarına yerleştirilebilir. Medya dosyalarına da enjeksiyon yapılabilir, örneğin.jpg veya. Kötü amaçlı kod genellikle birkaç bileşenden oluşur: Kötü amaçlı kodun kendisi jpg dosyasının exif başlığında saklanır ve kodu tarayıcıya şüpheli görünmeyen küçük bir kontrol komut dosyası kullanılarak yürütülür.
  • Veritabanı enjeksiyonları.
    Veritabanı bir bilgisayar korsanının üçüncü hedefidir. Burada, ziyaretçileri üçüncü taraf kaynaklara yönlendiren, onları "gözetleyen" veya bir arabadan saldırı sonucu ziyaretçinin bilgisayarına/mobil cihazına bulaşan statik eklentiler mümkündür.
    Ek olarak, birçok modern CMS'de (IPB, vBulletin, modx, vb.), şablon motorları PHP kodunu çalıştırmanıza izin verir ve şablonların kendileri veritabanında saklanır, böylece web kabuklarının ve arka kapıların PHP kodu doğrudan oluşturulabilir. veritabanına.
  • Önbelleğe alma hizmetlerine enjeksiyonlar.
    Önbelleğe alma hizmetlerinin yanlış veya güvenli olmayan şekilde yapılandırılmasının bir sonucu olarak, örneğin memcached, önbelleğe alınan verilere "anında" enjeksiyon yapılması mümkündür. Bazı durumlarda bilgisayar korsanı, siteyi doğrudan hacklemeden sitenin sayfalarına kötü amaçlı kod ekleyebilir.
  • Sunucu sistemi bileşenlerindeki enjeksiyonlar/başlatılan öğeler.
    Bir bilgisayar korsanı sunucuya ayrıcalıklı (kök) erişim elde etmişse, web sunucusunun veya önbellekleme sunucusunun öğelerini virüslü olanlarla değiştirebilir. Böyle bir web sunucusu, bir yandan kontrol komutlarını kullanarak sunucu üzerinde kontrol sağlayacak, diğer yandan zaman zaman sitenin sayfalarına dinamik yönlendirmeler ve kötü amaçlı kodlar sokacaktır. Önbellekleme hizmetine enjeksiyon yapılması durumunda olduğu gibi, tüm dosyalar ve veritabanı orijinal olacağından site yöneticisi büyük olasılıkla sitenin saldırıya uğradığını tespit edemeyecektir. Bu seçenek tedavi edilmesi en zor olanıdır.
  • Yani, barındırma ve veritabanı dökümü üzerindeki dosyaları tarayıcılarla zaten kontrol ettiğinizi, ancak hiçbir şey bulamadığınızı ve virüsün hala sayfada olduğunu veya sayfaları açarken mobil yönlendirmenin çalışmaya devam ettiğini varsayalım. Daha fazla nasıl arama yapılır?

    Manuel arama

    Unix'te, dosyaları ve parçaları bulmak için find / grep'ten daha değerli bir komut çifti bulmak zordur.

    bulmak . -name '*.ph*' -mtime -7

    Geçen hafta değiştirilen tüm dosyaları bulacaksınız. Bazen bilgisayar korsanları, yeni komut dosyalarını tespit etmemek için komut dosyalarının değiştirilme tarihini "çevirir". Daha sonra öznitelikleri değişen php/phtml dosyalarını arayabilirsiniz.

    bulmak . -name '*.ph*' -сtime -7

    Belirli bir zaman aralığında değişiklikleri bulmanız gerekiyorsa aynı bulma yöntemini kullanabilirsiniz.

    bulmak . -name '*.ph*' -newermt 2015-01-25 ! -newermt 2015-01-30 -ls

    Dosyaları aramak için grep vazgeçilmezdir. Belirli bir parça için dosyalar arasında yinelemeli olarak arama yapabilir

    grep -ril 'stummann.net/steffen/google-analytics/jquery-1.6.5.min.js' *

    Bir sunucuyu hacklerken, guid/suid bayrağı ayarlanmış dosyaları analiz etmek faydalıdır.

    bul / -perm -4000 -o -perm -2000

    Şu anda hangi komut dosyalarının çalıştığını ve barındırma CPU'sunu yüklediğini belirlemek için arayabilirsiniz.

    lsof +r 1 -p `ps axww | grep httpd | grep -v grep | awk ‘ ( if(!str) ( str=$1 ) else ( str=str”,”$1))END(print str)’` | grep hayaletleri | grep php

    Barındırmadaki dosyaları analiz etmek için beynimizi ve ellerimizi kullanırız
  • Komut dosyalarının yazdığı veya kullanıcılar tarafından yüklenen yükleme, önbellek, tmp, yedekleme, günlük, resim dizinlerine gidip şüpheli uzantılara sahip yeni dosyalar için içerikleri tarıyoruz. Örneğin joomla için, resimler:find ./images -name '*.ph*' dizinindeki .php dosyalarını kontrol edebilirsiniz. Büyük olasılıkla, bir şey bulunursa, bu kötü amaçlı yazılım olacaktır.
    WordPress için, komut dosyaları için wp-content/uploads dizinini, yedekleme ve önbellek tema dizinlerini kontrol etmek mantıklıdır.
  • Garip adlara sahip dosyalar aranıyor
    Örneğin php, fyi.php, n2fd2.php. Dosyalar aranabilir
    • standart olmayan karakter kombinasyonlarıyla,
    • dosya adlarında 3,4,5,6,7,8,9 sayılarının bulunması
  • Olağandışı uzantılara sahip dosyalar arıyoruz
    Diyelim ki WordPress üzerinde bir web siteniz var veya onlar için .py, .pl, .cgi, .so, .c, .phtml, .php3 uzantılı dosyalar pek de sıradan olmayacaktır. Bu uzantılara sahip herhangi bir komut dosyası ve dosya tespit edilirse, büyük olasılıkla hacker araçları olacaktır. Yanlış tespitlerin yüzdesi mümkündür ancak yüksek değildir.
  • Standart olmayan niteliklere veya oluşturulma tarihine sahip dosyalar arıyoruz
    Şüphe, sunucuda mevcut olanlardan farklı niteliklere sahip dosyalardan kaynaklanabilir. Örneğin, tüm .php komut dosyaları ftp/sftp yoluyla yüklendi ve kullanıcı kullanıcısı var, bazıları ise www-data kullanıcısı tarafından oluşturuldu. En son olanları kontrol etmek mantıklıdır. Veya komut dosyası oluşturma tarihi, site oluşturma tarihinden önceyse.
    Şüpheli özelliklere sahip dosyaların aranmasını hızlandırmak için Unix bul komutunu kullanmak uygundur.
  • Çok sayıda .html veya .php dosyası kullanarak kapıları arıyoruz
    Dizinde birkaç bin .php veya .html dosyası varsa, bu büyük olasılıkla bir kapı aralığıdır.
  • Yardımcı olacak günlükler

    Kötü amaçlı ve korsan komut dosyalarını tespit etmek için web sunucusu, e-posta hizmeti ve FTP günlükleri kullanılabilir.

    • Bir mektubun gönderim tarihini ve saatini (posta sunucusu günlüğünden veya bir spam mektubunun hizmet başlığından bulunabilir) erişim_logundan gelen isteklerle ilişkilendirmek, spam gönderme yöntemini tanımlamaya veya spam gönderenin komut dosyasını bulmaya yardımcı olur.
    • FTP xferlog aktarım günlüğünün analizi, saldırı sırasında hangi dosyaların indirildiğini, hangilerinin değiştirildiğini ve kim tarafından yapıldığını anlamanıza olanak tanır.
    • Doğru yapılandırılmış bir posta sunucusu günlüğünde veya bir spam e-postanın hizmet başlığında, eğer PHP doğru şekilde yapılandırılmışsa, gönderen komut dosyasının bir adı veya tam yolu olacaktır; bu, spam kaynağının belirlenmesine yardımcı olur.
    • Modern CMS ve eklentilerin proaktif koruma kayıtlarını kullanarak sitede hangi saldırıların gerçekleştirildiğini ve CMS'nin bunlara direnip direnemediğini belirleyebilirsiniz.
    • Access_log ve error_log'u kullanarak, çağırdığı komut dosyalarının adlarını, IP adresini veya Kullanıcı Aracısını biliyorsanız, bir bilgisayar korsanının eylemlerini analiz edebilirsiniz. Son çare olarak, sitenin saldırıya uğradığı ve bulaştığı gündeki POST isteklerini görüntüleyebilirsiniz. Çoğu zaman analiz, indirilen veya hackleme sırasında zaten sunucuda bulunan diğer hacker komut dosyalarını bulmanızı sağlar.
    Bütünlük kontrolü

    Güvenliğine önceden dikkat ederseniz, bir hack'i analiz etmek ve bir web sitesindeki kötü amaçlı komut dosyalarını aramak çok daha kolaydır. Bütünlük kontrolü prosedürü, barındırmadaki değişiklikleri zamanında tespit etmeye ve bilgisayar korsanlığı gerçeğini belirlemeye yardımcı olur. En basit ve etkili yollardan biri siteyi bir sürüm kontrol sistemine (git, svn, cvs) tabi tutmaktır. .gitignore'u doğru şekilde yapılandırırsanız, değişiklik kontrol süreci git status komutunu çağırmak gibi görünür ve kötü amaçlı komut dosyalarını ve değiştirilen dosyaları aramak git diff gibi görünür.

    Ayrıca, dosyalarınızın her zaman bir yedek kopyasına sahip olacaksınız ve bu kopyaya siteyi birkaç saniye içinde "geri alabilirsiniz". Sunucu yöneticileri ve ileri düzey web yöneticileri, dosyalara ve dizinlere erişimi izlemek ve dosya sistemindeki değişiklikleri izlemek için inotify, tripwire, Auditd ve diğer mekanizmaları kullanabilir.

    Ne yazık ki sunucu üzerinde sürüm kontrol sistemi veya üçüncü taraf hizmetleri yapılandırmak her zaman mümkün olmuyor. Paylaşımlı hosting durumunda sürüm kontrol sistemi ve sistem hizmetlerinin kurulumu mümkün olmayacaktır. Ancak önemli değil, CMS için oldukça fazla hazır çözüm var. Siteye, dosyalardaki değişiklikleri izleyecek bir eklenti veya ayrı bir komut dosyası yükleyebilirsiniz. Bazı CMS'ler halihazırda etkili değişiklik izleme ve bütünlük kontrol mekanizması uygulamaktadır (Örneğin, Bitrix, DLE). Son çare olarak eğer hostingde ssh varsa komutu ile dosya sisteminin referans anlık görüntüsünü oluşturabilirsiniz.

    ls -lahR > orijinal_dosya.txt

    ve sorunlar ortaya çıkarsa, başka bir dosyada yeni bir anlık görüntü oluşturun ve ardından bunları WinDiff, AraxisMerge Tool veya BeyondCompare'de karşılaştırın.

    Sonsöz

    Çoğu durumda, virüsten koruma yazılımı geliştiricileri ve tarayıcıları, kötü amaçlı yazılım geliştiricilerine ayak uyduramaz; dolayısıyla siteleri teşhis ederken ve tedavi ederken yalnızca otomatik yazılım çözümlerine ve komut dosyalarına güvenemezsiniz. Sezgisel bir yaklaşım, zengin işletim sistemi araçları ve CMS yeteneklerini kullanarak, antivirüslerin ve tarayıcıların tespit edemediği kötü amaçlı kodları bulabilirsiniz. Manuel analizin kullanılması web sitesi işleme sürecini daha iyi ve daha verimli hale getirir.

    Kötü amaçlı kod, ihmal veya kötü niyet yoluyla siteye girer. Kötü amaçlı kodun amaçları farklılık gösterebilir ancak esas olarak bir web sitesinin normal çalışmasına zarar verir veya müdahale eder. WordPress'teki kötü amaçlı kodu kaldırmak için önce onu bulmalısınız.

    WordPress sitesindeki kötü amaçlı kod nedir?

    Görünüşe göre, çoğu zaman kötü amaçlı kod, Latin alfabesinin bir dizi harf ve sembolünden oluşur. Aslında bu, şu veya bu eylemin gerçekleştirildiği şifrelenmiş bir koddur. Eylemler çok farklı olabilir; örneğin, yeni gönderileriniz hemen bir üçüncü taraf kaynağında yayınlanır. Bu aslında içeriğinizin çalınmasıdır. Kodların ayrıca site sayfalarına giden bağlantıları yerleştirmek gibi başka "görevleri" de vardır. Görevler en karmaşık görevler olabilir ancak bir şey açıktır: Kötü amaçlı kodların yakalanması ve kaldırılması gerekir.

    Kötü amaçlı kodlar bir web sitesine nasıl girer?

    Ayrıca kodların siteye girmesi için birçok boşluk vardır.

  • Çoğu zaman bunlar "sol" kaynaklardan indirilen temalar ve eklentilerdir. Bununla birlikte, bu tür bir nüfuz sözde şifreli bağlantılar için tipiktir. Açık kod sitede yer almaz.
  • Bir site saldırıya uğradığında bir virüsün nüfuz etmesi en tehlikeli olanıdır. Kural olarak, bir siteyi hacklemek yalnızca "tek seferlik bir kod" yerleştirmenize değil, aynı zamanda kötü amaçlı yazılım (kötü amaçlı program) öğeleri içeren kod yüklemenize de olanak tanır. Mesela bir kod bulup siliyorsunuz ama bir süre sonra eski haline dönüyor. Yine birçok seçenek var.
  • Bu tür virüslerle mücadelenin zor olduğunu ve manuel olarak kaldırılmasının bilgi gerektirdiğini hemen belirteyim. Sorunun üç çözümü var: İlk çözüm, antivirüs eklentilerini, örneğin BulletProof Security adlı bir eklentiyi kullanmaktır.

    Bu çözüm iyi sonuçlar verir ancak biraz da olsa zaman alır. Karmaşık virüsler de dahil olmak üzere kötü amaçlı kodlardan kurtulmanın daha radikal bir çözümü var, o da siteyi daha önce oluşturulmuş yedek kopyalardan geri yüklemektir.

    İyi bir web yöneticisi bunu periyodik olarak yaptığından, virüs bulaşmamış bir sürüme sorunsuz bir şekilde geri dönebilirsiniz. Üçüncü çözüm, zengin ve tembeller için, uzman bir "ofis" veya bireysel bir uzmanla iletişime geçmeniz yeterlidir.

    WordPress'te Kötü Amaçlı Kod Nasıl Aranır?

    WordPress'teki kötü amaçlı kodun, mutlaka çalışma temasında değil, sitedeki herhangi bir dosyada olabileceğini anlamak önemlidir. İnternetten alınan bir eklenti, bir tema veya “ev yapımı” kod bulabilir. Kötü amaçlı kodu bulmaya çalışmanın birkaç yolu vardır.

    Yöntem 1: El ile. Tüm site dosyalarını kaydırırsınız ve bunları virüs bulaşmamış bir yedeklemenin dosyalarıyla karşılaştırırsınız. Başka birinin kodunu bulursanız silin.

    Yöntem 2: WordPress Güvenlik Eklentilerini Kullanma. Örneğin, . Bu eklentinin harika bir özelliği var, site dosyalarını diğer kişilerin kodlarının varlığına karşı tarayıyor ve eklenti bu görevle mükemmel bir şekilde başa çıkıyor.

    Yöntem 3. Barındırma konusunda makul bir desteğiniz varsa ve size sitede başka biri varmış gibi görünüyorsa, ondan sitenizi antivirüsleriyle taramasını isteyin. Raporları tüm virüslü dosyaları listeleyecektir. Daha sonra bu dosyaları bir metin düzenleyicide açın ve kötü amaçlı kodu kaldırın.

    Yöntem 4. Site dizinine SSH erişimiyle çalışabiliyorsanız, devam edin, kendi mutfağı var.

    Önemli! Kötü amaçlı kodu nasıl ararsanız arayın, kodu aramadan ve silmeden önce site dosyalarına erişimi kapatın (bakım modunu açın). Silindiklerinde kendilerinin geri yüklendiği kodları unutmayın.

    Eval işlevini kullanarak kötü amaçlı kodları arayın

    PHP'de eval adında böyle bir fonksiyon var. Kendi satırında herhangi bir kodu çalıştırmanıza izin verir. Üstelik kod şifrelenebilir. Kötü amaçlı kodun bir dizi harf ve simgeye benzemesinin nedeni kodlamadır. İki popüler kodlama şunlardır:

  • Base64;
  • Çürük13.
  • Buna göre bu kodlamalarda eval fonksiyonu şu şekilde görünür:

    • eval(base64_decode(...))
    • eval (str_rot13 (...)) //dahili tırnak içinde, uzun, belirsiz harf ve sembol kümeleri..

    Eval işlevini kullanarak kötü amaçlı kod arama algoritması aşağıdaki gibidir (yönetim panelinden çalışıyoruz):

    • site düzenleyicisine gidin (Görünüm → Düzenleyici).
    • Function.php dosyasını kopyalayın.
    • bunu bir metin düzenleyicide açın (örneğin, Notepad++) ve eval kelimesini arayın.
    • Eğer bulursanız, hiçbir şeyi silmek için acele etmeyin. Bu işlevin ne yapılmasını "istediğini" anlamalısınız. Bunu anlamak için kodun çözülmesi gerekir. Kod çözme için kod çözücü adı verilen çevrimiçi araçlar vardır.
    Kod Çözücüler/Kodlayıcılar

    Kod çözücüler basit çalışır. Şifresini çözmek istediğiniz kodu kopyalayıp kod çözücü alanına yapıştırıp kodunu çözüyorsunuz.

    Bu yazıyı yazdığım sırada WordPress'te tek bir şifreli kod bile bulamadım. Kodu Joomla web sitesinden buldum. Prensip olarak kod çözmeyi anlamada hiçbir fark yoktur. Fotoğrafa bakalım.

    Fotoğrafta görebileceğiniz gibi, değerlendirme işlevi, kod çözme işleminden sonra sitenin güvenliğini tehdit eden korkunç bir kod değil, şablonun yazarından şifrelenmiş bir telif hakkı bağlantısı görüntüledi. Ayrıca kaldırılabilir, ancak kullanmazsanız şablonu güncelledikten sonra geri gelecektir.

    Sonuç olarak siteye virüs bulaşmaması için şunu belirtmek isterim:

    • WordPress'teki kötü amaçlı kodlar genellikle temalar ve eklentilerle birlikte gelir. Bu nedenle, şablonları ve eklentileri “sol”, doğrulanmamış kaynaklardan yüklemeyin ve kurarsanız, bunları PHP'nin bağlantılarının ve yönetici işlevlerinin varlığı açısından dikkatlice kontrol edin. “Yasadışı” kaynaklardan eklentiler ve temalar yükledikten sonra siteyi antivirüs yazılımıyla kontrol edin.
    • Periyodik yedeklemeler yaptığınızdan ve diğerlerini yaptığınızdan emin olun.

    Bu gönderi, birkaç site sahibinin kötü amaçlı kodun web sitelerinden nasıl kaldırılacağına ilişkin soruları üzerine gönderildi. Aşağıda, herhangi bir özel bilgi gerektirmeyen ve öncelikle İnternet kaynaklarını yönetmeye yeni başlayanlar için yararlı olacak bir dizi basit adımı açıklamaya çalışacağım.

    Bir web sitesinin kötü amaçlı kodla vurulduğu bir saldırının kurbanı olup olmadığını nasıl anlarsınız? İlk ve en basit şey, sitenin çalışmayı durdurması veya "sağlıklı" bir kaynağın görünmesi gerektiği gibi görünmemesidir. Bu durum istenmeyen içeriklerin ortaya çıkması veya içeriğinizin kaybolması, sayfaların yüklenmemesi veya hatalı yüklenmesi şeklinde kendini gösterebilir. Ayrıca siteniz Yandex veya Google webmaster'a eklenmişse bu sistemlerden kötü amaçlı kodla ilgili bildirim almanız muhtemeldir. Bazı durumlarda, güvenlik açığı hakkında tarayıcınızdan bilgi edinebilirsiniz (Google Chrome'dan ekran görüntüsü).

    Bu gibi durumlarda sayfayı daha fazla açmaya çalışmak son derece istenmeyen bir durumdur.

    Sitede kötü amaçlı kod arıyoruz

    Sitenize kötü amaçlı kod yükleyen kişinin amacını anlamayacağız, hatta aramayı da bırakacağız. Ana amacımız "kötü" kodu bulup kaldırmaktır. Öncelikle, "virüslü" tüm sayfaları tespit etmek için kaynağı taramanız gerekir. Bu, aramanızı daraltmanıza olanak tanır. Örneğin, kötü amaçlı kod, ayrı bir sayfaya, örneğin bir gönderinin veya ona yapılan bir yorumun içeriğine, Javascript komut dosyası biçiminde yerleştirilebilir. Bu durumda site yöneticisi aracılığıyla bu kodu içerikten/yorumdan kaldırarak sorun çözülebilir. Aksi takdirde, bunu kaynağınızın kaynak kodunda aramanız gerekir.

    Bir siteyi güvenlik açıklarına karşı taramak için https://sitecheck.sucuri.net adresini kullanabilirsiniz. Sonuç olarak aşağıdakileri görebilirsiniz:

    Ekran görüntüsünden görebileceğiniz gibi, sitenin birkaç sayfasında "kötü" komut dosyası bulundu, bu nedenle onu kaynak kodunda aramanız gerekecek.

    Sitenin kaynak koduna çeşitli yollardan erişebilirsiniz:

  • En kolay yol site yönetici panelinden geçer. Wordpress'te örneğin "Görünüm" -> "Düzenleyici". Bu yöntem, dosyaların içeriğinin aranmaması nedeniyle pek uygun değildir, bu nedenle hepsini ayrı ayrı çok dikkatli bir şekilde incelemeniz ve "kötü" bir komut dosyası aramanız gerekir.
  • Birçok blog, kurumsal kaynak ve çevrimiçi mağaza, barındırma kontrol paneli aracılığıyla erişilebilen sunucularda bulunur. Genellikle bu panel cPanel'dir. Erişim elde etmek için kullanıcı adınızı ve şifrenizi bilmeniz gerekir. Genellikle hosting satın alırken işlemi yapan kişiye gönderilirler. Kontrol paneline giriş yaptıktan sonra, "Dosya Yöneticisi" aracılığıyla kesinlikle tüm kaynak dosyaları görüntüleyebilir ve tespit edilen kötü amaçlı komut dosyasını içerenleri bulmaya çalışabilirsiniz.
  • En uygun yol bir FTP istemcisidir. Kaynağınızla bir FTP istemcisi kullanarak "iletişim kurarsanız", kaynak dosyalarının içeriğinde kolayca arama yapabilirsiniz.
  • Sitenizin kaynak dosyalarında kötü amaçlı kod bulmaya çalışmayın, aramada onu tamamen değiştirin. Bizim durumumuzda googleleadservices.cn gibi benzersiz bölümünü seçin ve aramayı birkaç kez tekrarlayın.

    Kötü amaçlı kodun kaldırılması

    Kötü amaçlı kod tespit edildikten sonra kaldırılması yeterlidir. Bizim durumumuzda site Joomla'yı çalıştırıyordu ve “kötü” komut dosyası kök dizindeki index.php dosyasına eklenmişti. Kaynağın tüm sayfalarını oluştururken bu index.php kullanıldığından, güvenlik açığının aynı anda birkaç sayfada keşfedilmesinin nedeni budur.

    Kötü amaçlı kodu kaldırdıktan hemen sonra site kontrol panelindeki tüm kullanıcıların şifrelerini değiştirmenizi ve ayrıca bu sorunla karşılaşan diğer yöneticilerin deneyimlerini bulmaya çalışmanızı öneririm. Bazı ek önlemlerin alınması gerekebilir.

    Önleme

    Önlemek her zaman tedavi etmekten daha iyidir, bu yüzden şunu öneriyorum:

  • Tüm site kullanıcıları için “iyi” şifreler kullanın (uzun, rakamlı, büyük ve küçük harflerden oluşan).
  • Sitede sizin tarafınızdan oluşturulmamış içeriği (misafir gönderileri, yorumlar) ciddiye alın ve filtreleyin.
  • Bildirimleri beklemeyin, ancak siteyi güvenlik açıklarına karşı periyodik olarak tarayın.
  • İçerik yönetim sistemini (Wordpress, Joomla, Drupal, ...) zamanında güncelleyin.
  • Lütfen yorumlarınızda herhangi bir soru veya yorum bırakın.