Revenir vers la liste d'actualités
14 août 2014
Trojan.DnsAmp.1 est un Trojan créé par les malfaiteurs chinois afin de lancer des attaques DDoS. Il représente une version de logiciel malveillant de la famille Linux.DnsAmp compatible avec Windows, dont Doctor Web a déjà parlé au moi de mai 2014. Le Trojan se compose d'un dropper, qui place du contenu malveillant sur le disque de l'ordinateur infecté et certains fichiers, dont un qui exécute des fonctions malveillantes. Le Trojan.DnsAmp.1 peut lancer plusieurs types d'attaques DDos, à savoir : Syn Flood, UDP Flood, Ping Flood, HTTP Get Flood, ainsi que télécharger et lancer d’autres malwares sur la machine infectée.
Dropper
Lit 0x90 octets de la fin du fichier, puis les déchiffre en utilisant l'algorithme RC4 avec la clé {F918FE01-164A-4e62-9954-EDC8C3964C1B}. Les données décryptées ont la structure suivante :
struct DROP_INFO
{
char szFirstDrop[0x40]; // nom du premier fichier
DWORD dwFirstDropData; // décalage jusqu'au premier fichier
DWORD dwFirstDropSize; // taille du premier fichier
char szSecondDrop[0x40]; // nom du second fichier
DWORD dwSecondDropData; // décalage jusqu'au second fichier
DWORD dwSecondDropSize; // taille du second fichier
}
Les données de fichiers sont situées offset. "dwSecondDropData - dwFirstDropData" et "Filesize + 0x90 – dwSecondDropData". Puis le dropper décrypte les fichiers en utilisant l'algorithme RC4 avec la clé {E5A42E7E-8130-4f46-BECC-7E43235496A6} pour le premier fichier et la clé {ADAB6D32-3994-40e2-8C18-2F226306408C} pour le second. Les fichiers sont sauvegardés dans le dossier %TEMP%, puis ils sont lancés.
L'un des fichiers est le Trojan.DnsAmp.1.
Installation
Il est installé dans le système en tant que service démarré automatiquement, dont le fichier exécutable est stocké dans le dossier System32% de% sous le nom vmware-vmx.exe. Une fois lancé, il vérifie la date du système : Si elle est antérieure au 21 février 2013, le Trojan reste inactif.
Les fonctions malveillantes
Après avoir établi la connexion avec les deux serveurs de gestion, il envoie les données recueillies sur le système. Si l'ordinateur infecté tourne sous Windows 7 ou Windows NT, les données envoyées ont la structure suivante : PC_INFO_WIN7, pour les autres OS Windows - PC_INFO.
struct PC_INFO
{
DWORD signature; //"UU\t"
char szOSVersion[16]; //version du système d'exploitation
DWORD dwSpuSpeed; //vitesse du CPU en MHz
BYTE dummy[492]; //zéros
}
struct PC_INFO_WIN7
{
DWORD signature; //"UU\t"
char szOSVersion[16]; //version du système d'exploitation
BYTE dummy[48]; //zéros
DWORD dwSpuSpeed; //vitesse du CPU en MHz
BYTE dummy1[444]; //zéros
}
La valeur szOSVersion peut être la suivante :
Windows NT
Windows 7
Windows Server 2008
Windows Vista
Windows Server 2003
Windows XP
Windows Server 2000
Les données sur le trafic des interfaces réseau sont envoyées séparément. Ces données ont la structure suivante :
struct PC_INFO_NETWORK_DATA
{
DWORD signature; // "ИИ\b"
DWORD dwPacketsCount; // taille du trafic transmis
BYTE dummy[508]; //zéros
}
Il peut télécharger et exécuter d'autres applications malveillantes. Après l'envoi de données, le Trojan attend des commandes du serveur de gestion. Les packages reçus ont la structure suivante :
struct CMD_PACKET
{
DWORD Cmd; //commande
BYTE Parameter[512]; //paramètre pour l'exécution de la commande
}
Il y a trois commandes possibles :
Cmd | Commande | Commentaire |
---|---|---|
0x88 | Lancer DDoS | |
0x99 | Arrêter DDoS | La case de DDoS est décochée |
0x77798 | Télécharger et exécuter le fichier |
Si le Trojan reçoit la commande pour lancer l'attaque DDoS, il vérifie l'état de la case appropriée : Si l'attaque est en cours, la commande est ignorée.
Le paramètre de la commande DDoS a le format suivant :
struct DDOS_PARAMS
{
char szHost; // ligne С contenant l'adresse IP pour l'attaque
DWORD dummy[95]; //zéros
WORD wPort; // le port de l’hôte cible de l'attaque
WORD dummy2; // zéros
DWORD dwDuration; // durée de l'attaque DDoS en secondes
DWORD dwThreadsCount; //nombre de threads pour l'attaque DDoS
DWORD dwType; // type de l'attaque DDoS
DWORD dwFlag; // cases additionnelles dont le but dépend du type d'attaque
}
Types d'attaques supportés
Cmd | Type d'attaque |
---|---|
0x01 | Syn Flood |
0x02 | Syn Flood |
0x03 | UDP Flood |
0x04 | Ping Flood |
0x05 | HTTP Get Flood |
Lors de l'adaptation du Trojan pour Windows, les auteurs ont refusé d'utiliser des attaques DNS Amplification, en les remplaçant par un type d'attaque HTTP Get Flood.
Téléchargement de fichiers
Pour télécharger des fichiers, le Trojan charge dans la mémoire la bibliothèque urlmon.dll et reçoit l'adresse de la fonction URLDownloadToFileA. Le lien pour télécharger le fichier est à offset zéro du paramètre Parameter de la structure CMD_PACKET.
Le fichier est téléchargé dans le dossier% TEMP%, tandis que le nom du fichier est composé comme suit :
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);
Votre avis nous intéresse
Pour poser une question sur une news aux administrateurs du site, mettez @admin au début de votre commentaire. Si vous postez une question à l'attention de l'auteur d'un commentaire, mettez le symbole @.avant son nom.
Other comments