From: "Virus Guy" <
[email protected]>
| Is there something fundamental about accessing and processing a
| "non-loaded" registry hive that prevents third-party scanning software
| from examining and even correcting the registry hive? Are hive
| structures either so proprietary or so complex to make that task
| impossible?
All anti malware scanners presume that they are installed on the OS that is affected.
They are not designed to be used on surrogate PCs scanning hard disk of other OS'
and thus loading their respective registry hives.
| the surrogate PC.
| As they (most? all?) are written now, yes, that's how they work.
| I'm
| wondering if there are any that can operate on a known-slaved drive
| from a suspect
| machine.
NONE!
| I can't be the only one to see the value of the technique of scanning
| and
| correcting a drive that's being accessed in slave-mode, as opposed
| to one that's
| operating. I would think that ridding a drive of malware
| is best done when it's being
| accessed as a slave, just as the best way
| to repair your car is when it's parked with
| the engine turned off.
| In theory - yes. In practice, it seems that there
| is no malware that
| can detect 100% of viral/trojan binaries. So being able to remove
| the
| various mal-planted auto-run keys in a slaved registry would seem to be
| a
| desirable feature of any anti-malware application.
| So presumably when the drive
| is slaved and the "required" (but viral)
| file deleted, that at the same time if the
| reference to the file was
| removed from the slaved registry that the outcome you suggest
| would not happen. Otcome you suggest would not happen.
No it does happen, I've seen it.
The DLL would be named such as; base????32.dll (ex. basevml32.dll)
This is a SubSys trojan and with this trojan, it would be inserted into the following
registry key;
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\windows
and would become part of a DLL load chain. The name of malware DLL would be inserted ito
the registry key (such as; ServerDll=basevml32) . If you deleted the trojan by putting
the drive in a surrogate PC or by using the Recovery Console the PC would boot into a BSoD
complaining that the DLL could not be found.
Example NT Stop Error:
STOP: c0000135 {Unable To Locate Component}
This application has failed to start because basevml32 was not found.
Re-installing the application may fix this problem.
It loads via...
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\windows
Example of text in an infected PC:
-----------------------------------
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512,512
Windows=On SubSystemType=Windows ServerDll=basevml32,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off MaxRequestThreads=16
Example of correct text:
----------------------------
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512,512
Windows=On SubSystemType=Windows ServerDll=basesrv,1
ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2
ProfileControl=Off MaxRequestThreads=16
The above is a real world example taken from my notes. The ONLY way to fix it is either
copy
basesrv.dll to basevml32.dll in the Recovery Console or preferrably load the infected OS
and edit the registry and reboot then delete basevml32.dll.
I mention the above because many presume placing an affected drive in a surrogate PC is
one of the best ways to deal with removing malware that may be loaded at run-time.
However, if you do, when you run the Anti malware software it will not correct the
registry of the OS of the affected drive and may leave the OS of the affected drive
impotent. I am NOT saying placing an affected drive in a surrogate PC is not a good
methodology. I am saying that it can have drawbacks and you must be prepared for them.
An advantage of placing an affected drive in a surrogate PC is that if there is a RootKit
that employs stealth and blocks anti malware scanners running on the affected PC, running
scanners on a surrogate PC will be able to remove the malware without activity of the
RootKit's capability.
If you place an affected drive in a surrogate PC expect it ONLY to work at the file level
disk level and not affect the Registry. Once you have scanned the drived with a few good
On Demand scanners then place the drive backing to the affected PC and use MBAM and other
anti malwre scanners within the affected PC's OS to remove illegitimate registry
modifications.