Linux.OSF.8759 is a virus with enhanced backdoor capabilities that replicates on Linux systems and infects ELF executables.
The files infected by the virus have their file size increased by 8759 bytes. 3979 bytes belong to the actual virus code while the other 4662 belong to the code of a backdoor attached by the virus at the end of the file.
Although the backdoor code is copied along with the virus, it seems it appears designed in such way that it can be easily replaced with updated versions – the backdoor is not linked into the ELF structure, but is instead loaded and executed by the virus itself. Therefore improved versions of this virus, especially of the backdoor code can be expected in the future.
The virus infects all the files in the current directory, but avoids infecting files with file names ending with “ps”.
To clarify: Files with names such as “steps”, or even the popular Unix utility tool “PS” will be spared infection – as the final two lettes of their file names are “P” and “S” in sequence – “ps”.
If run from a root account the virus will also attempt to infect the files from the “/bin” system directory. In all cases no more than 201 files are infected in one run.
The backdoor found in this version of the virus is listening on the UDP port 3049, or if the respective port is not available, it will try to increase the port number until one which can be used is found. Various internal commands are available to directly execute files on the target system or to launch a sniffer and forward the traffic to the other machine. The backdoor will also attempt to edit the firewall rules list and wipe out any entries that might prevent it from communicating on the hooked port, or, on the port used to communicate with the remote machine in the case of the sniffer.
Besides the above, the virus also attempts to prevent tracing by various debugging utilities by spawning a copy of itself, and attempting to debug itself from the spawned copy. If any debugger is already running, these steps will fail, and the virus will immediately terminate execution.
Another detail is if the system uptime is 5 minutes or less, the virus will also terminate execution, probably in order to prevent simple inspection on “test” machines.