Additional Details
Virut is a polymorphic appending file infector with EPO (Entry Point Obscuring) capabilities. The virus uses several infection methods:
1. The virus relocates a certain amount of bytes from the entry point of the original file and writes its initial decryptor there. So when an infected file is run, the virus code gets control first. The initial decryptor then decrypts a small part of the virus's body that is appended to the end of the infected file and passes control to it.
2. The virus appends its code to the end of the file and changes the entry point address of the original program so it points to the start of the appended viral code, where the decryptor is located. This is the most common way of infecting files for appending parasitic infectors.
3. The virus writes its initial code into a gap (empty space) in the end of the original file's code section and redirects the entry point address to that code. The initial code decrypts a small part of the virus body and passes control to it. Then the main decryptor takes control and decrypts the rest of the virus body.
The virus patches the first found API call (from the entry point address) in the original program so that instead of the API it calls the initial virus decryptor. That decryptor may be located in the end of the code section as said above.
The virus checks whether or not it is already active and if it is, depending on the infection methods described earlier, it either relocates the original file's data back to its place and passes control to it or returns control to the original file's entry point address or calls the replaced API itself and then passes control to the original program. If the virus is not yet active, the second decryptor decrypts the rest of the virus body and initiates installation cycle.
During the installation cycle the virus injects its code into a system process, hooks a few low-level Windows API calls and stays resident in memory. When a file with .EXE or .SCR extension is opened or run, the virus tries to infect it with one of its four methods.
The virus contains an IRC-based backdoor. The backdoor connects to the pre-defined IRC server (ircd.zief.pl in the last variants) and joins the "virtu" channel. The author of the virus can give commands to all or to specific bots created by the virus in the channel. The bot is quite primitive - it allows a hacker to download and run files from Internet.
Some of Virut variants contain the following text strings:
• O noon of life! O time to celebrate!
• O summer garden!
• Relentlessly happy and expectant, standing: -
• Watching all day and night, for friends I wait:
• Where are you, friends? Come! It is time! It's late!