windowsmemorydriverkernel-modulemalware-detection

Is it posible to load a system driver from memory without it touching the filesystem directly?


Is it possible to load a signed windows driver from memory without the file ever touching the disk? If it is possible, is it trivial to achieve or are there any obstacles to overcome. To clarify, the driver may exist on the disk at some point but in an encoded state.

For example, I know that it's possible to decode a payload from memory and inject it into another running process, but since that's technically a Windows "Feature" I'm not sure whether things are as easy when you're loading things into the kernel.

If it is possible, bonus points for sources. All my search has turned up is people calling each other idiots and malware authors without actually getting into whether it's technically possible/feasable.

My use case is md5sum detection since to load drivers onto a 64 bit windows system they must be signed, and so the hash would be immutable. If you can load drivers from memory then monitoring the file system wouldn't be sufficient for my needs.


Solution

  • No, Drivers have to have an entry in the service manager to point to some bin file. this is part of the Service registry

    I know that windbg is able to replace the image of a driver, but it is from a kernel debugger using a map files