BU SERVİS, GOOGLE TARAFINDAN SAĞLANAN ÇEVİRİLER İÇEREBİLİR. GOOGLE, HERHANGİ BİR GARANTİ, GÜVENİLİRLİK VE TİCARİ ELVERİŞLİLİK, BELİRLİ BİR AMACA UYGUNLUK VE İHLAL ETMEME GARANTİLERİ DAHİL OLMAK ÜZERE AÇIK VEYA ZIMNİ GARANTİLER DE DAHİL OLMAK ÜZERE, AÇIK VEYA ZIMNİ TÜM GARANTİLERİ REDDEDER.

Kaspersky Lab web sitesi, Google Çeviri tarafından desteklenen çeviri yazılımı kullanılarak size kolaylık sağlamak amacıyla tercüme edilmiştir. Doğru bir çeviri sağlamak için makul çabalar sarf edilmiştir, ancak otomatik çeviri mükemmel değildir ve insan çevirmenlerinin yerini alması amaçlanmamıştır. Çeviriler, Kaspersky Lab web sitesinin kullanıcılarına bir hizmet olarak sunulur ve "olduğu gibi" sağlanır. İngilizce'den başka bir dile çevrilmiş herhangi bir çevirinin doğruluğu, güvenilirliği veya doğruluğu konusunda açık ya da zımni hiçbir garanti verilmemektedir. Çeviri yazılımı sınırlamaları nedeniyle bazı içerikler (görüntüler, videolar, Flash vb. Gibi) doğru bir şekilde çevrilemeyebilir.

Virus.Win9x.Sk

Bulunma tarihi 01/11/2002
Sınıf Virus
Platform Win9x
Açıklama

Teknik detaylar

Bu parazitli bir Windows virüsüdür. Windows 95/98 altında yayılır, kopyasını Windows belleğine yükler, dosya erişim işlevlerini kancalar ve PE (Windows Taşınabilir Yürütülebilir) dosyalarını bozar. Virüs ayrıca Windows yardım dosyalarını da (.HLP) etkiler – onları etkinleştirir, böylece virüs kodu diske atılır ve çalıştırılır. Virüs aynı zamanda damlalıklarını dört tür arşive ekliyor: RAR, ZIP, ARJ ve HA. HLP dosyalarındaki ve arşivlerindeki virüs damlalıkları DOS COM dosya formatına sahiptir ve DOS kutusunda çalıştırılır, ancak virüs kodlarını Windows belleğinin yanı sıra virüslü Windows çalıştırılabilir dosyalarına kurabilirler (aşağıya bakınız).

Virüs kodu, DOS damlalıklarında ve Windows PE dosyalarında polimorfik rutinlerle şifrelenir. Windows dosyalarında virüs, "Giriş Noktası Gözlemleme" teknolojisini de kullanır: virüs kodu, virüs bulaşmış bir dosya yürütüldüğünde hemen denetim almaz. Çoğu durumda JMP_Virus yönergesi, virüs bulaşmış dosya gövdesinde bir yerde, dosya başlığında değil, dosya başlangıç ​​adresinde yer alır ve yalnızca karşılık gelen programın şubesi denetimi aldığında çalıştırılır.

Virüs "yavaş enfeksiyondur": enfekte etmeden önce birçok koşulu kontrol eder ve sonuçta bilgisayarda çok az dosya etkiler – standart Windows95 / 98 kurulumunda sadece yaklaşık on EXE dosyası. HLP dosyaları ve arşivleri için aynı – çok azı bulaştırılmış olabilir. Virüs ayrıca ilk enfeksiyondan önce bir dakika süreyle enfeksiyon rutinini geciktirir ve iki dakika boyunca bu dosyalara erişim olmadığında sadece HLP dosyalarını ve arşivleri enfekte eder.

Virüs çok tehlikelidir. Disk dosyalarına erişildiğinde, adlarını kontrol eder ve birkaç virüsten koruma programı (ADINF, AVPI, AVP, VBA, DRWEB) durumunda virüs, tüm dizinlerdeki tüm dosyaları C: 'den Z ye kadar tüm disklerde siler: virüs sistemi silmek ve daha sonra Fatal_Error_Handler VMM çağrısıyla sistemi durdurur.

Kendisini sisteme her yüklediğinde virüs tarafından silinmiş bir kurban dosyası daha var. Windows dizininde COMMAND.PIF dosyasıdır.

Virüsün bazı Windows 95/98 konfigürasyonları altında ölümcül olan hatalar vardır – virüsün enfekte edilmesinde standart "Genel koruma hatası" mesajıyla "mavi ekran" oluşturur.

Sisteme yükleme yaparken virüs rastgele sayıcısına (bir vakadan 48) bağlı olarak mesajı görüntüler:


1997 VBA Ltd. E-posta: support@vba.minsk.by

Bellek Yerleşimini Kurma

Virüs "yerleşik" kopya VxD (Ring0 – Windows çekirdek) düzeyinde çalışır. DOS programları ve Windows uygulamaları bu alana standart yöntemlerle erişemez, bu nedenle bu virüsü kodlarını buraya yüklemek için birkaç numara kullanır.

DOS damlalığı çalıştırıldığında, virüs denetimleri Windows yüklenir ve değilse DOS'a döner. Aksi takdirde, DMPI çağrıları kullanılarak virüs, Yerel Açıklama Tablolarına (işlemcinin koruma modu bellek ayırma tablolarına) erişir, onları yatar ve 32 bitlik modu korumak için DOS 16 bit kodunu değiştirir. Virüs kodu daha sonra Windows çekirdeğinin bir parçası olarak çalışır ve gerekli tüm Windows işlevlerine erişebilir.

Virüs bulaşmış PE dosyası çalıştırıldığında, virüs ayrıca sistem belleği tahsis tablolarını yayar ve kodunu uygulama seviyesinden (Ring3) çekirdek seviyesine (Ring0) geçirir. Virüs, daha sonra virüs bulaşmış DOS damlalıklarının yaptığı gibi, aynı yükleme yordamına denetimini geçirir.

Kurulum rutini, kontrolü ele aldığında, bir sistem belleği bloğu tahsis eder, virüsü oraya kopyalar, Windows fonksiyonları kancalar ve kontrolü serbest bırakır. Orijinal virüs kopyası daha sonra DOS'a döner (DOS damlalığı durumunda) veya ana bilgisayar PE dosyası verilerini geri yükler ve kodu döndürür ve döndürür.

Virüs Hookers

Virüs üç Windows işlevini kancalar. Birincisi, I / O portunun yakalanması için geri arama prosedürüdür. Virüs 534Bh portu kancalar ve "burada mısın?" çağırır. Bu porttan enfekte sistem koşulları altında okuma, AL kaydında 21h ("!" Karakteri) döndürür. Hem DOS hem de Windows virüs yükleme yordamları, bellek yerleşik yüklemeden önce bunu deneyin. Bu portun numarası, virüsü adlandırmak için kullanılmıştır – 534Bh, ASCII'de "SK" dir.

İkinci kanca yerleşik Windows infektörleri için "standart" – Dosya Sistemi API kancasıdır. Dosya açma, yeniden adlandırma ve dosya özniteliği get / set işlevlerini engeller. Bu çağrılar sırasında virüs, enfeksiyon rutinlerini çalıştırır.

Üçüncü kanca, "Install FileSystemApiHook" işlevini (önceki kancayu yüklemek için kullanılan) kendisini durdurur. Bu çağrı virüs tarafından fahişesini saklamak için kullanılır: yeni bir kanca takıldığında, Windows bu işlevi çağırır. Şu anda virüs, kendi IFS API kancasını kaldırır, yeni bir tanesini (talep edilir) yükler ve ardından virüsün kancasını yeniden yükler. Sonuç olarak, virüs fahişesi her zaman kanca listesinde en üstte yer alır ve disk dosyalarına erişildiğinde kontrolü alan ilk kişidir.

Virüs IFS API fahişesinde başka bir numara daha var: dosya sistem sürücülerine (FileSystem çağrılarının hedefi) erişmek için virüs, "yerel" sistem işleyicisinin adresini kullanır. Virüs, bu adresi arayanın yığında tamamen belgelenmiş alandan alır ve bu adresi kullanarak gerekli dosya işlevlerine doğrudan çağrı yapar.

Dosyaları Infect

IFS API fahişe kontrol altına alındığında ve enfeksiyon rutin ilk kez aktive edildiğinde, Windows kabuk uygulamasına (genellikle EXPLORER.EXE) bulaşır. Bulmak için virüs Windows dizinde SYSTEM.INI dosyasını açar, "shell =" komutu için tarar ve onu enfekte eder.

Bu dosya her zaman çalışır, böylece virüs onu değiştiremez. Bu sorunu çözmek için virüs "yükseltme" hilesi kullanır. Virüs bu dosyayı başka bir adla kopyalar (dosya adındaki son harften birine ekler: EXPLORER.EXE – EXPLORER.EXF), yeni dosyaya bulaşır ve Windows'u virüslü bir dosyayla "yükseltme" ye zorlar. Bunu yapmak için virüs standart yol kullanır: Windows dizininde WININIT.INI dosyasını oluşturur ve orada gerekli "Yeniden Adlandırma" talimatlarını yazar.

Windows kabuğu zaten bulaşmışsa, virüs erişilen dosyayı bozar. Her şeyden önce dosya adı uzantısını kontrol eder. .EXE, .SCR ve .DLL dosyaları durumunda virüs, rutin bulaşan PE dosyasına atlar; .HLP dosyası durumunda virüs, damlama koduyla yamalı; .RAR, .ZIP, .ARJ ve .HA durumunda, virüs içeriklerini kendi çalıştırılabilir damlalıklarının içerisine arşivler.

Windows PE'yi Enfekte Etmek

PE dosyaları enfekte ederken virüs şifresini kodlar ve kodu Relocation (Fixup) bölümüne yazar ve sonuç olarak bu verilerin üzerine yazar. Windows'un belleğe uygulamaları yüklemek için kullandığı yol yüzünden, çoğu durumda yeniden yerleştirmelerde herhangi bir dikkati yoktur – tüm uygulamalar aynı adreslere yüklenir ve hiçbir yer değiştirme kullanılamaz. Bir uygulamanın başka bir ana bilgisayar uygulaması tarafından ana bilgisayarın belleğine yüklendiği birkaç durumda, Windows yükleyici yer değiştirme tablosunu işler ve uygulama kodunda gerekli değişiklikleri yapar. Bunu düzeltmek için virüs PE başlık alanlarını değiştirir: Karakteristik alandaki Yeniden Yerleştirme işaretlerini temizler (bu, dosyada yer değiştirme olmadığı anlamına gelir) ve Yeniden Konumlandırma bölümünün sıfır adresine ayarlanır. Sonuç olarak, etkilenen uygulama sadece başka bir adrese yüklenemez (başka bir uygulamanın alanını adreslemek için), ancak tek başına olanlar olarak mükemmel şekilde çalışır.

Virüs daha sonra Relocation bölümünün başlığında gerekli değişiklikleri yapar: Rastgele sayacına (8'den 1'inde) bağlı olarak bölümün adını değiştirir, metnini şifreler ve oraya yazar, özelliklerini Readable ve Initialized olarak ayarlar. Virüs ayrıca, Relocation bölüm boyutunu kontrol eder – virüs kodu için yeterince büyük ve dosyaları sadece virüs kodunun bölüm gövdesine girmesi durumunda virüs bulaşır. Sonuç olarak, virüs onları enfekte ederken PE dosya boyutunu artırmaz.

Virüs bulaşmış programlar çalıştırıldığında kontrolü almak için, virüs PE başlığında Giriş adresini değiştirmez. Başka bir daha karmaşık bir yol kullanır – kurban programında rastgele seçilen kodu yamalar ve JMP_Virus rutinini oraya yazar. Sonuç olarak, virüs programı, virüs bulaşmış program etkinleştirildiğinde hemen gerçekleştirilmez. Sadece yama işleminin kontrol altına alındığı durumlarda uygulanır. Bazı durumlarda, bu dal çok nadiren yürütüldüğünde (örneğin, rutin işlem yapılırken hata meydana geliyorsa), virüs uzun süre programda "uyuyabilir" ve sonra da bazı ekstra durumlarda atlar.

Programdaki pozisyonu yamaya yerleştirmek için virüs, kurban dosyasının bloklarını okur ve C / Pascal alt yordamları için tarar. Bu yordamların standart üstbilgileri ve altbilgileri vardır ve virüsün yalnızca onları bulması ve alt yordam giriş ve çıkış yönergeleri arasındaki JMP_Virus kodu için yeterli alan olduğunu görmesi gerekir.

Denetimleri, yamalar alt yordamından ana virüs koduna geçiren JMP_Virus yordamı, yalnızca tek bir JMP yönergesi değildir. Daha sofistike: kontrol etmeden önce ana virüs kodunu şifreleyen polimorfik döngüdür – 168 baytlık bir koda sahiptir.

Özetle, virüs bulaşan programların çalışması şöyle görünür: Windows programı yükler ve yürütür ve rutinleri bazı çalışmalar yapmaya başlar. Virüs şu anda “uyur”, çünkü yamalı altprogram henüz uygulanmadı. Bu kod kontrol altına alındığında, virüs JMP_Virus rutini etkinleştirilir. Ana virüs kodunu (Relocation bölümüne yerleştirilir) şifresini çözer ve şifresi çözülmüş kodlara atlar. Virüs yükleme rutin kontrolünü alır, virüsü Windows belleğine kopyalar, virüs kancalarını kurar, yamalanmış ana bilgisayarın alt rutinini geri yükler ve kontrolü ona iade eder.

Bazı durumlarda (Windows kabuğu enfekte olduğunda veya C / Pascal yordamı bulunmadığında) virüsün JMP_Virus yamasını doğrudan programın Giriş adresine yazdığını unutmamak gerekir. Bu durumda virüs kodu, virüslü dosya çalıştırıldığında hemen kontrol edilir.

Arşivleri Arşivleme

Virüs dört çeşit arşivi etkiler: RAR, ZIP, ARJ ve HA. Virüs bulaşırken virüsler dahili formatları ayrıştırır, son damla olarak DOS sonlayıcısını arşivin sonuna ekler ve CRC alanları da dahil olmak üzere arşiv yapısını dikkatlice değiştirir. Tek arşiv bulaşır: ondan az dosya içermeyen ve en az bir COM veya EXE dosyasına sahip olan. Arşivlere virüs eklenmesi, rastgele oluşturulan adı ve COM veya EXE uzantısına sahip bir DOS COM dosyasıdır.

RAR arşivlerinde virüsün diğer arşiv bulaşıcı rutinlerle karşılaştırarak bir dalı daha vardır. Bu şube, RAR arşivlerindeki "saklanan" dosyaları arar ve bir dosyada belirli bir tarih ve zaman damgası varsa, virüs yürütüldüğü depolanmış verileri okur. Bu hile, virüsün herhangi bir kullanıcının eylemi olmadan başka programları çalıştırmasına izin verir – virüsün "casus" veya başka bir tür program çalıştırması için kullanılabilir. Bu virüs özelliği, virüs yazarının diğer bilgisayarlarda kontrolünü ele geçirmek için kullanabileceği bir "arka kapı" gibi görünüyor.

Enfekte Yardım

Windows yardım dosyalarına bulaşma olasılığı, bu dosyaların kendi script alt programlarına (makrolara) sahip olması gerçeğine dayanmaktadır. WinHelp, yardım dosyalarını etkinleştirdiğinde bu komut dosyaları otomatik olarak çalıştırılır ve komut dosyası dili, disk dosyalarına erişmek, bunları oluşturmak ve yürütmek için yeterince güçlüdür.

Virüs, Windows yardım dosyalarını etkilemek için bu özelliği kullanır. DOS damlalık yazıcısını HLP dosyasının sonuna bir "yer paylaşımı" (HLP dosya başlığının "dosya uzunluğuna sahip" başlığında "dosya uzunluğu" alanına sahip olduğunu ve virüs damlalığının bu verilerin dışında olduğunu), HLP iç yapısını değiştirdiğini ve kendi komut dosyasını eklediğini yazar. oraya. Bu komut dosyası, enfekte edilmiş yardım dosyası etkinleştirildiğinde otomatik olarak işlenen [CONFIG] bölümüne (HLP internals açısından "| SYSTEM") yazılan on tanıma sahiptir. Bu on virüs talimatı, küçük (yaklaşık 380 bayt) virüs yükleyici çıkarır ve çalıştırır. Virüs betiği bu yükleyiciyi C: sürücüsünde bir DOS dosyası olarak (rastgele bir adla) oluşturur, oraya bir kod yazar ve çalıştırır – ve virüs yükleyici denetimi alır.

HLP betiğindeki virüs yükleyicinin kodu ASCII 7bit formuna dönüştürülür – her bayt iki alfabetik harfe dönüştürülür. Bu kod kontrol altına alındığında, kendini ikili kodlara dönüştürür, sonra host HLP dosyasının ismini alır (virüs betikleri argüman olarak geçer), HLP dosya üst bilgisini okur, virüsün "overlay" kodunu okur, okur, yazar kendi COM dosyası ve yeniden yürütür. Virüs DOS damlalığı kontrol altına alır ve virüs kendini hafızaya yükler, vb.

Bu rutinde sorunlara neden olan bir istisna vardır. Virüs yükleyicinin kodu ASCII 7bit'e dönüştürülür, ancak bu kodu geri yükleyen döngü 80h sınırının dışında olan opcodes içerir. Bu dizeler Windows HLP dosyasından DOS dosyasına kaydedildiğinde, Windows bunları metin dizeleri olarak işler ve yüksek ASCII karakterlerini yüklü kod sayfasına göre dönüştürür. Söylemeye gerek yok, farklı kod sayfalarının altında yakınsama sonucu farklı. Tek kod sayfası doğru kodu getirir – bu Rus kod sayfasıdır (bu, virüs yazıcısının kendi bilgisayarında Rusça dil desteğinin yüklü olduğu anlamına gelir). Sistemde hiç bir Rus desteği yoksa, virüs yükleyici kodu bozulur, çalıştırılamaz ve çalıştırıldığında durdurulur.

Buna ek olarak, COM dosyasını bırakırken virüs betiğinin NT'ye özel C: NTLDR dosyasının varlığını kontrol ettiğini ve bu dosyanın bulunup bulunmadığına bakıldığını unutmamak gerekir.

Win95.SK.8699

Bu geliştirilmiş virüs sürümüdür. Orijinaline çok kapalı, ancak şifrelemede ve daha güçlü polimorfik motorda daha fazla yöntem kullanıyor. Ayrıca anti-virüs monitörlerini devre dışı bırakmak için bir numara kullanır: Windows belleğine yüklenen GK95.VXD anti-virüs bileşenini (AVP ve F-SECURE) bulur ve bunları bir yama ile devre dışı bırakır. HLP dosyaları enfeksiyon rutin bu virüs sürümünde sabittir – herhangi bir kod sayfası ile çalışır, sadece Rusça değil.


Orijinaline link