Hooking System Calls By Overriding The System Call Table Entries

CRITICAL
Source
Tracee
ID
TRC-15
Version
0.1.0
Date
10 Nov 2024

Hooking System Calls By Overriding The System Call Table Entries

Usage of kernel modules to hook system calls

MITRE ATT&CK

Persistence: Hooking system calls entries in the system-call table

Rego Policy

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package tracee.TRC_15

import data.tracee.helpers

__rego_metadoc__ := {
	"id": "TRC-15",
	"version": "0.1.0",
	"name": "Hooking system calls by overriding the system call table entries",
	"eventName": "syscall_hooking",
	"description": "Usage of kernel modules to hook system calls",
	"tags": ["linux"],
	"properties": {
		"Severity": 4,
		"MITRE ATT&CK": "Persistence: Hooking system calls entries in the system-call table",
	},
}

eventSelectors := [{
	"source": "tracee",
	"name": "hooked_syscall",
}]

tracee_selected_events[eventSelector] {
	eventSelector := eventSelectors[_]
}

tracee_match {
	input.eventName == "hooked_syscall"
}