Threat description




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.


Automatic action

Once detected, the F-Secure security product will automatically disinfect the suspect file by either deleting it or renaming it.

More scanning & removal options

You can refer to General Removal Instructions for a simple guide on how to remove harmful programs.

More information on the scanning and removal options available in your F-Secure product can be found in the Help Center.

You may also refer to the Knowledge Base on the F-Secure Community site for further assistance.


If a suspicious hidden file is detected and FSAV does not immediately remove the file, there are several actions you can perform by manually selecting one of the displayed option:

  • If you don't want to do anything about the hidden item, select "None" as the action
  • If you don't want to be notified about the file in the future, select "Exclude" as the action
  • If you are sure the item is not part of a normal program, you can rename it by selecting "Rename" as the action. This will prevent the hidden program from starting in the future. You should use the "Rename" action very carefully, because renaming important files may break the computer.
Sending A Sample to F-Secure (Advanced users)

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:

  • 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.
  • 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.
  • 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 Security Labs via the Submit A Sample (SAS) page:

Technical Details


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.


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
About Generic Detections

Unlike signature or single-file detections, a Generic Detection does not identify a unique or individual malicious program. Instead, a Generic Detection looks for broadly applicable code or behavior characteristics that indicate a file as potentially malicious, so that a single Generic Detection can efficiently identify dozens, or even hundreds of malware.

For more information, please see the Generic Detections description.

Submit a Sample

Suspect a file or URL was wrongly detected? Send it to our Labs for further analysis

Submit a Sample

Give And Get Advice

Give advice. Get advice. Share the knowledge on our free discussion forum.

More Info