DIESER SERVICE KANN ÜBERSETZUNGEN VON GOOGLE ENTHALTEN. GOOGLE ÜBERNIMMT KEINERLEI VERANTWORTUNG FÜR DIE ÜBERSETZUNGEN. DARUNTER FÄLLT JEGLICHE VERANTWORTUNG IN BEZUG AUF RICHTIGKEIT UND ZUVERLÄSSIGKEIT SOWIE JEGLICHE STILLSCHWEIGENDEN GEWÄHRLEISTUNGEN DER MARKTGÄNGIGKEIT, NICHT-VERLETZUNG VON RECHTEN DRITTER ODER DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.

Die Website von Kaspersky Lab wurde für Ihre Bequemlichkeit mithilfe einer Übersetzungssoftware von Google Translate übersetzt. Es wurden angemessene Bemühungen für die Bereitstellung einer akkuraten Übersetzung unternommen. Bitte beachten Sie, dass automatisierte Übersetzungen nicht perfekt sind und menschliche Übersetzer in keinem Fall ersetzen sollen. Übersetzungen werden den Nutzern der Kaspersky-Lab-Website als Service und "wie sie sind" zur Verfügung gestellt. Die Richtigkeit, Zuverlässigkeit oder Korrektheit jeglicher Übersetzungen aus dem Englischen in eine andere Sprache wird weder ausdrücklich noch stillschweigend garantiert. Einige Inhalte (z. B. Bilder, Videos, Flash, usw.) können aufgrund der Einschränkungen der Übersetzungssoftware möglicherweise nicht inhaltsgetreu übersetzt werden.

Virus.Win32.Crypto

Kategorie Virus
Plattform Win32
Beschreibung

Technische Details

Dieser Text wurde mit Hilfe von Adrian Marinescu, GeCAD Software geschrieben.

Dies ist ein sehr gefährlicher Speicher residenten parasitären polymorphen Win32-Virus etwa 20K Länge. Es infiziert KERNEL32.DLL- und PE EXE-Dateien: Es schreibt seinen Code an das Ende der Datei und ändert die erforderlichen Felder im PE-Header, um die Kontrolle zu erhalten, wenn eine infizierte Datei ausgeführt wird. Der Virus fügt auch seine "Dropper" zu Archiven verschiedener Typen (ACE, RAR, ZIP, CAB, ARJ) und zu einigen Arten von selbstextrahierenden Paketen (SFX ACE- und RAR-Dateien) hinzu.

Der Virus verwendet eine polymorphe Engine, infiziert jedoch nur PE EXE-Dateien und -Archive und lässt das Virusbild in der KERNEL32.DLL-Datei unverschlüsselt.

Der Virus verwendet Anti-Debugging-Tricks, deaktiviert Anti-Virus-On-Access-Scanner (Avast, AVP, AVG und Amon), löscht Antiviren-Dateien (AVP.CRC, IVP.NTZ, ANTI-VIR.DAT, CHKLIST.MS , CHKLIST.CPS, SMARTCHK.MS, SMARTCHK.CPS, AGUARD.DAT, AVGQT.DAT), patcht die LGUARD.VPS-Datei (Anti-Virus-Datenbank?) Und vermeidet die Infektion vieler Antivirenprogramme: TB, F- AW, AV, NAV, PAV, RAV, NVC, FPR, DSS, IBM, INOC, ANTI, SCN, VSAF, VSWP, PANDA, DRWEB, FSAV, SPINNE, ADINF, SONIQUE, SQSTART.

Eines der wichtigsten Virusmerkmale ist die Tatsache, dass es "on-the-fly" Windows-Bibliotheken (DLL-Dateien) beim Laden verschlüsselt / entschlüsselt – beim Laden einer Bibliothek entschlüsselt der Virus sie, beim Entladen verschlüsselt der Virus der Dateikörper. Zum Verschlüsseln von DLL-Dateien verwendet der Virus starke Verschlüsselungsalgorithmen (die von der in Windows enthaltenen Crypt API bereitgestellt werden). Dies führt dazu, dass das infizierte System nur dann weiterarbeitet, wenn der Viruscode im Speicher vorhanden ist und diese Verschlüsselung / Entschlüsselung realisiert. Wenn das System desinfiziert wird, bleiben die DLL-Bibliotheken verschlüsselt und das System kann sie nicht laden. Der erste Virus, der diese Technologie nutzte, war der einhäufige multipartite Virus, der in der zweiten Hälfte der 1990er Jahre "gut bekannt" war.

Der Virus ist nicht kompatibel mit mehreren Win32-Versionen, z. B. Win95 und Win98 Standard-Editionen. Unter diesen Bedingungen installiert sich der Virus nicht selbst im System (infiziert KERNEL32.DLL nicht) und / oder infiziert PE EXE keine Dateien.

Installation im System

Wenn eine infizierte Datei zum ersten Mal auf einem sauberen System ausgeführt wird, erhält die polymorphe Entschlüsselerschleife die Kontrolle, stellt den ursprünglichen Dateicode in sauberer Form wieder her und übergibt die Kontrolle dorthin. Die Installationsroutine erhält die Kontrolle und installiert nach dem Ausführen mehrerer Anti-Debugging- und Anti-Anti-Virus-Prozeduren die Viruskopie im System.

Während der Installation infiziert der Virus die KERNEL32.DLL-Datei, sodass Windows beim nächsten Start den Viruscode als Teil der KERNEL32-Bibliothek lädt. Beim Infizieren werden KERNEL32-Tabellen vom Virus gepatcht, so dass der Virus beim nächsten Laden mehrere Dateizugriffsfunktionen abfängt und filtert, die aus KERNEL32.DLL exportiert werden (CreateFile, OpenFile, __lopen, CopyFile, MoveFile, MoveFileEx, LoadLibrary, LoadLibraryEx, FreeLibrary) – in ANSI- und UNICODE-Formularen).

Um KERNEL32.DLL zu infizieren (diese Bibliothek wird in den Speicher geladen, wenn der Virus ausgeführt wird, also von Windows zum Schreiben geschützt wird), kopiert der Virus die KERNEL32.DLL-Datei in den Windows-Ordner, infiziert diese Kopie und zwingt Windows dann dazu Schalten Sie die alte Datei beim nächsten Start mit der infizierten Datei um. Als Folge wird Windows beim nächsten Neustart mit der infizierten KERNEL32.DLL geladen – der Virus filtert Dateizugriffsereignisse und führt PE-EXE- und Archivinfektionsroutinen aus.

Nach der Infektion von KERNEL32.DLL löscht der Virus seinen Code aus dem Speicher und gibt die Kontrolle an das Host-Programm zurück.

Virusausbreitung

Wenn Windows mit einer infizierten KERNEL32.DLL geladen wird, bleibt der Virus als eine Komponente von KERNEL32.DLL im Speicher und hakt mehrere KERNEL32 exportierte Funktionen. Bei einem ersten Aufruf dieser Funktionen aktiviert der Virus seine Infektionsroutine, die im Hintergrund nach Opferdateien (PE EXE) sucht und diese infiziert. Der Virus durchsucht Dateien auf allen Laufwerken von C bis Z.

Um den Scan-Vorgang weniger auffällig zu machen, wartet der Virus vor jedem Laufwerks-Scan zunächst drei Sekunden.

Beim Infizieren einer Datei vergrößert der Virus den letzten Dateiabschnitt und reserviert Speicherplatz für seinen Code, schreibt dann den verschlüsselten Code zusammen mit dem polymorphen Entschlüsseler hinein und setzt den Programmeinstiegspunkt auf die Entschlüsselungsroutine.

Infizierung archivieren

Der Virus kann Dropper zu den Archiven verschiedener Typen hinzufügen: ACE und RAR (einschließlich selbstextrahierender SFX-Dateien) sowie ZIP, CAB, ARJ. Die Virus-Dropper in Archiven erhalten einen Namen, der zufällig aus Varianten ausgewählt wird:

INSTALLIEREN, SETUP, RUN, SOUND, KONFIGURIEREN, HILFE, GRATIS, CRACK, UPDATE, README

Anfang oder Ende mit '!' verkohlen. Die Dateinamenerweiterung ist .EXE.

Um seinen Dropper einem Archiv hinzuzufügen, erstellt der Virus einen Dropper als eine Plattendatei und führt das externe Programm aus, das benötigt wird, um den jeweiligen Archivtyp zu verarbeiten. Mit dieser Methode kann der Virus den Tropfer je nach Programm mit einer zufällig gewählten Methode komprimieren.

Bibliotheken verschlüsseln

Der Virus erstellt kryptografische Schlüssel im Installationsteil des Virus (unter Verwendung der in Windows enthaltenen Crypt API). Wenn die Schlüssel erfolgreich erstellt wurden, kann der Virus den Code der DLL-Dateien verschlüsseln, die von den Anwendungen verwendet werden (sie werden bei Bedarf von Windows geladen). Zu diesem Zweck verwendet der Virus LoadLibrary- und FreeLibrary-Hooks, fängt das Laden von Bibliotheken ab und verschlüsselt sie während des Betriebs.

Jede DLL mit dem Namen, der mit einem der folgenden Muster beginnt, ist ausgenommen: SFC, MPR, OLE32, NTDLL, GDI32, RPCRT4, BENUTZER32, RSASIG, SHELL32, CRYPT32, RSABASE, PSTOREC, KERNEL32, ADVAPI32, RUNDLL32, SFCFILES. Außerdem sind DLLs, die in den folgenden Listen aufgeführt sind, nicht verschlüsselt:

 SystemCurrentControlSetControlSessionManagerKnownDLLs 
 SystemCurrentControlSetControlSessionManagerKnown16DLLs 

Der wichtigste Aspekt ist, dass der Verschlüsselungsschlüssel und der Verschlüsselungsalgorithmus für jedes infizierte System eindeutig sind. WinCrypt unterstützt benutzerdefinierte Verschlüsselungsalgorithmen, die eine Desinfektion von anderen Systemen als Windows unmöglich machen. Die Verschlüsselung der DLLs wird viel Zeit / CPU-Ressourcen verbrauchen – der Virus wird jedes Mal die benötigten Schlüssel aus der Registrierung lesen.

Um die in Windows enthaltene Crypt-API verwenden zu können, muss der Virus einen neuen Schlüssel erstellen, dessen Name auf "Prizzy / 29A" gesetzt ist. Zuerst überprüft der Virus seine Existenz und wenn der Schlüssel nicht vorhanden ist, wird die dedizierte API aufgerufen, um eine neue zu erstellen. Dann muss der Virus den generierten Schlüssel speichern – dafür verwendet der Virus die Systemregistrierung. Zu diesem Zeitpunkt enthält der Virus eine Einschränkung – es wird davon ausgegangen, dass der Schlüssel SOFTWAREMicrosoftCryptographyUserKeysPrizzy / 29A nach dem CryptAquireContext-API-Aufruf erstellt wird. Der Virus wird den Wert "Kiss Of Death" auf den neu generierten Schlüssel setzen.


Link zum Original