Email-Worm:W32/Bagle.GE attempts to disable security related software. It also hides itself and other Bagle components using rootkit techniques.
When Bagle.GE is run, it creates a directory named 'hidires' in the user's 'Application Data' folder. It copies itself as:
The trojan also drops the following driver file to the same folder:
The trojan installs the following registry launchpoint as a string value:
Bagle.GE tries to disable several AV and other security related software.
Bagle.GE loads a kernel-mode driver (m_hook.sys) that it uses to hide itself and another Bagle related malware, Email-Worm:W32/Bagle.GF.
The driver is able to hide the following items:
When it loads it replaces the following function pointers from the system service table:
The driver is configured by the user-mode component (hidr.exe). The following data is sent to define items that will be hidden:
List of hidden processes:
List of hidden files or directories:
List of hidden registry keys:
List of hidden registry values:
The user-mode component will also send information about image names that will be considered as trusted and will not be affected by any of the hooks:
The file hiding code is somewhat limited. It is only able to hide a single file from each directory.
The NtCreateFile hook is special. Its sole purpose is to delete any security related files when they are opened. This list is also sent by the user-mode component and consists of the following items:
In addition, the driver contains code that will prevent certain security related processes and kernel-mode modules from running. However, this code is not yet in use.