Finding hidden kernel modules (extrem way reborn): 20 years later
by g1inko (2024)
Phrack Magazine Issue 71 Article 12
https://phrack.org/issues/71/12.html
| Notes |
|---|
| Linux kernel |
| LKM |
| LKM rootkit |
| rootkit |
| hidden kernel module |
| linked list |
| procfs |
| lsmod, rmmod |
| anti-forensics |
| LIST_POISON1, LIST_POISON2 - Kernel 2.5.71 |
| KoviD LKM |
| /sys/module |
| Volatility |
| sysfs |
| sysfs_remove_file() |
| MODULE_STATE_UNFORMED |
| __module_address() |
| rkspotter |
| module_hunter - madsys |
| module struct |
| kernel patch |
| i386, x86_64 |
| vlalloc() |
| persistence |
| MODULE_STATE_LIVE |
| MODULE_STATE_COMING |
| MODULE_STATE_GOING |
| MODULE_STATE_UNFORMED |
| brute force |
| MODULES_VADDR, MODULES_END macros |
| pgd_present() |
| p4d_present() |
| pvd_present() |
| pmd_present() |
| pte_present |
| MMU |
| mm_struct structure |
| C |
| kern_addr_valid() |
| dump_pagetable() |
| spurious_kernel_fault() |
| mm_find_pmd() |
| CONFIG_PGTABLE_LEVELS |
| CONFIG_X86_5LEVEL |
| nitara2.c |
| cleanup_module() |
| proc_create_data() |
| MODULE_LICENSE() |
| dmesg command |