7 Ekim 2012 Pazar

Sunucuya Bulaşan JavaScript Virüsü Temizleme


Merhabalar, müşterilerimin başına gelen bir olayı Bülent Albayraksaran arkadaşımla beraber inceledik. Nedenini ben makale olarak yazmıştım(bknz http://www.ismailsaygili.com.tr/2012/10/plesk-icin-kritik-guvenlik-acg.html), o da temizlenme sürecini kaleme almış. Başlıyoruz:

"Şuan gündem de olan meşhur javascript virüsüyle ilgili bir olay yaşadık ve siz değerli okuyucularımızla paylaşmak istedik.Pek çok kişinin başına bela olan şu meşhur javascript virüsü (Javascript Virüsü ve Plesk Kritik Güvenlik Açığı - /*km0ae9gr6m*/ ) bir arkadaşımın sunucusuna bulaşmış ve bana hemen mail attı. Mail içeriğinde sitedeki Javascript dosyalarında bir satırlık şifreli kod bulunduğu ve bunun virüs olarak algılandığı yazıyordu tabi ilk iş olarak kodu incelemeye başladım..

1. Aşama analiz
Evet ilk olarak kodu inceledim ve basit bir şifrelemeye sahipti ama kodların şifresini çözmeye uğraşmadım ve sadece işlem bölümünde yani şifrelemenin döngüye girdiği kısıma alert() fonksiyonu ekleyerek kodun ekrana yansımasını sağladım böylece direk kaynak kodlarına ulaşmış oldum. Daha sonra bir rus sitesine bağlantı kurduğunu gördüm ve BİNGO! virüs uygulamaları önümdeydi.Tipik bir botnet için yazılmış virüstü ama önemli olan bunu sunucudan uzak tutmaktı..

2. Aşama keşif
Evet artık gereken bilgiler elime ulaşmıştı, sunucu bilgilerini aldıktan sonra bu virüsün nerelere bulaştığını bulmam gerekiyordu tüm dosyalara tek tek bakacak değildim ufak bir linux komutu ile bunu halledebilirdim ancak bana sabit bir değer gerekiyordu. Virüsün başında /*km0ae9gr6m*/ değeri geçiyordu ama bu değer rastgele olduğunu düşünerek sabit bir değer bulmaya uğraşıyordum böylece kodları daha rahat bulabilecektim.
Arkadaşım verdiği bilgide 2 tane javascript dosyasına bulaştığını söylemişti hemen bu iki dosyayı inceleyip ortak yanı bulmam gerekti.Dosyaların başında /bin/cat terimi bulunuyordu bir linux komutu ile yazılmıştı dosyalara belli ediyordu kendini hemen sitelerin olduğu /home/ dizinine geçtim ve o sihirli kodu yazdım;
grep -n -r ‘/bin/cat’ *
bu kod ile /home dizini altındaki tüm dosyaların içerisinde /bin/cat terimini arayacaktım.Virüs uzun olduğu ve tek satırda olduğu için direk içeriğini gösteriyordu buda hangi dosyalara virüs bulaştığını görmemi engelliyordu ve hemen grep komutunun sihirli seçeneklerinden -o parametresini ekledim ve sadece dosya_adi.js:satır_numarası şeklinde sonuç alıyordum ve bu sonuç benim için çok iyiydi. (son komut: grep -n -r -o ‘/bin/cat’ * )

3. Aşama temizlik
Evet artık virüs bulaşmış dosyalar belliydi, bu dosyalar içerisinde 1 satırlık şifreli kodları silmem gerekliydi TEMİZLİK BAŞLASIN!
5-6 dosyaya bulaştığı için elle temizlemeyi seçtik böylece içimizde rahat olacaktı ve sonunda temizledik. Tekrar kontrol etmek için aynı komutu girdik;
grep -n -r -o ‘/bin/cat’ *
Bir sonuç çıkmadı sunucumuz artık temizdi..

4. Aşama virüs kaynağı
Sunucu artık temizdi ve bu işi tamamen bitirmemiz için son aşamamız olan virüs kaynağını bulmamız gerekiyordu.Benim aklıma hemen bir temadan dolayı oluşan virüs aklıma geldi ve hemen aramalara başladım tekrar /home/ dizinine geçip araştırmalara başladım.
grep -n -r -o ’204.351.440.495’ *
ile arama yaptım "204.351.440.495" aradığım sabit bu şekildeydi çünkü javascript içinde şifreli olarak bu nesne bulunuyordu bir sonuç çıkmadı, dosyaların şifreli olmasını göz önünde bulundurarak eval, base64_decode gibi kodları denedim bu kodlar normal scriptlerde de bulunduğu için çok karışık bir hal haldı ama tek tek kontrol ettim ve bir sonuca ulaşamadım.
http://pastebin.com/Qsai8erU (bu adreste bulunan kodu direk html olarak çalıştırırsanız zararsız bir şekilde hedef site adresini öğrenebilirsiniz.) Burada geçen adreste şifreyi çözmüştüm ki zaten bu kodlar ile hedefi bulmam kolaylaştı önemli olan bu hedefin nereden ulaşmış olmasıydı.
site üzerine araştırma yaptığımda http://malware.sparktrust.com/?p=1387 sayfasına ulaştım burada virüs hakkında bilgiler mevcuttu ve en sonunda plesk açığına ulaştım ve işimiz mutlu son ile bitmişti herkes rahat bir nefes almıştı..

Teşekkürler, güvenli günler."

5 yorum:

  1. Merhaba,
    Bizim de şu anda bilgisayarımıza anladığım kadarıyla virüs bulaştı. Firefox'u açtığım da şu linke giriyor ve virüs programı uyarı veriyor.

    Link tam olarak şöyle;
    http://search.sidecubes.com/?st=sc&q=

    Uzantısı .js olan bir sorun algılıyor virüs programı?

    Rica etsek yardımcı olabilir misiniz?

    YanıtlaSil
    Yanıtlar
    1. Merhaba,
      Buradaki: https://malwaretips.com/blogs/remove-sidecubes-virus/ adımları uygulayabilirsiniz. Ayrıca browser virüslerini temizlemek için Zemana Anti-Malware yazılımını da kullanabilirsiniz.

      Sil
  2. Hocam Merhaba,

    Veritabanımdaki tablolara sürekli kendiliğinden link ekleniyor. Hepsini temizliyorum ama tekrar ekleniyor. Bir türlü bu problemimi çözemedim. Çok araştırdım ama nafile. Şifrelerimi, kullandığım bilgisayarı, ftp programımı falan hepsini değiştirdim ama bu virüsten kurtulamadım.

    Bu problemin çözümü için bana tavsiye verebilirsen çok sevinirim.

    Örneğin aşağıdaki sitemde resimlerin sonuna link eklendiğinden resimler görünmüyor.
    http://rotaxajans.com/Listeler.aspx?ID=15

    Teşekkürler.

    YanıtlaSil
    Yanıtlar
    1. Merhaba Kenan Bey,
      Anlattığınıza göre sizden değil sitenizi host ettiğiniz web sunucusuna sızılmış görünüyor. Sunucu web shell, backdoor vs taraması yapılıp temizlenmelidir. Gelecek ataklara (sql injection, lfi, rce vb) karşı WAF (web application firewall) uygulaması yüklenip sunucu tarafında güvenlik adına konfigürasyonlar (apache, php.ini sıkılaştırma vb) yapılmalıdır. Bunun için hosting hizmeti aldığınız firmaya başvurunuz.

      Sil
  3. Merhaba, önemli bir konuda size ulaşmaya çalışıyorum; mail adresim: info@discoverephesus.com
    Yorumumu okuduğunuzda dönüş yapmanızı rica ederim, teşekkürler.

    YanıtlaSil