Home > Threat descriptions >



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)


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.

Generic detections are broad patterns of code or behavior that are used by security software to identify programs or files. If you suspect the detected file was incorrectly identified, go to: Removal: Resolve a False Positive.


Automatic action

Once detected, the F-Secure security product will automatically handle a harmful program or file by either deleting or renaming it.

Knowledge Base

Find the latest advice in our Community Knowledge Base.

About the product

See the manual for your F-Secure product on the Help Center.

Contact Support

Chat with or call an expert for help.

Submit a sample

Submit a file or URL for further analysis.

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