Hanau, 14. August 2014
Trojan.DnsAmp.1 ist ein Trojanerprogramm, das von chinesischen Virenschreibern zum Starten von DDoS-Angriffen entwickelt wurde. Der Schädling stellt eine Windows-kompatible Version des Linux.DnsAmp-Programms. Über die Verbreitung des Trojaners wurde im Mai 2014 berichtet. Der Trojaner besteht aus einem Dropper, der eine böswillige Datei auf der Festplatte des Rechners platziert, und Dateien, unter denen sich eine mit einer böswilligen Funktion ausgerüstet ist. Trojan.DnsAmp.1 ist in der Lage, mehrere DDoS-Attacken zu starten, und zwar Syn Flood, UDP Flood, Ping Flood, HTTP Get Flood. Er kann auch weitere böswillige Anwendungen herunterladen und auf dem infizierten Rechner starte.
Dropper
Der Dropper liest 0x90 Bites am Ende der Datei. Danach wird er durch den Algorithmus RC4 mit dem Schlüssel {F918FE01-164A-4e62-9954-EDC8C3964C1B} entschlüsselt. Die entschlüsselten Daten haben die nachfolgende Struktur:
struct DROP_INFO
{
char szFirstDrop[0x40]; // Name der ersten Datei
DWORD dwFirstDropData; // Verschiebung bis zur ersten Datei
DWORD dwFirstDropSize; // Größe der ersten Datei
char szSecondDrop[0x40]; // Name der zweiten Datei
DWORD dwSecondDropData; // Verschiebung bis zur zweiten Datei
DWORD dwSecondDropSize; // Größe der zweiten Datei
}
Die Daten sind in Bereichen wie "dwSecondDropData - dwFirstDropData" und "Filesize + 0x90 – dwSecondDropData" platziert. Danach entschlüsselt der Dropper Dateien durch den Algorithmus RC4 mit dem Schlüssel {E5A42E7E-8130-4f46-BECC-7E43235496A6} für die erste Datei und dem Schlüssel {ADAB6D32-3994-40e2-8C18-2F226306408C} für die zweite Datei. Die Dateien werden im Verzeichnis %TEMP% gespeichert, nachdem sie gestartet werden.
Unter den Dateien befindet sich Trojan.DnsAmp.1.
Installation
Der Trojaner installiert sich im System unter dem Deckmantel von Windows Test My Test Server 1.0 und erstellt seine eigene Kopie im Verzeichnis %System32% unter dem Namen vmware-vmx.exe. Nachdem sich der Schädling gestartet hat, prüft er das laufende Datum. Wenn es früher als am 21.02.2013, unternimmt der keinen Aktionen.
Böswillige Funktionen
Nachdem der Trojaner eine Verbindung zu zwei Verwaltungsservern hergestellt hat, schickt er an diese Server alle von ihm gesammelten Daten. Wenn auf dem infizierten Rechner das Betriebssystem Windows 7 oder Windows NT verwendet wird, то haben die versendeten Daten eine Struktur von PC_INFO_WIN7. Für andere Windows-Versionen ist die Struktur PC_INFO vorgesehen.
struct PC_INFO
{
DWORD signature; //"UU\t"
char szOSVersion[16]; Version des Betriebssystems
DWORD dwSpuSpeed; // CPU, MHz
BYTE dummy[492]; // Nullen
}
struct PC_INFO_WIN7
{
DWORD signature; //"UU\t"
char szOSVersion[16]; //Version des Betriebssystems
BYTE dummy[48]; //Nullen
DWORD dwSpuSpeed; //CPU, MHz
BYTE dummy1[444]; //Nullen
}
Der Wert szOSVersion kann eine der nachfolgenden Zeilen sein:
Windows NT
Windows 7
Windows Server 2008
Windows Vista
Windows Server 2003
Windows XP
Windows Server 2000
Der Trojaner versendet Daten zu den über Netzwerkoberflächen übertragenen Daten. Daten, die in diesem Strom versendet werden, sind wie folgt dargestellt:
struct PC_INFO_NETWORK_DATA
{
DWORD signature; // "ИИ\b"
DWORD dwPacketsCount; //Übertragene Bites
BYTE dummy[508]; //Nullen
}
Der Trojaner kann andere böswillige Anwendungen herunterladen und starten. Nachdem die Daten versendet wurden, wartet der Schädling auf einen Befehl vom Verwaltungsserver. Die übertragenen Pakete sind wie folgt dargestellt:
struct CMD_PACKET
{
DWORD Cmd; //Befehl
BYTE Parameter[512]; //Parameter für die Ausführung des Befehls
Es sind drei Befehle möglich:
Cmd | Befehl | Kommentar |
---|---|---|
0x88 | DDoS starten | |
0x9A | DDoS abbrechen | DDoS-Flag zurücksetzen |
0x77798 | Datei herunterladen und ausführen |
Wenn ein DDoS-Angriff angeordnet wird, prüft der Trojaner den Stand des Flags. Wenn der Angriff gestartet wurde, wird der Befehl ignoriert.
Das Format des Parameter für den DDoS-Befehl ist wie folgt dargestellt:
struct DDOS_PARAMS
{
char szHost; // С-Zeile, die eine IP-Adresse für den Angriff enthält
DWORD dummy[95]; //Nullen
WORD wPort; // Host-Port, gegen das eine Attacke durchgeführt wird
WORD dummy2; // Nullen
DWORD dwDuration; // Dauer des DDoS-Agriffs in Sek.
DWORD dwThreadsCount; //Anzahl von Strömen für einen DDoS-Angriff
DWORD dwType; // DDoS-Angriffstyp
DWORD dwFlag; // Zusätzliches Flag hat verschiedene Werte bei verschiedenen Angriffstypen
}
Unterstützter Angriffstyp
Cmd | Angriffstyp |
---|---|
0x01 | Syn Flood |
0x02 | Syn Flood |
0x03 | UDP Flood |
0x04 | Ping Flood |
0x05 | HTTP Get Flood |
Beim Anpassen des Linux-Trojaners Linux an das Betriebssystem Windows verzichten die Autoren auf den Angriffstyp DNS Amplification, indem sie diesen gegen HTTP Get Flood ersetzt haben.
Herunterladen von Dateien
Um Dateien herunterzuladen, lädt der Trojaner die Bibliothek urlmon.dll herunter und erhält eine Adresse der Funktion URLDownloadToFileA. Ein Link zum Herunterladen der Datei befindet sich im Null-Parameter-Bereich der Struktur CMD_PACKET.
Die Datei wird ins Verzeichnis %TEMP% heruntergeladen. Der Dateiname wird wie folgt generiert:
DWORD GetRnd(DWORD modulus)
{
DWORD dwTicks;
dwTicks = GetTickCount();
return ticks * (rand() + 3) % modulus;
}
...
dwRnd0 = GetRnd(26u) + 97;
dwRnd1 = GetRnd(26u) + 97;
dwRnd2 = GetRnd(26u) + 97;
dwRnd3 = GetRnd(26u) + 97;
dwRnd4 = GetRnd(26u) + 97;
wsprintfA(wszFileName, "%c%c%c%c%c.exe", dwRnd4, dwRnd3, dwRnd2, dwRnd1, dwRnd0);
strcat(szTmpDir, szFileName);
Ihre Meinung ist uns wichtig!
Um dem Administrator der Webseite eine Frage zu stellen, geben Sie in Ihrem Post zunächst @admin ein. Wenn Ihre Frage an den Autor eines Kommentars adressiert ist, schreiben Sie @ und den Namen des Autors im Anschluß.
Andere Kommentare