Torna alla lista delle notizie
14 agosto 2014
Il Trojan.DnsAmp.1 è stato creato dagli autori dei virus cinesi per il fine di esecuzione di attacchi DDoS. È una versione compatibile con Windows del malware Linux.DnsAmp, del quale Doctor Web ha informato a maggio 2014. Il trojan è costituito da un dropper che salva il programma malevolo sul disco del computer e da diversi file, uno dei quali include le principali funzioni dannose. Il Trojan.DnsAmp.1 può effettuare gli attacchi DDoS di diversi generi, in particolare Syn Flood, UDP Flood, Ping Flood, HTTP Get Flood, nonché può scaricare ed avviare altri programmi malevoli sul computer compromesso.
Dropper
Legge 0x90 byte dalla fine del file, dopodiché decifra questi dati tramite l'algoritmo RC4 con la chiave {F918FE01-164A-4e62-9954-EDC8C3964C1B}. La struttura dei dati decifrati è la seguente:
struct DROP_INFO
{
char szFirstDrop[0x40]; // nome del primo file
DWORD dwFirstDropData; // deviazione per il primo file
DWORD dwFirstDropSize; // dimensione del primo file
char szSecondDrop[0x40]; // nome del secondo file
DWORD dwSecondDropData; // deviazione per il secondo file
DWORD dwSecondDropSize; // dimensione del secondo file
}
I dati dei file si trovano alla deviazione: "dwSecondDropData - dwFirstDropData" e "Filesize + 0x90 – dwSecondDropData". In seguito il dropper decifra i file tramite l'algoritmo RC4 con la chiave {E5A42E7E-8130-4f46-BECC-7E43235496A6} per il primo file e con la chiave {ADAB6D32-3994-40e2-8C18-2F226306408C} per il secondo. I file vengono salvati nella cartella %TEMP% e vengono eseguiti.
Uno dei file è il Trojan.DnsAmp.1
Installazione
Il trojan si installa nel sistema sotto forma del servizio di Windows eseguito in automatico Test My Test Server 1.0 e crea la propria copia vmware-vmx.exe nella cartella %System32%. Dopo l'avvio, il programma controlla la data corrente, se è inferiore a 2013-02-21, il trojan rimane inattivo.
Funzioni dannose
Il trojan si connette a due server di controllo e ci manda le informazioni sul sistema. Se sul computer infetto viene utilizzato l'SO Windows 7 o Windows NT, le informazioni mandate hanno la struttura PC_INFO_WIN7, in caso degli altri versioni di Windows, la struttura dei dati è PC_INFO.
struct PC_INFO
{
DWORD signature; //"UU\t"
char szOSVersion[16]; //versione dell'SO
DWORD dwSpuSpeed; //velocità CPU in MHz
BYTE dummy[492]; //zero
}
struct PC_INFO_WIN7
{
DWORD signature; //"UU\t"
char szOSVersion[16]; //versione dell'SO
BYTE dummy[48]; //zero
DWORD dwSpuSpeed; //velocità CPU in MHz
BYTE dummy1[444]; //zero
}
Il valore szOSVersion può corrispondere ad una delle seguenti stringhe:
Windows NT
Windows 7
Windows Server 2008
Windows Vista
Windows Server 2003
Windows XP
Windows Server 2000
In un flusso separato, il malware manda sul server le informazioni circa la quantità di byte trasferiti attraverso le interfacce di rete. Le informazioni mandate in questo flusso hanno la forma:
struct PC_INFO_NETWORK_DATA
{
DWORD signature; // "ИИ\b"
DWORD dwPacketsCount; // Numero di byte trasferiti calcolato
BYTE dummy[508]; //zero
}
Il trojan può scaricare sul computer infetto altri programmi dannosi ed eseguirli. Inviate le informazioni, il trojan aspetta comandi dal server di controllo. I pacchetti accettati dal trojan hanno la forma:
struct CMD_PACKET
{
DWORD Cmd; //comando
BYTE Parameter[512]; //parametro di esecuzione del comando
}
Sono possibili tre comandi:
Cmd | Comando | Commento |
---|---|---|
0x88 | Inizia attacco DDoS | |
0x99 | Ferma attacco DDoS | Viene disattivato il flag DDoS |
0x77798 | Scarica ed avvia file |
Quando il trojan riceve il comando di iniziare un attacco DDoS, prima controlla lo stato corrente del relativo flag: se l'attacco è già in corso, non esegue questo comando.
Il parametro del comando di esecuzione dell'attacco DDoS ha il seguente formato:
struct DDOS_PARAMS
{
char szHost; // C - stringa che contiene l'indirizzo IP da attaccare
DWORD dummy[95]; //zero
WORD wPort; // porta dell'host da attaccare
WORD dummy2; // zero
DWORD dwDuration; // durata dell'attacco DDoS in secondi
DWORD dwThreadsCount; //numero di flussi per l'attacco DDoS
DWORD dwType; // tipo di attacco DDoS
DWORD dwFlag; // flag supplementare, ha un valore diverso per diversi tipi di attacco
}
Поддерживаемый тип атак
Cmd | Tipo di attacco |
---|---|
0x01 | Syn Flood |
0x02 | Syn Flood |
0x03 | UDP Flood |
0x04 | Ping Flood |
0x05 | HTTP Get Flood |
Quando gli autori hanno modificato il trojan, originariamente scritto per Linux, per essere compatibile con l'SO Windows, hanno rinunciato al tipo di attacco DNS Amplification, sostituendolo con il tipo HTTP Get Flood.
Download di file
Per scaricare file, il trojan carica nella memoria la libreria urlmon.dll e ottiene l'indirizzo della funzione URLDownloadToFileA. Il link al download del file si trova alla deviazione dello zero del parametro Parameter della struttura CMD_PACKET.
Il file viene scaricato nella cartella %TEMP% e il nome di file viene formato come segue:
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);
La tua opinione conta per noi
Per fare una domanda relativa alla notizia all'amministrazione del sito, inserire @admin all'inizio del commento. Se una domanda si fa all'autore di uno dei commenti — inserire @ prima del suo nome.
Altri commenti