Classification

Category :

Rootkit

Type :

-

Aliases :

Agent.p, W32/Rdriv.A, Troj/Rootkit-X, Trojan.Cachecachekit, Rootkit.Win32.Agent.p

Summary

Agent.p is a kernel-mode rootkit driver that hides processes in addition to inbound and outbound TCP connections. It has been utilized by various Sdbot and Rbot variants to hide their presence on the compromised system.

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

Agent.p is a combination of two well known open source rootkit drivers: fu and JiurlPortHide.

It is often dropped and controlled by a user-mode malware component.

The user-mode component instructs the driver to hide its process, inbound and outbound TCP connections it has opened, and the driver module itself.

Installation

Agent.p is installed by the user-mode malware component utilizing it. The user-mode component drops, installs and loads the driver. This results in one registry key:

  • HKLM\SYSTEM\CurrentControlSet\Services\[driver_name]

where [driver_name] represents the name of the driver file without the .sys extension.

often the driver has been named as "rdriv.sys".

Hiding Technique

Agent.p is able to hide the following items:

  • Processes
  • Kernel-mode modules
  • Inbound and outbound TCP connections

Process and kernel-mode module hiding is based on fu (see fu description) source code. TCP connection hiding is based on the source code of JiurlPortHide with minor modifications.

To hide TCP connections, Agent.p replaces the function pointer for the NtDeviceIoControlFile from the kernel's System Service Table with its own hook function.

The hook function filters IOCTL_TCP_QUERY_INFORMATION_EX requests to the TCP/IP driver and removes any entry where source or destination port are any of the following:

  • 445
  • 139
  • 135
  • 1433
  • 4367