Added new hooks and updated map fields to support new sudo module.

This commit is contained in:
h3xduck
2022-02-05 13:49:20 -05:00
parent 2b50d376a6
commit 643783004a
12 changed files with 1675 additions and 1346 deletions

View File

@@ -16,9 +16,15 @@ int attach_tp_sys_exit_read(struct kit_bpf *skel){
skel->links.tp_sys_exit_read = bpf_program__attach(skel->progs.tp_sys_exit_read);
return libbpf_get_error(skel->links.tp_sys_exit_read);
}
int attach_tp_sys_enter_openat(struct kit_bpf *skel){
skel->links.tp_sys_enter_openat = bpf_program__attach(skel->progs.tp_sys_enter_openat);
return libbpf_get_error(skel->links.tp_sys_enter_openat);
}
int attach_fs_all(struct kit_bpf *skel){
return attach_tp_sys_enter_read(skel) || attach_tp_sys_exit_read(skel);
return attach_tp_sys_enter_read(skel) ||
attach_tp_sys_exit_read(skel) ||
attach_tp_sys_enter_openat(skel);
}
@@ -38,9 +44,19 @@ int detach_tp_sys_exit_read(struct kit_bpf *skel){
}
return 0;
}
int detach_tp_sys_enter_openat(struct kit_bpf *skel){
int err = detach_link_generic(skel->links.tp_sys_enter_openat);
if(err<0){
fprintf(stderr, "Failed to detach fs link\n");
return -1;
}
return 0;
}
int detach_fs_all(struct kit_bpf *skel){
return detach_tp_sys_enter_read(skel) || detach_tp_sys_exit_read(skel);
return detach_tp_sys_enter_read(skel) ||
detach_tp_sys_exit_read(skel) ||
detach_tp_sys_enter_openat(skel);
}
#endif

View File

@@ -15,7 +15,8 @@ module_config_t module_config = {
.fs_module = {
.all = ON,
.tp_sys_enter_read = OFF,
.tp_sys_exit_read = OFF
.tp_sys_exit_read = OFF,
.tp_sys_enter_openat = OFF
}
};
@@ -59,6 +60,7 @@ int setup_all_modules(){
}else{
if(config.fs_module.tp_sys_enter_read == ON) ret = attach_tp_sys_enter_read(attr.skel);
if(config.fs_module.tp_sys_exit_read == ON) ret = attach_tp_sys_exit_read(attr.skel);
if(config.fs_module.tp_sys_enter_openat == ON) ret = attach_tp_sys_enter_openat(attr.skel);
}
if(ret!=0) return -1;

View File

@@ -27,6 +27,7 @@ typedef struct module_config_t{
char all;
char tp_sys_enter_read;
char tp_sys_exit_read;
char tp_sys_enter_openat;
}fs_module;
} module_config_t;