Difference between revisions of "Exploit Methods/Kernel location"
Jump to navigation
Jump to search
m (→Mitigations) |
|||
Line 1: | Line 1: | ||
= Details = | = Details = | ||
Finding the kernel location can be an important first step for exploitation. Without it, for example, it's harder to make kernel function calls for privilege escalation. Besides the kernel itself, lots of other locations may be valuable to an attacker. See [Bug Classes/Kernel pointer leak|Kernel pointer leaks] for more information. | Finding the kernel location can be an important first step for exploitation. Without it, for example, it's harder to make kernel function calls for privilege escalation. Besides the kernel itself, lots of other locations may be valuable to an attacker. See [[Bug Classes/Kernel pointer leak|Kernel pointer leaks]] for more information. | ||
= Examples = | = Examples = |
Latest revision as of 22:55, 4 November 2015
Details
Finding the kernel location can be an important first step for exploitation. Without it, for example, it's harder to make kernel function calls for privilege escalation. Besides the kernel itself, lots of other locations may be valuable to an attacker. See Kernel pointer leaks for more information.
Examples
- See Kernel pointer leaks examples
- /proc/kallsyms, /proc/modules
- ksymhunter
Mitigations
- hide symbols and kernel pointers (see Kernel pointer leaks)
- kernel ASLR
- runtime randomization of kernel functions
- executable-but-not-readable memory
- per-build structure layout randomization (e.g. GRKERNSEC_RANDSTRUCT)