Rootkit:W32/TDSS.gen!A

Classification

Category :

Malware

Type :

Rootkit

Aliases :

Rootkit:W32/TDSS.gen!A, Gen:Trojan.Heur.TDss.eu8@dyVpechi, Trojan.Win32.Agent2.fwh, Trojan:WinNT/Alureon.C (Microsoft)

Summary

Rootkit:W32/TDSS.gen!A is a generic detection that identifies malware attempting to conceal the existence of certain malicious files. The purpose of this rootkit is to maintain its launchpoints and keep them and the files hidden during runtime.

Security programs use generic detections that look for broad patterns of code or behavior to identify similar programs or files. If you suspect the file was incorrectly detected, go to: Removal: Suspect a file is incorrectly detected (a False Positive)?.

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.

Sending a sample to F-Secure

Since hidden items are often related to malware, we ask that you consider sending us a sample of the hidden files. Since the files are hidden, you might not be able to access them directly. To access the files, you might need to do one of the following:

  1. Start your computer in safe mode. In safe mode, the files may become visible. To do so, you may need to refer to the relevant Microsoft documentation for your specific operating system version.
  2. Rename the files. After renaming the files and restarting the computer, the files may become visible. In some cases, the computer must be started in safe mode after renaming for it to be successful.
  3. Reboot your system using Windows Recovery Console. The files should be accessible when using the Recovery Console.

Alternatively, users may use the following instructions:

Once obtained, the sample can be forwarded to our Labs via the Submit A Sample (SAS) page.

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

Installation

The rootkit will set hooks to the following APIs:

  • IofCallDriver
  • IofCompleteRequest
  • NtFlushInstructionCache
  • NtQueryValueKey
  • NtEnumerateKey

The hooks 'NtQueryValueKey' and 'NtEnumerateKey' render users unable to see the registry entries created by the rootkit.

Then, it creates the following registry entries:

  • HKLM\SOFTWARE\gaopdx\disallowed
  • HKLM\SOFTWARE\gaopdx\injector
  • HKLM\SOFTWARE\gaopdx\trusted
  • HKLM\SOFTWARE\gaopdx\connections
  • HKLM\SYSTEM\CurrentControlSet\Services\gaopdxserv.sys
  • HKLM\SYSTEM\ControlSet001\Services\gaopdxserv.sys
  • HKLM\SYSTEM\ControlSet002\Services\gaopdxserv.sys
  • HKLM\SYSTEM\CurrentControlSet\Services\sharedaccess\Parameters\Firewallpolicy\publicprofile enablefirewall : 0
  • HKLM\SYSTEM\CurrentControlSet\Services\Sharedaccess\Parameters\Firewallpolicy\domainprofile enablefirewall : 0
  • HKLM\SYSTEM\CurrentControlSet\Services\Sharedaccess\Parameters\Firewallpolicy\standardprofile enablefirewall : 0

And drops a driver with a random filename to system32\drivers\folder:

  • gaopdx[random].sys

A DLL is then dropped to the system32\ folder and is kept hidden:

  • gaopdx[random].dll

From that point on, any filename that contains the word 'gaopdx' at the beginning of its name will be hidden.

Activity

The rootkit uses Notify Routines to monitor and prevent the following files from running:

  • avp.exe
  • klif.sys
  • mrt.exe
  • spybotsd.exe
  • saskutil.sys
  • sasenum.sys
  • szkg.sys
  • szserver.exe

The rootkit monitors all processes and keeps the registry keys up-to-date all the time, making it impossible to get them removed. If 'Ntdll.dll' and 'Kernel32.dll' gets loaded in, it tries to inject the payload DLL if the process-name is in the injector list.

Then, it will post encrypted information to remote server with command:

  • POST /extrax.php HTTP/1.0