Bir Javascript virüsü hikayesi

Yazının yazıldığı tarih Tarih: 3 Ağustos 2013  Yazının ait olduğu kategori Bölüm: Güvenlik, Web  Yazının okunma sayısı Okunma: 1.887 views  Yazıya yapılan toplam yorum Yok.

VMMQJ1-150x150Merhabalar,

ş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ü 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ı.

 
Facebook'ta paylaş   Twitter'da paylaş   Besleme | RSS

Yorumlar

Henüz yorum yok.