-
Notifications
You must be signed in to change notification settings - Fork 3
modhide
A malicious LKM may wish to hide it's presence by tampering with fields exposed via the struct module. Specifically the malicious LKM may remove itself from the list of running modules to hide from /proc/modules (and any tool based on reading that file) and remove mkobj.kobj kobject to remove itself from sysfs.
This technique is well detected if LKRG is present when the module performs these actions.
sysfs:
kobject_del(&THIS_MODULE->mkobj.kobj);
proc:
list_del_init(&THIS_MODULE.list);
Iterate through all modules checking integrity.
e.g:
if(foundmod->list.next == foundmod->list.prev)
{
// warn
}
if((foundmod->list.next == LIST_POISON1) || (foundmod->list.prev == LIST_POISON2))
{
// warn
}
Home
Techniques
LKM
--> kallsyms
--> Module Hiding
--> cr0 modification
--> sys_call_table patching
--> Chain loading
--> Function hooking
--> Hidden network traffic
--> binfmt handler
Rootkits
LKM
--> Reptile LKM
--> Diamorphine LKM
--> lilyofthevalley LKM
--> puszek-rootkit LKM
--> rkduck LKM
--> Suterusu LKM
--> Sutekh LKM
LD_PRELOAD
--> Beurk LD_PRELOAD
--> Jynx2 LD_PRELOAD