Classification

Category :

Malware

Type :

Virus

Aliases :

Rugrat, W64/Rugrat, Win64.Rugrat.a, W64.Rugrat.3344

Summary

Rugrat is a simple direct-action file infector that targets 64-bit Windows executables, 32-bit applications are not affected. This virus only infects files in the current directory of the infected executable and all of its subdirectories.

Removal

Based on the settings of your F-Secure security product, it will either move the file to the quarantine where it cannot spread or cause harm, or remove it.

A False Positive is when a file is incorrectly detected as harmful, usually because its code or behavior resembles known harmful programs. A False Positive will usually be fixed in a subsequent database update without any action needed on your part. If you wish, you may also:

  • Check for the latest database updates

    First check if your F-Secure security program is using the latest updates, then try scanning the file again.

  • Submit a sample

    After checking, if you still believe the file is incorrectly detected, you can submit a sample of it for re-analysis.

    Note: If the file was moved to quarantine, you need to collect the file from quarantine before you can submit it.

  • Exclude a file from further scanning

    If you are certain that the file is safe and want to continue using it, you can exclude it from further scanning by the F-Secure security product.

    Note: You need administrative rights to change the settings.

Technical Details

Rugrat is the first known virus that targets the 64-bit Windows platform. The size of the virus suggests that it was hand-written in IA64 assembly.

Rugrat uses the Thread Local Storage feature of Windows executables to gain execution. It adds a TLS entry to the executable which contains a callback pointer to the virus code. This has the unusual side effect that often the virus will run only after the host has exited, which is exactly opposite to the way parasitic infectors are normally activated.

The virus code is a minimal direct-action infector routine. It first imports a number of Windows API functions using checksums.

From NTDLL.DLL:

LdrGetDllHandle
RtlAddVectoredExceptionHandler
RtlRemoveVectoredExceptionHandler
 

which are used to install a Vectored Exception Handler to catch all exceptions during the infection process.

From KERNEL32.DLL the usual functions are imported:

CloseHandle
CreateFileMappingA
CreateFileW
FindClose
FindFirstFileW
FindNextFileW
GetFullPathNameW
GetTickCount
GlobalAlloc
GlobalFree
LoadLibraryA
MapViewOfFile
SetCurrentDirectoryW
SetFileAttributesW
SetFileTime
UnmapViewOfFile
 

From SFC_OS.DLL Rugrat imports the function

SfcIsFileProtected
 

which it uses to check whether the executable it tries to infect is protected by the System File Checker (SFC) service of Windows. The virus does not try to infect SFC-protected executables.

Rugrat uses a simple method of infection. It sets the last section (which is often the resources section) executable and copies itself there. A random number of zero bytes are also appended to the end of the virus body.

Rugrat contains two strings that are never displayed:

Reference to the author: 'Shrug - roy g biv'

Possibly the creation date: '06/05/04'