AFX Rootkit 2005 by Aphex

Post date: Sep 18, 2010 10:07:40 PM

AFX Rootkit 2005 by Aphex

This program patches Windows API to hide certain objects from being listed.

WARNING -> FOR WINDOWS NT/2000/XP/2003 ONLY!

Current Version Hides:

a) Processes

b) Handles

c) Modules

d) Files & Folders

e) Registry Keys & Values

f) Services

g) TCP/UDP Sockets

h) Systray Icons

Configuring a computer with the rootkit is simple...

1. Create a new folder with a uniqiue name i.e. "c:\winnt\rewt\"

2. In this folder place the root.exe i.e. "c:\winnt\rewt\root.exe"

3. Execute root.exe with the "/i" parameter i.e. "start c:\winnt\rewt\root.exe /i"

4. Inside this folder place any other programs or files.

Everything inside the root folder is now invisible! If you place other services or programs

in the root folder they will be invisible from process/file/dll/handle/socket/etc listing.

However, all programs in the root folder can see each other.

Registry value names are hidden differently from everything else. The name must begin with the

root folder name followed by "\" and other characters i.e. "rewt\hiddenstartup1".

Registry key names are hidden if they have the same name as the root folder i.e. "rewt".

Also, the root folder is unique throughout the system. This means "c:\rewt\", "c:\winnt\rewt\"

and "c:\winnt\system32\rewt\" all will be hidden because they all share the root folder name "rewt".

Removal:

If you install it make sure you know how to remove it!

Method 1

1. Run the root.exe with the "/u" parameter

2. Delete all the files associated with it

3. Reboot

Method 2

1. Boot into safe mode

2. Locate the service with the root folder name

3. Remove the service and delete all the files associated with it

4. Reboot

How To Properly Compile AFX Rootkit

Inside hook.dpr there is a variable...

var
szDllPath: pchar = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';

After compiling hook.dll you must open it with a hex editor and find the offset of that string of X's.

Once you find the offset you need to open root.dpr. Search for the hex number $4a54 and replace it with the new offset.

Each version of Delphi will have a different offset. The offset $4a54 is for Delphi 6. So you shouldn't need to change it if you use D6. It is always best to double check though.

Only Delphi source code is included in the archive.